/* =====================================================================
   Anadolu Çevre Arıtma Sistemleri — tema stili (v2, "baselarea" tasarım dili).
   Estetik: İsviçre-modern editoryal düzen — iri, bold GROTESK tipografi,
   cömert boşluk, keskin/editoryal kartlar, yüzen pill header, scroll-reveal.
   RENK KİMLİĞİ Anadolu Çevre'ye ait kalır: lacivert (--ac-primary) +
   yeşil (--ac-accent) + beyaz/açık gri. Marka renkleri head'te panel
   ayarlarından (Setting brand.*) --ac-* değişkenlerine bağlanır; buradaki
   değerler yalnızca güvenli varsayılanlardır. Vanilla CSS, framework yok.
   ===================================================================== */

:root{
    /* marka (panelden override edilir) */
    --ac-primary:#25286A;          /* lacivert — başlıklar, koyu bölümler, birincil buton */
    --ac-accent:#6BA539;           /* yeşil — vurgu, eyebrow, ikincil buton */
    --ac-dark:#1B1F5C;             /* derin lacivert — koyu zemin */

    /* metin & yüzeyler (navy-tint monokrom + yeşil vurgu) */
    --ac-ink:#14162E;              /* neredeyse-siyah lacivert — display başlık rengi */
    --ac-ink-soft:#2c2f4d;
    --ac-body:#54586e;             /* gövde metni */
    --ac-muted:#8b8fa4;            /* ikincil / meta */
    --ac-line:#e6e7ee;             /* ince ayraç/kenarlık */
    --ac-line-strong:#d3d5e0;
    --ac-bg:#ffffff;
    --ac-bg-soft:#f5f6f9;          /* açık gri bölüm zemini */
    --ac-bg-tint:#eef0f7;          /* lacivert-tint nazik zemin */
    --ac-accent-soft:#eef6e5;      /* açık yeşil */
    --ac-accent-tint:#f4f9ee;

    /* şekil — KESKİN / editoryal */
    --ac-radius:8px;
    --ac-radius-sm:5px;
    --ac-radius-pill:999px;
    --ac-radius-panel:16px;

    --ac-shadow-sm:0 4px 18px rgba(20,22,46,.06);
    --ac-shadow:0 14px 40px rgba(20,22,46,.09);
    --ac-shadow-lg:0 34px 80px rgba(20,22,46,.16);
    --ac-shadow-nav:0 10px 34px rgba(20,22,46,.10);

    --ac-container:1280px;
    --ac-gutter:32px;
    --ac-ease:cubic-bezier(.22,.7,.24,1);
    --ac-ease-out:cubic-bezier(.16,1,.3,1);

    /* tipografi — display grotesk + temiz gövde */
    --ac-display:'Space Grotesk','Archivo','Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
    --ac-font:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
    margin:0;
    font-family:var(--ac-font);
    color:var(--ac-body);
    background:var(--ac-bg);
    font-size:17px;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--ac-primary); text-decoration:none; transition:color .2s var(--ac-ease); }
a:hover{ color:var(--ac-accent); }

/* GROTESK display başlıklar: iri, sıkı, negatif harf-arası */
h1,h2,h3,h4,h5,h6{
    font-family:var(--ac-display);
    color:var(--ac-ink);
    font-weight:700;
    line-height:1.03;
    letter-spacing:-.025em;
    margin:0 0 .5em;
    text-wrap:balance;
}
p{ margin:0 0 1.15em; }
ul,ol{ margin:0 0 1.15em; padding-left:1.2em; }
::selection{ background:var(--ac-accent); color:#fff; }
[x-cloak]{ display:none !important; }

/* ---- layout primitives --------------------------------------------- */
.ac-container{ width:100%; max-width:var(--ac-container); margin:0 auto; padding:0 var(--ac-gutter); }
.ac-section{ padding:clamp(64px,9vw,140px) 0; position:relative; }
.ac-section--soft{ background:var(--ac-bg-soft); }
.ac-section--tint{ background:var(--ac-bg-tint); }
.ac-section--tight{ padding:clamp(52px,6vw,96px) 0; }
@media(max-width:640px){ .ac-container{ padding:0 22px; } }

/* eyebrow — küçük, UPPERCASE, geniş harf-arası, yeşil */
.ac-eyebrow{
    display:inline-flex; align-items:center; gap:12px;
    font-family:var(--ac-font);
    font-size:12px; font-weight:600; letter-spacing:.22em; text-transform:uppercase;
    color:var(--ac-accent); margin:0 0 22px;
}
.ac-eyebrow::before{ content:""; width:26px; height:2px; background:var(--ac-accent); display:inline-block; }

/* section başlığı — küçük eyebrow + DEVASA title */
.ac-section-head{ max-width:820px; margin:0 0 clamp(40px,5vw,68px); }
.ac-section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.ac-section-head.center .ac-eyebrow{ justify-content:center; }
.ac-section-head.center .ac-eyebrow::after{ content:""; width:26px; height:2px; background:var(--ac-accent); display:inline-block; }
.ac-title{ font-size:clamp(2.2rem,4.6vw,4.2rem); line-height:1.0; letter-spacing:-.03em; color:var(--ac-ink); }
.ac-title-sm{ font-size:clamp(1.8rem,3.2vw,2.9rem); line-height:1.04; letter-spacing:-.028em; color:var(--ac-ink); }
.ac-lead{ font-family:var(--ac-font); font-size:clamp(1.05rem,1.4vw,1.25rem); line-height:1.6; color:var(--ac-body); margin:22px 0 0; font-weight:400; }
.ac-section-head:not(.center) .ac-lead{ max-width:640px; }

/* ---- buttons — pill, ok ikonlu, hover kayma/invert -------------------- */
.ac-btn{
    --btn-bg:var(--ac-primary); --btn-fg:#fff; --btn-bd:var(--ac-primary);
    display:inline-flex; align-items:center; gap:12px;
    padding:15px 26px; border-radius:var(--ac-radius-pill);
    font-family:var(--ac-font); font-weight:600; font-size:15px; letter-spacing:-.01em;
    background:var(--btn-bg); color:var(--btn-fg); border:1.5px solid var(--btn-bd);
    cursor:pointer; line-height:1; position:relative; overflow:hidden;
    transition:transform .35s var(--ac-ease-out), background .3s var(--ac-ease), color .3s var(--ac-ease), border-color .3s var(--ac-ease), box-shadow .3s var(--ac-ease);
}
.ac-btn span{ position:relative; z-index:1; }
.ac-btn i{ position:relative; z-index:1; font-size:.82em; transition:transform .35s var(--ac-ease-out); }
.ac-btn:hover i{ transform:translateX(5px); }
.ac-btn--primary{ --btn-bg:var(--ac-primary); --btn-fg:#fff; --btn-bd:var(--ac-primary); box-shadow:0 12px 26px rgba(37,40,106,.20); }
.ac-btn--primary:hover{ color:#fff; background:var(--ac-dark); border-color:var(--ac-dark); transform:translateY(-2px); box-shadow:0 18px 36px rgba(37,40,106,.28); }
.ac-btn--accent{ --btn-bg:var(--ac-accent); --btn-fg:#fff; --btn-bd:var(--ac-accent); box-shadow:0 12px 26px rgba(107,165,57,.26); }
.ac-btn--accent:hover{ color:#fff; background:#5c9130; border-color:#5c9130; transform:translateY(-2px); }
.ac-btn--outline{ --btn-bg:transparent; --btn-fg:var(--ac-ink); --btn-bd:var(--ac-line-strong); }
.ac-btn--outline:hover{ background:var(--ac-primary); color:#fff; border-color:var(--ac-primary); transform:translateY(-2px); }
.ac-btn--ghost{ --btn-bg:transparent; --btn-fg:#fff; --btn-bd:rgba(255,255,255,.55); }
.ac-btn--ghost:hover{ background:#fff; color:var(--ac-primary); border-color:#fff; transform:translateY(-2px); }

/* editoryal "daha fazla" bağlantısı — alt çizgi + ok kayması */
.ac-link-more{
    display:inline-flex; align-items:center; gap:9px; font-family:var(--ac-font);
    font-weight:600; font-size:15px; color:var(--ac-primary); letter-spacing:-.01em;
}
.ac-link-more i{ transition:transform .3s var(--ac-ease-out); font-size:.85em; }
.ac-link-more:hover{ color:var(--ac-accent); }
.ac-link-more:hover i{ transform:translateX(5px); }

/* ---- header — yüzen PILL nav --------------------------------------- */
.ac-header{
    position:fixed; top:0; left:0; right:0; z-index:900;
    padding:20px clamp(16px,3vw,34px) 0;
    transition:padding .35s var(--ac-ease);
}
/* En üstteyken: PILL yok — header transparan, slider görselinin üstüne biner,
   metin+logo BEYAZ. Aşağı kaydırınca .is-stuck ile smooth solid beyaz pill'e
   döner + hafif küçülür. Pill'in iç yapısı/hizası her iki durumda da korunur. */
.ac-header-in{
    display:flex; align-items:center; gap:20px;
    max-width:1120px; margin:0 auto;
    padding:12px 12px 12px 26px;
    background:transparent;
    border:1px solid transparent;
    border-radius:var(--ac-radius-pill);
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    transition:padding .35s var(--ac-ease), background .35s var(--ac-ease), border-color .35s var(--ac-ease), box-shadow .35s var(--ac-ease), backdrop-filter .35s var(--ac-ease), transform .35s var(--ac-ease);
}
.ac-header.is-stuck{ padding-top:12px; }
.ac-header.is-stuck .ac-header-in{
    background:rgba(255,255,255,.94);
    border-color:rgba(20,22,46,.06);
    box-shadow:0 14px 40px rgba(20,22,46,.14);
    backdrop-filter:blur(16px) saturate(1.4);
    -webkit-backdrop-filter:blur(16px) saturate(1.4);
    padding-top:9px; padding-bottom:9px;
    transform:scale(.985);
}
.ac-brand{ display:flex; align-items:center; flex:none; }
.ac-brand img{ max-height:62px; width:auto; transition:max-height .35s var(--ac-ease); }
.ac-header.is-stuck .ac-brand img{ max-height:52px; }
/* iki logo: üstte beyaz (light), stuck'ta renkli (dark) */
.ac-brand .ac-logo-dark{ display:none; }
.ac-header.is-stuck .ac-brand .ac-logo-light{ display:none; }
.ac-header.is-stuck .ac-brand .ac-logo-dark{ display:block; }

.ac-nav{ margin-left:auto; }
.ac-nav ul{ list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:2px; }
.ac-nav a{
    display:block; padding:9px 15px; border-radius:var(--ac-radius-pill);
    font-family:var(--ac-font); font-weight:500; font-size:14.5px; letter-spacing:-.01em;
    color:rgba(255,255,255,.92);
    transition:background .25s var(--ac-ease), color .25s var(--ac-ease);
}
.ac-nav a:hover{ background:rgba(255,255,255,.16); color:#fff; }
.ac-nav li.active > a{ color:#fff; background:rgba(255,255,255,.18); }
/* stuck: koyu metin (pill beyaz) */
.ac-header.is-stuck .ac-nav a{ color:var(--ac-ink-soft); }
.ac-header.is-stuck .ac-nav a:hover{ background:var(--ac-bg-tint); color:var(--ac-primary); }
.ac-header.is-stuck .ac-nav li.active > a{ color:var(--ac-primary); background:var(--ac-bg-tint); }

.ac-header-cta{ flex:none; }
.ac-header-cta .ac-btn{ padding:12px 22px; box-shadow:none; transition:background .3s var(--ac-ease), color .3s var(--ac-ease), border-color .3s var(--ac-ease), transform .35s var(--ac-ease-out); }
/* üst durumda CTA: cam/beyaz outline (koyu hero üstünde net görünür) */
.ac-header:not(.is-stuck) .ac-header-cta .ac-btn{ background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.55); color:#fff; }
.ac-header:not(.is-stuck) .ac-header-cta .ac-btn:hover{ background:#fff; border-color:#fff; color:var(--ac-primary); }

.ac-nav-toggle{
    display:none; margin-left:auto; width:46px; height:46px; flex:none;
    border:1px solid rgba(255,255,255,.5); border-radius:var(--ac-radius-pill);
    background:rgba(255,255,255,.12); cursor:pointer; color:#fff; font-size:18px;
    align-items:center; justify-content:center;
    transition:background .3s var(--ac-ease), border-color .3s var(--ac-ease), color .3s var(--ac-ease);
}
.ac-header.is-stuck .ac-nav-toggle{ background:#fff; border-color:var(--ac-line); color:var(--ac-ink); }
.ac-header-spacer{ display:none; }

@media(max-width:991px){
    .ac-nav-toggle{ display:inline-flex; }
    .ac-header-cta{ display:none; }
    .ac-header-in{ padding:10px 10px 10px 20px; }
    .ac-nav{
        position:fixed; inset:0 0 0 auto; width:340px; max-width:88vw; background:#fff;
        padding:104px 26px 28px; box-shadow:var(--ac-shadow-lg); transform:translateX(105%);
        transition:transform .4s var(--ac-ease-out); margin:0; overflow:auto; z-index:920;
    }
    .ac-nav.is-open{ transform:none; }
    .ac-nav ul{ flex-direction:column; align-items:stretch; gap:2px; }
    /* mobil off-canvas panel HEP beyaz — link/hover/active koyu (header durumu ne olursa olsun) */
    .ac-nav a,
    .ac-header:not(.is-stuck) .ac-nav a{ padding:15px 18px; font-size:18px; border-radius:var(--ac-radius); color:var(--ac-ink-soft); }
    .ac-nav a:hover,
    .ac-header:not(.is-stuck) .ac-nav a:hover{ background:var(--ac-bg-tint); color:var(--ac-primary); }
    .ac-nav li.active > a,
    .ac-header:not(.is-stuck) .ac-nav li.active > a{ color:var(--ac-primary); background:var(--ac-bg-tint); }
    .ac-nav-backdrop{ position:fixed; inset:0; background:rgba(20,22,46,.42); opacity:0; visibility:hidden; transition:.35s; z-index:910; backdrop-filter:blur(2px); }
    .ac-nav-backdrop.is-open{ opacity:1; visibility:visible; }
}

/* ---- hero — full-bleed görsel + taşan dev başlık -------------------- */
/* Tüm slide'lar HEP stacked (position:absolute) — aktif/pasif geçişte layout
   reflow OLMAZ, dolayısıyla "blip" yok. Slider sabit yükseklikli; geçiş saf
   crossfade (opacity). Ken Burns zoom, ayrı bir .ac-slide-bg katmanı üzerinde
   transform:scale ile yumuşak yapılır (background-size zıplaması yok). */
/* Hero DAİMA tam-genişlik (edge-to-edge) — container/side-gap yok. Slide görseli
   viewport'un tamamını kaplar; slide İÇİ metin .ac-slide-inner > .ac-container
   ile hizalı kalır. */
.ac-hero{ position:relative; width:100%; }
.ac-hero-slider{ position:relative; width:100%; min-height:min(92vh,880px); overflow:hidden; }
.ac-slide{
    position:absolute; inset:0; display:flex; align-items:flex-end;
    background:var(--ac-dark); overflow:hidden;
    opacity:0; visibility:hidden;
    transition:opacity .9s var(--ac-ease), visibility 0s linear .9s;
}
.ac-slide.is-active{ opacity:1; visibility:visible; z-index:1; transition:opacity .9s var(--ac-ease); }
/* ayrı arka-plan katmanı: JS data-bg'yi buraya yazar; sadece bu katman ölçeklenir */
.ac-slide-bg{
    position:absolute; inset:0; z-index:0;
    background:var(--ac-dark) center center / cover no-repeat;
    transform:scale(1.06); transform-origin:center;
    transition:transform 9s var(--ac-ease-out);
    will-change:transform;
}
.ac-slide.is-active .ac-slide-bg{ transform:scale(1.14); }
.ac-slide::before{
    content:""; position:absolute; inset:0; z-index:1;
    background:linear-gradient(180deg, rgba(20,22,46,.28) 0%, rgba(20,22,46,.12) 34%, rgba(20,22,46,.72) 100%),
               linear-gradient(100deg, rgba(37,40,106,.55) 0%, rgba(37,40,106,0) 62%);
}
.ac-slide-inner{ position:relative; z-index:2; padding:clamp(120px,16vh,190px) 0 clamp(56px,8vh,92px); max-width:1000px; }
.ac-slide .ac-eyebrow{ color:#bff08a; }
.ac-slide .ac-eyebrow::before{ background:#bff08a; }
.ac-slide h1{
    color:#fff; font-size:clamp(2.6rem,7vw,7rem); line-height:.98; letter-spacing:-.035em;
    font-weight:700; margin:0 0 24px; max-width:14ch;
}
.ac-slide h1 span{ color:#bff08a; }
.ac-slide p{ color:rgba(255,255,255,.92); font-size:clamp(1.05rem,1.5vw,1.35rem); line-height:1.55; max-width:600px; margin:0 0 34px; }
.ac-slide-btns{ display:flex; flex-wrap:wrap; gap:14px; }

.ac-hero-arrows{ position:absolute; bottom:38px; right:var(--ac-gutter); z-index:5; display:flex; gap:10px; }
.ac-hero-arrow{
    width:56px; height:56px; border-radius:var(--ac-radius-pill);
    border:1px solid rgba(255,255,255,.45); background:rgba(255,255,255,.08);
    color:#fff; cursor:pointer; font-size:17px; display:flex; align-items:center; justify-content:center;
    backdrop-filter:blur(6px); transition:.3s var(--ac-ease);
}
.ac-hero-arrow:hover{ background:var(--ac-accent); border-color:var(--ac-accent); transform:translateY(-2px); }
.ac-hero-dots{ position:absolute; bottom:56px; left:var(--ac-gutter); z-index:5; display:flex; gap:9px; }
.ac-hero-dots button{ width:10px; height:10px; padding:0; border:0; border-radius:var(--ac-radius-pill); background:rgba(255,255,255,.5); cursor:pointer; transition:.3s var(--ac-ease); }
.ac-hero-dots button.is-active{ width:32px; background:#fff; }
@media(max-width:991px){ .ac-hero-slider{ min-height:640px; } .ac-hero-dots{ bottom:26px; } .ac-hero-arrows{ bottom:22px; } }
@media(max-width:575px){ .ac-hero-arrows{ display:none; } }

/* ---- grids --------------------------------------------------------- */
.ac-grid{ display:grid; gap:clamp(20px,2.2vw,34px); }
.ac-grid.cols-2{ grid-template-columns:repeat(2,1fr); }
.ac-grid.cols-3{ grid-template-columns:repeat(3,1fr); }
.ac-grid.cols-4{ grid-template-columns:repeat(4,1fr); }
@media(max-width:1024px){ .ac-grid.cols-3,.ac-grid.cols-4{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px){ .ac-grid.cols-2,.ac-grid.cols-3,.ac-grid.cols-4{ grid-template-columns:1fr; } }

/* ---- editoryal proje/haber kartı ----------------------------------- */
.ac-card{
    background:#fff; border:1px solid var(--ac-line); border-radius:var(--ac-radius);
    overflow:hidden; height:100%; display:flex; flex-direction:column;
    transition:transform .4s var(--ac-ease-out), box-shadow .4s var(--ac-ease), border-color .3s var(--ac-ease);
}
.ac-card:hover{ transform:translateY(-6px); box-shadow:var(--ac-shadow-lg); border-color:var(--ac-line-strong); }
.ac-card-thumb{ position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--ac-bg-tint); display:block; }
.ac-card-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ac-ease-out); }
.ac-card:hover .ac-card-thumb img{ transform:scale(1.05); }
.ac-card-tag{
    position:absolute; top:14px; left:14px; z-index:2;
    background:rgba(255,255,255,.94); color:var(--ac-primary);
    font-family:var(--ac-font); font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
    padding:7px 13px; border-radius:var(--ac-radius-pill); backdrop-filter:blur(4px);
}
.ac-card-body{ padding:26px 26px 28px; display:flex; flex-direction:column; flex:1; }
.ac-card-body h3{ font-size:1.4rem; line-height:1.12; margin:0 0 12px; letter-spacing:-.025em; }
.ac-card-body h3 a{ color:var(--ac-ink); }
.ac-card-body h3 a:hover{ color:var(--ac-accent); }
.ac-card-body p{ color:var(--ac-body); font-size:15.5px; line-height:1.6; margin:0 0 22px; flex:1; }
.ac-card-body .ac-link-more{ margin-top:auto; }

/* ---- servis kartı (ikon) — editoryal, keskin ----------------------- */
.ac-service{
    background:#fff; border:1px solid var(--ac-line); border-radius:var(--ac-radius);
    height:100%; display:flex; flex-direction:column; position:relative; overflow:hidden;
    transition:transform .4s var(--ac-ease-out), box-shadow .4s var(--ac-ease), border-color .3s var(--ac-ease);
}
.ac-service:hover{ transform:translateY(-6px); box-shadow:var(--ac-shadow-lg); border-color:var(--ac-line-strong); }
/* Image-forward editorial thumb (the service photos are real plant shots — a
   large 16/10 cover reads far better than the old 38px icon). */
.ac-service-thumb{ position:relative; display:block; aspect-ratio:16/10; overflow:hidden; background:var(--ac-primary); }
.ac-service-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ac-ease-out); }
.ac-service:hover .ac-service-thumb img{ transform:scale(1.06); }
.ac-service-thumb::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(27,31,92,.34), transparent 55%); opacity:0; transition:opacity .4s var(--ac-ease); }
.ac-service:hover .ac-service-thumb::after{ opacity:1; }
.ac-service-body{ padding:26px 28px 30px; display:flex; flex-direction:column; flex:1; }
.ac-service h3{ font-size:1.28rem; line-height:1.18; margin:0 0 12px; letter-spacing:-.022em; }
.ac-service h3 a{ color:var(--ac-ink); }
.ac-service:hover h3 a{ color:var(--ac-primary); }
.ac-service p{ font-size:15px; line-height:1.6; color:var(--ac-body); margin:0 0 20px; flex:1; }
.ac-service .ac-link-more{ margin-top:auto; }

/* ---- değer / ilke kartı -------------------------------------------- */
.ac-value{
    background:#fff; border:1px solid var(--ac-line); border-radius:var(--ac-radius);
    padding:36px 32px; height:100%;
    transition:transform .4s var(--ac-ease-out), box-shadow .4s var(--ac-ease), border-color .3s var(--ac-ease);
}
.ac-value:hover{ transform:translateY(-5px); box-shadow:var(--ac-shadow); border-color:var(--ac-line-strong); }
.ac-value-ic{
    width:56px; height:56px; border-radius:var(--ac-radius); display:flex; align-items:center; justify-content:center;
    background:var(--ac-bg-tint); color:var(--ac-primary); font-size:22px; margin-bottom:24px;
}
.ac-value h3{ font-size:1.2rem; margin:0 0 10px; letter-spacing:-.02em; }
.ac-value p{ font-size:15px; line-height:1.6; margin:0; }

/* ---- about split --------------------------------------------------- */
.ac-split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,5vw,80px); align-items:center; }
/* Görsel girilmemiş bölümlerde tek sütun: yarım sayfayı boş bırakmak yerine
   metin tam genişliğe yayılır (bkz. sections/about.blade.php). Uzun metnin
   satır uzunluğu okunabilir kalsın diye içerik genişliği sınırlanır. */
.ac-split--single{ grid-template-columns:1fr; }
.ac-split--single .ac-split-content{ max-width:78ch; }
.ac-split.rev .ac-split-media{ order:2; }
@media(max-width:900px){ .ac-split{ grid-template-columns:1fr; gap:44px; } .ac-split.rev .ac-split-media{ order:0; } }
.ac-split-media{ position:relative; }
.ac-split-media > img{ border-radius:var(--ac-radius); width:100%; object-fit:cover; }
.ac-split-media .ac-img-2{ position:absolute; right:-22px; bottom:-28px; width:52%; border:6px solid #fff; border-radius:var(--ac-radius-sm); box-shadow:var(--ac-shadow); }
@media(max-width:900px){ .ac-split-media .ac-img-2{ position:static; width:58%; margin:16px 0 0 auto; } }
/* kurumsal marka amblemi — görselin üstüne yüzen beyaz kart */
.ac-brand-emblem{ position:absolute; left:-18px; bottom:-22px; background:#fff; border:1px solid var(--ac-line); border-radius:var(--ac-radius); box-shadow:var(--ac-shadow); padding:16px 22px; display:flex; align-items:center; }
.ac-brand-emblem img{ max-height:46px; width:auto; }
@media(max-width:900px){ .ac-brand-emblem{ left:12px; bottom:12px; padding:12px 16px; } .ac-brand-emblem img{ max-height:38px; } }
.ac-split-content .ac-title-sm{ margin-bottom:.5em; }

.ac-checklist{ list-style:none; margin:26px 0 32px; padding:0; display:grid; gap:14px; }
.ac-checklist li{ position:relative; padding-left:36px; font-weight:500; color:var(--ac-ink-soft); font-size:16px; }
.ac-checklist li::before{
    content:"\f00c"; font-family:"Font Awesome 6 Free"; font-weight:900;
    position:absolute; left:0; top:2px; width:22px; height:22px; border-radius:var(--ac-radius-pill);
    background:var(--ac-accent); color:#fff; font-size:10px; display:flex; align-items:center; justify-content:center;
}
.ac-richtext{ font-size:16.5px; line-height:1.8; color:var(--ac-body); }
.ac-richtext h2,.ac-richtext h3,.ac-richtext h4{ color:var(--ac-ink); margin:1.5em 0 .5em; }
.ac-richtext img{ border-radius:var(--ac-radius); margin:1.4em 0; }
.ac-richtext ul,.ac-richtext ol{ padding-left:1.3em; }
.ac-richtext li{ margin-bottom:.5em; }
.ac-richtext a{ color:var(--ac-accent); text-decoration:underline; text-underline-offset:3px; }

/* ---- stats band (koyu lacivert) ------------------------------------ */
.ac-stats{ position:relative; background:var(--ac-primary); color:#fff; overflow:hidden; }
/* Parıltı marka vurgu rengine bağlı: `--ac-accent` panelden gelir, böylece
   logo değişince buradaki ton da kendiliğinden uyar. Sabit yeşil rgba()
   yazılıydı; canlıda elle lacivere çevrilirken `rgba(25,21,71)` (3 argüman)
   yazıldığı için bildirim tamamen geçersiz olmuş ve parıltı kaybolmuştu. */
.ac-stats::before{ content:""; position:absolute; inset:0; background:radial-gradient(1000px 560px at 12% -30%, color-mix(in srgb, var(--ac-accent) 40%, transparent), transparent 60%); }
.ac-stats .ac-container{ position:relative; z-index:2; }
.ac-stats .ac-eyebrow{ color:#bff08a; }
.ac-stats .ac-eyebrow::before,.ac-stats .ac-eyebrow::after{ background:#bff08a; }
.ac-stats .ac-title{ color:#fff; }
.ac-stat{ text-align:center; padding:14px; }
.ac-stat-value{ font-family:var(--ac-display); font-size:clamp(2.6rem,4.6vw,4rem); font-weight:700; line-height:1; color:#fff; letter-spacing:-.04em; }
.ac-stat-value span{ color:#bff08a; }
.ac-stat-label{ margin-top:14px; font-size:15px; color:rgba(255,255,255,.82); font-weight:400; }

/* ---- CTA band ------------------------------------------------------ */
.ac-cta{ position:relative; background:linear-gradient(120deg,var(--ac-dark),var(--ac-primary)); border-radius:var(--ac-radius-panel); padding:clamp(44px,5vw,72px); color:#fff; overflow:hidden; }
.ac-cta::after{ content:""; position:absolute; right:-70px; top:-70px; width:300px; height:300px; border-radius:50%; background:rgba(107,165,57,.24); }
.ac-cta::before{ content:""; position:absolute; left:-40px; bottom:-90px; width:220px; height:220px; border-radius:50%; background:rgba(255,255,255,.05); }
.ac-cta-in{ position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:44px; flex-wrap:wrap; }
.ac-cta h2{ color:#fff; font-size:clamp(1.7rem,3vw,2.8rem); line-height:1.05; letter-spacing:-.03em; margin:0 0 12px; }
.ac-cta p{ color:rgba(255,255,255,.9); margin:0; max-width:540px; font-size:1.05rem; }
.ac-cta-actions{ display:flex; flex-direction:column; gap:14px; align-items:flex-start; }
.ac-cta-phone{ font-family:var(--ac-display); font-size:22px; font-weight:600; color:#fff; display:inline-flex; align-items:center; gap:10px; letter-spacing:-.02em; }
.ac-cta-phone i{ color:#bff08a; }

/* ---- inner page heading -------------------------------------------- */
.ac-page-head{ position:relative; background:var(--ac-dark) center/cover no-repeat; padding:clamp(140px,17vh,210px) 0 clamp(56px,7vw,84px); color:#fff; overflow:hidden; }
.ac-page-head::before{ content:""; position:absolute; inset:0; background:linear-gradient(120deg, rgba(20,22,46,.92), rgba(37,40,106,.68)); }
.ac-page-head::after{ content:""; position:absolute; right:-80px; top:-80px; width:360px; height:360px; border-radius:50%; background:radial-gradient(circle, rgba(107,165,57,.28), transparent 70%); }
.ac-page-head .ac-container{ position:relative; z-index:2; }
.ac-page-head h1{ color:#fff; font-size:clamp(2.2rem,5vw,4.4rem); line-height:1.0; letter-spacing:-.035em; margin:0 0 16px; max-width:16ch; }
.ac-breadcrumb{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; font-family:var(--ac-font); font-size:13.5px; letter-spacing:.02em; color:rgba(255,255,255,.72); margin-bottom:22px; }
.ac-breadcrumb a{ color:rgba(255,255,255,.85); }
.ac-breadcrumb a:hover{ color:#bff08a; }
.ac-breadcrumb .sep{ opacity:.5; }

/* ---- filter pills -------------------------------------------------- */
.ac-filters{ display:flex; flex-wrap:wrap; gap:10px; }
.ac-pill{ padding:10px 20px; border-radius:var(--ac-radius-pill); border:1.5px solid var(--ac-line-strong); background:#fff; font-family:var(--ac-font); font-size:14px; font-weight:500; color:var(--ac-body); transition:.25s var(--ac-ease); }
.ac-pill:hover{ border-color:var(--ac-primary); color:var(--ac-primary); }
.ac-pill.is-active{ background:var(--ac-primary); border-color:var(--ac-primary); color:#fff; }

/* ---- pagination ---------------------------------------------------- */
.ac-pagination{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:60px; }
.ac-pagination a,.ac-pagination span{ min-width:46px; height:46px; padding:0 14px; display:inline-flex; align-items:center; justify-content:center; border-radius:var(--ac-radius); border:1.5px solid var(--ac-line-strong); background:#fff; font-family:var(--ac-font); font-weight:600; color:var(--ac-ink); }
.ac-pagination a:hover{ border-color:var(--ac-primary); color:var(--ac-primary); }
.ac-pagination .is-current{ background:var(--ac-primary); border-color:var(--ac-primary); color:#fff; }
.ac-pagination .is-disabled{ opacity:.4; }

/* ---- detail meta / project table ----------------------------------- */
.ac-detail{ display:grid; grid-template-columns:1fr 360px; gap:clamp(40px,4.5vw,64px); align-items:start; }
@media(max-width:900px){ .ac-detail{ grid-template-columns:1fr; gap:40px; } }
.ac-detail-cover{ border-radius:var(--ac-radius); overflow:hidden; margin-bottom:34px; }
.ac-detail-cover img{ width:100%; max-height:540px; object-fit:cover; }
.ac-meta-card{ background:var(--ac-bg-soft); border:1px solid var(--ac-line); border-radius:var(--ac-radius); padding:32px; position:sticky; top:120px; }
.ac-meta-card h3{ font-size:1.15rem; margin:0 0 20px; letter-spacing:-.02em; }
.ac-meta-list{ list-style:none; margin:0; padding:0; }
.ac-meta-list li{ display:flex; justify-content:space-between; gap:16px; padding:13px 0; border-bottom:1px solid var(--ac-line); font-size:15px; }
.ac-meta-list li:last-child{ border-bottom:0; }
.ac-meta-list .k{ color:var(--ac-muted); font-weight:500; }
.ac-meta-list .v{ color:var(--ac-ink); font-weight:600; text-align:right; }

/* ---- gallery / lightbox ------------------------------------------- */
.ac-gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:34px; }
@media(max-width:640px){ .ac-gallery{ grid-template-columns:repeat(2,1fr); } }
.ac-gallery button{ padding:0; border:0; border-radius:var(--ac-radius); overflow:hidden; cursor:pointer; background:var(--ac-bg-tint); aspect-ratio:4/3; }
.ac-gallery img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ac-ease-out), opacity .3s; }
.ac-gallery button:hover img{ transform:scale(1.06); opacity:.92; }
.ac-lightbox{ position:fixed; inset:0; z-index:1000; background:rgba(14,16,40,.92); display:none; align-items:center; justify-content:center; padding:28px; backdrop-filter:blur(4px); }
.ac-lightbox.is-open{ display:flex; }
.ac-lightbox img{ max-width:min(1000px,92vw); max-height:86vh; border-radius:var(--ac-radius); object-fit:contain; }
.ac-lightbox button{ position:absolute; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.4); color:#fff; width:52px; height:52px; border-radius:var(--ac-radius-pill); cursor:pointer; font-size:19px; transition:.25s var(--ac-ease); }
.ac-lightbox button:hover{ background:var(--ac-accent); border-color:var(--ac-accent); }
.ac-lightbox .lb-close{ top:26px; right:26px; }
.ac-lightbox .lb-prev{ left:26px; top:50%; transform:translateY(-50%); }
.ac-lightbox .lb-next{ right:26px; top:50%; transform:translateY(-50%); }

/* ---- forms --------------------------------------------------------- */
.ac-form-wrap{ background:#fff; border:1px solid var(--ac-line); border-radius:var(--ac-radius); padding:clamp(28px,3vw,42px); box-shadow:var(--ac-shadow-sm); }
.ac-form-wrap h3{ letter-spacing:-.02em; }
.ac-form .ac-field{ margin-bottom:18px; }
.ac-form label{ display:block; font-family:var(--ac-font); font-weight:600; font-size:13.5px; color:var(--ac-ink); margin-bottom:8px; letter-spacing:.01em; }
.ac-form label .req{ color:#d64545; }
.ac-form input[type=text],.ac-form input[type=email],.ac-form input[type=tel],.ac-form input[type=number],.ac-form input[type=date],.ac-form textarea,.ac-form select{
    width:100%; border:1.5px solid var(--ac-line-strong); border-radius:var(--ac-radius-sm); padding:14px 16px; font:inherit; font-size:15px; color:var(--ac-ink); background:#fff;
    transition:border-color .2s var(--ac-ease), box-shadow .2s var(--ac-ease);
}
.ac-form input:focus,.ac-form textarea:focus,.ac-form select:focus{ outline:0; border-color:var(--ac-accent); box-shadow:0 0 0 4px rgba(107,165,57,.14); }
.ac-form textarea{ min-height:140px; resize:vertical; }
.ac-form .ac-check{ display:flex; align-items:flex-start; gap:10px; font-weight:400; color:var(--ac-body); font-size:14.5px; }
.ac-form .ac-check input{ margin-top:4px; }
.ac-form .ac-err{ color:#d64545; font-size:13px; margin-top:6px; }
.ac-form button[type=submit],.ac-form .ac-btn{ width:auto; }
.ac-alert{ border-radius:var(--ac-radius-sm); padding:15px 18px; font-size:15px; margin-bottom:22px; }
.ac-alert--ok{ background:var(--ac-accent-soft); border:1px solid #c7e2ac; color:#3f6b1f; }
.ac-hp{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }

/* ---- contact page -------------------------------------------------- */
.ac-contact-layout{ display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(28px,3.4vw,52px); align-items:start; }
@media(max-width:900px){ .ac-contact-layout{ grid-template-columns:1fr; gap:36px; } }

.ac-contact-info{ display:flex; flex-direction:column; gap:22px; }
.ac-contact-cards{ display:grid; gap:14px; }
.ac-contact-card{ display:flex; gap:18px; align-items:flex-start; background:#fff; border:1px solid var(--ac-line); border-radius:var(--ac-radius); padding:22px 24px; transition:transform .3s var(--ac-ease-out), box-shadow .3s var(--ac-ease), border-color .3s var(--ac-ease); }
.ac-contact-card:hover{ box-shadow:var(--ac-shadow); transform:translateY(-3px); border-color:var(--ac-line-strong); }
.ac-contact-card .ic{ flex:none; width:52px; height:52px; border-radius:var(--ac-radius); background:var(--ac-accent-soft); color:var(--ac-accent); display:flex; align-items:center; justify-content:center; font-size:20px; }
.ac-contact-card-body{ min-width:0; }
.ac-contact-label{ display:block; font-family:var(--ac-font); font-size:11.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--ac-muted); margin-bottom:5px; }
.ac-contact-card p,.ac-contact-card a{ margin:0; color:var(--ac-ink-soft); font-size:15.5px; line-height:1.5; font-weight:500; word-break:break-word; }
.ac-contact-card a:hover{ color:var(--ac-accent); }
.ac-contact-actions{ display:flex; flex-wrap:wrap; gap:12px; }
.ac-contact-actions .ac-btn{ flex:1 1 auto; justify-content:center; }

.ac-contact-form .ac-form-wrap{ box-shadow:var(--ac-shadow); }

.ac-map{ margin-top:clamp(40px,5vw,64px); border-radius:var(--ac-radius); overflow:hidden; border:1px solid var(--ac-line); box-shadow:var(--ac-shadow-sm); }
.ac-map iframe{ display:block; width:100%; height:clamp(360px,42vw,480px); border:0; }

/* ---- footer (koyu lacivert) ---------------------------------------- */
.ac-footer{ background:var(--ac-dark); color:rgba(255,255,255,.68); padding:clamp(60px,7vw,90px) 0 0; }
.ac-footer h4{ font-family:var(--ac-font); color:#fff; font-size:13px; letter-spacing:.14em; text-transform:uppercase; margin:0 0 24px; font-weight:600; }
.ac-footer-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.3fr; gap:44px; padding-bottom:clamp(44px,5vw,64px); }
@media(max-width:900px){ .ac-footer-grid{ grid-template-columns:1fr 1fr; gap:40px; } }
@media(max-width:560px){ .ac-footer-grid{ grid-template-columns:1fr; } }
.ac-footer-brand img{ max-height:68px; margin-bottom:22px; }
/* Slogan, logonun render genişliğine hizalanır (720x171 logo @ max-height:68px
   => 286px). Önceki 340px logodan geniş olduğu için iki blok hizasız duruyordu. */
.ac-footer-brand p{ font-size:15px; line-height:1.65; max-width:286px; }
.ac-footer ul{ list-style:none; margin:0; padding:0; }
.ac-footer li{ margin-bottom:13px; }
.ac-footer a{ color:rgba(255,255,255,.68); font-size:15px; }
.ac-footer a:hover{ color:#bff08a; }
.ac-footer-contact li{ display:flex; gap:13px; align-items:flex-start; }
/* Adres/e-posta metni de logo genişliğiyle aynı ölçüde tutulur; uzun adres bu
   genişlikte doğal olarak alt satırlara bölünür. */
.ac-footer-contact li span,
.ac-footer-contact li a{ max-width:250px; }
.ac-footer-contact i{ color:var(--ac-accent); margin-top:4px; flex:0 0 auto; }
.ac-social{ display:flex; gap:10px; margin-top:22px; }
.ac-social a{ width:44px; height:44px; border-radius:var(--ac-radius); display:flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.16); color:#fff; font-size:15px; transition:.3s var(--ac-ease); }
.ac-social a:hover{ background:var(--ac-accent); border-color:var(--ac-accent); color:#fff; transform:translateY(-3px); }
.ac-footer-bottom{ border-top:1px solid rgba(255,255,255,.1); padding:24px 0; }
.ac-footer-bottom .ac-container{ display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; align-items:center; font-size:13.5px; }

/* ---- whatsapp float ------------------------------------------------ */
.ac-wa{ position:fixed; right:22px; bottom:22px; z-index:800; width:58px; height:58px; border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; font-size:28px; box-shadow:0 12px 30px rgba(0,0,0,.25); transition:transform .3s var(--ac-ease-out); }
.ac-wa:hover{ transform:scale(1.08); color:#fff; }

/* ---- scroll reveal (fade-up + mask) -------------------------------- */
.reveal{ opacity:0; transform:translateY(30px); transition:opacity .8s var(--ac-ease-out), transform .8s var(--ac-ease-out); will-change:opacity,transform; }
.reveal.is-visible{ opacity:1; transform:none; }
.reveal[data-delay="1"]{ transition-delay:.09s; }
.reveal[data-delay="2"]{ transition-delay:.18s; }
.reveal[data-delay="3"]{ transition-delay:.27s; }
.reveal[data-delay="4"]{ transition-delay:.36s; }
.reveal[data-delay="5"]{ transition-delay:.45s; }
@media(prefers-reduced-motion:reduce){
    /* Scroll-reveal, hero autoplay and stat counters are an explicit,
       owner-requested part of this site's identity, so they stay on even
       under the OS "reduce motion" setting (the JS no longer gates them). */
    html{ scroll-behavior:auto; }
    .ac-slide h1,.ac-page-head h1{ text-wrap:initial; }
}

/* ---- empty / back -------------------------------------------------- */
.ac-empty{ text-align:center; padding:90px 20px; color:var(--ac-muted); }
.ac-empty i{ font-size:46px; color:var(--ac-line-strong); margin-bottom:18px; }
.ac-back{ display:inline-flex; align-items:center; gap:9px; font-family:var(--ac-font); font-weight:600; font-size:15px; color:var(--ac-primary); margin-bottom:28px; }
.ac-back i{ transition:transform .3s var(--ac-ease-out); }
.ac-back:hover{ color:var(--ac-accent); }
.ac-back:hover i{ transform:translateX(-4px); }

/* home_about — başlık üstü marka işareti (sections/home_about.blade.php).
   `brand.logo` boşsa blok hiç basılmaz. */
.ac-about-brandmark{ margin-bottom:16px; }
.ac-about-brandmark img{ max-width:210px; width:100%; height:auto; display:block; }
@media (max-width:575px){ .ac-about-brandmark img{ max-width:170px; } }

/* home_about görseli marka logosu olarak kullanılıyor (yatay, geniş oran);
   sütuna yayılınca devasa duruyordu — okunur bir boyuta sabitlenip ortalanır. */
.ac-section .ac-split-media > img{ max-width:420px; margin:0 auto; }
@media (max-width:900px){ .ac-section .ac-split-media > img{ max-width:340px; } }
