:root{
  --bg:#faf6fc;
  --bg-alt:#f2e7f6;
  --ink:#1f1523;
  --ink-soft:#695d70;
  --rose:#8100b5;
  --rose-deep:#6a0096;
  --rose-soft:#c46de8;
  --gold:#a933d4;
  --line:#e7daec;
  --white:#ffffff;
  --shadow:0 24px 60px -20px rgba(40,5,55,.28);
  --serif:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --sans:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.7;font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.12;letter-spacing:.01em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.eyebrow{font-family:var(--sans);font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--rose-deep);font-weight:500}
.eyebrow.center{display:inline-flex;align-items:center;gap:14px}
.eyebrow.center::before,.eyebrow.center::after{content:"";width:30px;height:1px;background:var(--rose)}
.btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--sans);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;padding:1.05em 2.1em;border-radius:2px;transition:.35s ease;cursor:pointer;border:1px solid transparent}
.btn-rose{background:var(--rose);color:#fff}
.btn-rose:hover{background:var(--rose-deep);transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(106,0,150,.55)}
.btn-ghost{border-color:rgba(255,255,255,.5);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn-outline{border-color:var(--rose);color:var(--rose-deep)}
.btn-outline:hover{background:var(--rose);color:#fff}

.reveal{opacity:0;transform:translateY(34px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}

/* ===== HEADER / LOGO ===== */
header{position:fixed;top:0;left:0;right:0;z-index:100;transition:.4s ease;padding:20px 0}
header.scrolled{background:rgba(250,246,245,.94);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line);padding:12px 0}
#header>.wrap{max-width:none;padding:0 clamp(24px,4vw,64px)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav .brand{flex:none}
.brand{display:flex;align-items:center;gap:15px;color:#fff;transition:color .4s}
header.scrolled .brand{color:var(--ink)}
.brand .rule{width:2px;height:40px;flex:none;background:linear-gradient(var(--rose-soft),var(--rose));border-radius:2px}
.brand .b-txt{display:flex;flex-direction:column;line-height:1.08}
.brand .nm{font-family:var(--sans);font-size:1rem;letter-spacing:.09em;font-weight:600;text-transform:uppercase}
.brand .sub{font-family:var(--sans);font-size:.605rem;letter-spacing:.22em;text-transform:uppercase;margin-top:5px;opacity:.82}
.menu{display:flex;gap:25px;align-items:center}
.menu a,.menu button.trigger{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;transition:.3s;position:relative;font-weight:400}
header.scrolled .menu a,header.scrolled .menu button.trigger{color:var(--ink-soft)}
.menu a:not(.navcta)::after,.menu button.trigger::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--rose);transition:.3s}
.menu a:not(.navcta):hover::after,.menu button.trigger:hover::after{width:100%}
.menu a:hover,.menu button.trigger:hover{color:var(--rose)}
.navlink.soon{cursor:default}
.has-sub{display:inline-flex;align-items:center;gap:7px}
.caret{width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-top:-3px;opacity:.7}
.nav-badge{display:inline-block;margin-left:6px;padding:2px 6px;font-size:.56rem;font-weight:700;letter-spacing:.1em;line-height:1;text-transform:uppercase;color:#fff;background:var(--rose);border-radius:3px;vertical-align:middle}
.menu a.navlink:hover .nav-badge{background:var(--rose-deep)}
.navcta{border:1px solid rgba(255,255,255,.55);padding:.7em 1.4em;border-radius:2px}
header.scrolled .navcta{border-color:var(--rose);color:var(--rose)}
.navcta:hover{background:var(--rose);color:#fff!important;border-color:var(--rose)}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px}
.burger span{width:26px;height:2px;background:#fff;transition:.3s}
header.scrolled .burger span{background:var(--ink)}
/* Mega menü başlıkları gerçek bir hedefe gitmediği için <a> değil <button>.
   Butonun tarayıcı varsayılanlarını sıfırlayıp navlink görünümünü koruyoruz. */
.menu .trigger{cursor:pointer;background:none;border:0;padding:0;margin:0;font-family:inherit;text-align:left;-webkit-appearance:none;appearance:none}
.menu .trigger:focus-visible{outline:2px solid var(--rose);outline-offset:4px}
.mega-item{position:static}
/* mega panel */
.mega{position:absolute;left:0;right:0;top:100%;background:var(--white);border-top:1px solid var(--line);box-shadow:0 30px 60px -24px rgba(40,5,55,.3);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease,visibility .3s;padding:0}
.mega-item:hover .mega{opacity:1;visibility:visible;transform:none}
.mega-item:hover .trigger{color:var(--rose)}
.mega-grid{max-width:1720px;margin:0 auto;padding:38px max(28px,calc((100vw - 1720px)/2 + 44px));display:flex;gap:44px;align-items:stretch}
.mega-feature{position:relative;flex:0 0 244px;border-radius:8px;overflow:hidden;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;padding:26px;min-height:308px;color:#fff;transition:.4s}
.mega-feature::after{display:none}
.mega-feature .mf-k{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--rose-soft)}
.mega-feature .mf-t{font-family:var(--serif);font-size:1.5rem;line-height:1.16;margin-top:8px;color:#fff}
.mega-feature .mf-a{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-top:14px;opacity:.92}
/* Solid/scrolled header darkens .menu a — keep the feature card text light on all pages */
header.scrolled .menu a.mega-feature,header.solid .menu a.mega-feature{color:#fff}
.mega-feature:hover{transform:translateY(-3px)}
.mega-cols{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:34px}
.mega-cols.cols3{grid-template-columns:repeat(3,1fr)}
.mega-col{display:flex;flex-direction:column}
.mega-col a{font-size:.86rem;letter-spacing:.01em;text-transform:none;color:var(--ink-soft);padding:5.5px 0;transition:.25s;font-weight:300}
.mega-col a:hover{color:var(--rose);transform:translateX(5px)}
.mega-col a::after{display:none}
.mega-h{display:flex;align-items:center;gap:9px;font-family:var(--serif);font-size:1.22rem;color:var(--ink);font-weight:500;margin-bottom:13px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.mega-h svg{width:20px;height:20px;color:var(--rose);flex:none}
/* Kolon başlığı artık kategorinin hub sayfasına giden bir <a>. Genel ".menu a" ve
   "header.solid/.scrolled .menu a" kuralları rengi/boyutu ezmesin diye özgüllük yüksek. */
header .menu .mega-col a.mega-h{font-size:1.22rem;line-height:1.25;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:500;padding:0 0 12px}
header .menu .mega-col a.mega-h:hover{color:var(--rose);transform:none}
header .menu .mega-col a.mega-h::after{display:none}
/* "Tümünü gör →" — kolonun en altına yaslanır, kolonlar farklı uzunlukta olsa da hizalı durur */
header .menu .mega-col a.mega-all{margin-top:auto;padding:14px 0 0;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--rose-deep)}
header .menu .mega-col a.mega-all:hover{color:var(--rose);transform:none}
header .menu .mega-col a.mega-all::after{display:none}
header .menu .mega-col a.mega-all span{display:inline-block;transition:transform .25s}
header .menu .mega-col a.mega-all:hover span{transform:translateX(4px)}
.mega-foot{border-top:1px solid var(--line);background:var(--bg);padding:16px max(28px,calc((100vw - 1720px)/2 + 44px));display:flex;align-items:center;justify-content:space-between;gap:20px}
.mega-foot span{font-size:.86rem;color:var(--ink-soft)}
.mega-foot .mf-phone{display:inline-flex;align-items:center;gap:8px;font-size:1rem;font-weight:500;color:var(--rose-deep);letter-spacing:.02em}
.mega-foot .mf-phone svg{color:var(--rose)}
.mega-foot .mf-phone:hover{color:var(--rose)}
.mega-foot .mf-phone::after{display:none}

/* ===== HERO ===== */
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-start;color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:
   radial-gradient(110% 120% at 80% 100%,rgba(129,0,181,.35),transparent 55%),
   linear-gradient(120deg,#1f1523 0%,#362a3d 55%,#180f1d 100%)}
.hero-bg::before{content:"";position:absolute;inset:0;opacity:.05;background-image:radial-gradient(circle at 1px 1px,#fff 1px,transparent 0);background-size:34px 34px}
.hero-orb{position:absolute;border-radius:50%;filter:blur(36px);opacity:.55;background:radial-gradient(circle at 35% 30%,rgba(196,109,232,.4),rgba(129,0,181,.03) 70%);animation:float 14s ease-in-out infinite;width:190px;height:190px;top:-60px;left:-50px;pointer-events:none}
@keyframes float{0%,100%{transform:translateY(0) translateX(0)}50%{transform:translateY(-26px) translateX(16px)}}
.hero .wrap{position:relative;z-index:2;width:100%}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center;padding-top:150px;padding-bottom:44px}
.hero .eyebrow{color:var(--rose-soft);display:inline-flex;align-items:center;gap:8px}
.hero h1{font-size:clamp(1.9rem,4vw,3.2rem);margin:22px 0 8px;font-weight:700}
.hero h1 em{font-style:italic;color:var(--rose-soft)}
.hero .lede{font-size:1.14rem;font-weight:300;max-width:520px;color:rgba(255,255,255,.82);margin-bottom:36px}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap}
.hero-trust{display:flex;gap:24px;flex-wrap:wrap;margin-top:26px}
.hero-trust span{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;letter-spacing:.04em;color:rgba(255,255,255,.72)}
.hero-trust svg{color:var(--rose-soft)}
/* vertical social rail */
.hero-rail{position:absolute;left:34px;bottom:34px;z-index:5;display:flex;flex-direction:column;align-items:center;gap:18px;color:rgba(255,255,255,.7)}
.hero-rail .rl{writing-mode:vertical-rl;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:6px}
.hero-rail a{transition:.3s;color:rgba(255,255,255,.7)}
.hero-rail a:hover{color:var(--rose-soft);transform:translateY(-2px)}
.hero-rail .rl-line{width:1px;height:44px;background:linear-gradient(rgba(255,255,255,.4),transparent)}
/* portrait badge */
/* Rozet portrenin sağ üstünde durur; right/top dışa+yukarı ayarlı ki
   kutu doktorun başına değmesin (bkz. -24px: 1025px'te bile kırpılmaz). */
.hero-badge{position:absolute;z-index:3;right:-24px;top:10%;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);padding:14px 18px;border-radius:6px;box-shadow:0 18px 40px -16px rgba(0,0,0,.5);text-align:left}
.hero-badge .stars{color:var(--gold);font-size:.86rem;letter-spacing:2px}
.hero-badge .bt{font-family:var(--serif);font-size:1.1rem;color:var(--ink);line-height:1.1;margin-top:3px}
.hero-badge .bs{font-size:.62rem;color:var(--ink-soft);margin-top:2px}
.hero-stats{display:flex;gap:0;margin-top:52px;flex-wrap:wrap}
.hstat{padding-right:36px;margin-right:36px;border-right:1px solid rgba(255,255,255,.16)}
.hstat:last-child{border:none;margin-right:0;padding-right:0}
.hstat .n{font-family:var(--serif);font-size:2.5rem;color:var(--rose-soft);line-height:1}
.hstat .l{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-top:8px}
.hero-portrait{position:relative;align-self:end;display:flex;justify-content:center;align-items:flex-end;min-height:70vh}
.hero-portrait .halo{position:absolute;bottom:6%;width:115%;max-width:560px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(196,109,232,.4),rgba(129,0,181,.06) 62%,transparent 70%)}
.hero-portrait .arc{position:absolute;bottom:0;width:96%;max-width:480px;aspect-ratio:.82;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(129,0,181,.16));border:1px solid rgba(196,109,232,.28);border-radius:50% 50% 10px 10px;transform:translateX(16px)}
.hero-portrait img{position:relative;z-index:2;width:96%;max-width:480px;aspect-ratio:.82;object-fit:cover;object-position:center 18%;padding:9px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(129,0,181,.2));border:1px solid rgba(196,109,232,.4);border-radius:50% 50% 10px 10px;box-shadow:0 30px 50px rgba(0,0,0,.45)}
.hero-tag{position:absolute;z-index:3;left:50%;transform:translateX(-50%);bottom:6%;width:max-content;text-align:center;background:rgba(33,28,29,.78);backdrop-filter:blur(8px);border:1px solid rgba(196,109,232,.3);padding:14px 20px;border-radius:4px}
.hero-tag .t{font-family:var(--serif);font-size:1.4rem;color:#fff;line-height:1}
.hero-tag .s{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--rose-soft);margin-top:5px}
.scroll-hint{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:4;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.5);display:flex;flex-direction:column;align-items:center;gap:9px}
.scroll-hint span{width:1px;height:40px;background:linear-gradient(var(--rose-soft),transparent);animation:drop 2s ease-in-out infinite}
@keyframes drop{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}50.1%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ===== TRUST BAR ===== */
.trust{background:var(--white);border-bottom:1px solid var(--line);padding:38px 0}
.trust-in{display:flex;align-items:center;justify-content:center;gap:54px;flex-wrap:wrap}
.trust .lbl{font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-soft)}
.trust .logos{display:flex;align-items:center;gap:40px;flex-wrap:wrap}
.trust .logos .item{display:flex;align-items:center;gap:12px;filter:grayscale(1);opacity:.6;transition:.4s}
.trust .logos .item:hover{filter:none;opacity:1}
.trust .logos img{height:52px;width:auto}
.trust .logos .nm{font-size:.78rem;letter-spacing:.04em;color:var(--ink-soft);max-width:130px;line-height:1.3}

/* ===== SECTION COMMON ===== */
.sec{padding:120px 0}
.sec-head{max-width:680px;margin:0 auto 70px;text-align:center}
.sec-head h2{font-size:clamp(2.2rem,4.5vw,3.4rem);margin:18px 0 16px}
.sec-head p{color:var(--ink-soft);font-size:1.05rem}

/* intro */
.intro{background:var(--white)}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.intro-portrait{position:relative}
.intro-portrait .frame{aspect-ratio:4/5;border-radius:6px;overflow:hidden;position:relative;background:#1f1523;box-shadow:var(--shadow)}
.intro-portrait .frame img{width:100%;height:100%;object-fit:cover}
.intro-portrait .frame::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,transparent 55%,rgba(129,0,181,.25))}
.intro-portrait .badge{position:absolute;bottom:-26px;right:-20px;background:var(--ink);color:#fff;padding:24px 28px;border-radius:4px;text-align:center;box-shadow:0 20px 40px rgba(0,0,0,.18);z-index:2}
.intro-portrait .badge .n{font-family:var(--serif);font-size:2.2rem;color:var(--rose-soft);line-height:1}
.intro-portrait .badge .l{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;margin-top:6px;opacity:.85}
.intro h2{font-size:clamp(1.5rem,3vw,2.2rem);margin:16px 0 22px}
.intro p{color:var(--ink-soft);margin-bottom:18px}
.intro .sign{font-family:var(--serif);font-style:italic;font-size:1.6rem;color:var(--ink);margin-top:24px}
.creds{display:flex;gap:10px;flex-wrap:nowrap;margin-top:30px}
.creds span{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--rose-deep);border:1px solid var(--line);padding:.6em .9em;border-radius:2px}

/* services */
.services{background:var(--bg)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);background:var(--white)}
.svc{padding:48px 40px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.4s ease;position:relative;overflow:hidden}
.svc:nth-child(3n){border-right:none}
.svc::before{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:var(--rose);transform:scaleY(0);transform-origin:bottom;transition:.4s}
.svc:hover{background:var(--bg-alt)}
.svc:hover::before{transform:scaleY(1)}
.svc .top{display:flex;align-items:flex-start;justify-content:space-between}
.svc .ic{width:44px;height:44px;margin-bottom:22px;color:var(--rose)}
.svc .no{font-family:var(--serif);font-size:1.5rem;color:var(--line);font-style:italic;transition:.4s}
.svc:hover .no{color:var(--rose-soft)}
.svc h3{font-size:1.6rem;margin-bottom:10px}
.svc p{font-size:.95rem;color:var(--ink-soft);margin-bottom:18px}
.svc .more{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rose-deep);font-weight:500;display:inline-flex;align-items:center;gap:.5em;transition:.3s}
.svc:hover .more{gap:1em}

/* feature / vectra */
.feature{background:linear-gradient(120deg,#1f1523,#362a3d);color:#fff;overflow:hidden}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.feature .eyebrow{color:var(--rose-soft)}
.feature h2{font-size:clamp(1.5rem,2.8vw,2.2rem);margin:18px 0 22px;color:#fff}
.feature p{color:rgba(255,255,255,.78);margin-bottom:18px}
.feature ul{list-style:none;margin:26px 0 36px}
.feature li{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:.98rem;color:rgba(255,255,255,.85)}
.feature li svg{flex:none;color:var(--rose-soft);margin-top:4px}
.vectra-vis{aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(196,109,232,.22),transparent 60%);position:relative;display:flex;align-items:center;justify-content:center}
.vectra-vis .ring{position:absolute;border:1px solid rgba(196,109,232,.32);border-radius:50%}
.vectra-vis .r1{inset:8%;animation:spin 26s linear infinite}
.vectra-vis .r2{inset:22%;border-style:dashed;animation:spin 18s linear infinite reverse}
.vectra-vis .r3{inset:36%;animation:spin 12s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.vectra-vis .core{font-family:var(--serif);text-align:center;z-index:2}
.vectra-vis .core .big{font-size:3.4rem;color:var(--rose-soft);line-height:1}
.vectra-vis .core .sm{font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;font-family:var(--sans);color:rgba(255,255,255,.7);margin-top:8px}

/* gallery */
.gallery{background:var(--white)}
.ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ba{position:relative;aspect-ratio:3/4;border-radius:4px;overflow:hidden;background:linear-gradient(160deg,#efe4e3,#cdbab9);cursor:pointer}
.ba .split{position:absolute;inset:0;display:flex}
.ba .half{flex:1;display:flex;align-items:flex-start;padding:18px;position:relative}
.ba .half.before{background:linear-gradient(180deg,rgba(150,135,135,.25),rgba(85,72,92,.45))}
.ba .half.after{background:linear-gradient(180deg,rgba(196,109,232,.28),rgba(106,0,150,.5));border-left:2px solid rgba(255,255,255,.7)}
.ba .tag{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:rgba(31,21,35,.55);padding:.4em .8em;border-radius:2px;backdrop-filter:blur(3px)}
.ba .label{position:absolute;left:0;right:0;bottom:0;padding:18px 20px;background:linear-gradient(transparent,rgba(31,21,35,.8));color:#fff;z-index:3}
.ba .label .t{font-family:var(--serif);font-size:1.3rem}
.gallery .note{text-align:center;margin-top:34px;color:var(--ink-soft);font-size:.92rem;font-style:italic}

/* ===== BLOG CAROUSEL ===== */
.blog{background:var(--bg-alt)}
.blog .head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:46px;flex-wrap:wrap}
.blog .head-row h2{font-size:clamp(2rem,4vw,3rem);margin-top:14px}
.blog .head-row p{color:var(--ink-soft);max-width:440px;margin-top:8px}
.car-nav{display:flex;gap:12px}
.car-nav button{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.3s}
.car-nav button:hover{background:var(--rose);color:#fff;border-color:var(--rose)}
.car-wrap{overflow:hidden}
.car-track{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;scrollbar-width:none}
.car-track::-webkit-scrollbar{display:none}
.post{flex:0 0 360px;max-width:360px;scroll-snap-align:start;background:var(--white);border-radius:6px;overflow:hidden;box-shadow:0 14px 36px -22px rgba(40,5,55,.35);transition:.4s ease;display:flex;flex-direction:column}
.post:hover{transform:translateY(-6px);box-shadow:0 26px 50px -22px rgba(40,5,55,.45)}
.post .ph{position:relative;aspect-ratio:16/11;overflow:hidden}
.post .ph img{width:100%;height:100%;object-fit:cover;transition:.6s ease}
.post:hover .ph img{transform:scale(1.06)}
.post .cat{position:absolute;top:14px;left:14px;background:rgba(31,21,35,.78);backdrop-filter:blur(4px);color:#fff;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;padding:.5em .9em;border-radius:2px}
.post .body{padding:26px 26px 30px;display:flex;flex-direction:column;flex:1}
.post .date{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rose-deep);margin-bottom:10px}
.post h3{font-size:1.42rem;line-height:1.25;margin-bottom:12px}
.post p{font-size:.92rem;color:var(--ink-soft);margin-bottom:18px;flex:1}
.post .more{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rose-deep);font-weight:500;display:inline-flex;align-items:center;gap:.5em;transition:.3s}
.post:hover .more{gap:1em;color:var(--rose)}
.blog .all{text-align:center;margin-top:46px}

/* steps */
.steps{background:var(--white)}
.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.step{text-align:center}
.step .num{font-family:var(--serif);font-size:1rem;color:var(--rose-deep);border:1px solid var(--rose);width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;background:var(--white)}
.step h3{font-size:1.45rem;margin-bottom:10px}
.step p{font-size:.92rem;color:var(--ink-soft)}

/* quote */
.quote{background:var(--ink);color:#fff;text-align:center}
.quote .wrap{max-width:920px}
.quote .mark{font-family:var(--serif);font-size:5rem;color:var(--rose);line-height:.6;height:40px}
.quote blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(1.15rem,2.4vw,1.7rem);line-height:1.4;margin:20px 0 28px;font-weight:400}
.quote .who{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rose-soft)}
@media(max-width:640px){.quote blockquote br{display:none}}

/* contact */
.contact{background:var(--bg)}
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px}
.contact h2{font-size:clamp(2rem,4vw,3rem);margin:16px 0 18px}
.contact .lede{color:var(--ink-soft);margin-bottom:34px;font-size:1.05rem}
.cinfo{display:flex;flex-direction:column;gap:4px;margin-bottom:26px}
.crow{display:flex;gap:18px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line)}
.crow svg{flex:none;color:var(--rose);margin-top:3px}
.crow .k{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}
.crow .v{font-size:1.1rem;font-family:var(--serif);color:var(--ink)}
/* Çalışma saatleri satırı çok satırlı → serif başlık boyutu fazla iri kalıyor */
.crow .v br+*,.crow .v{line-height:1.55}
.contact-note{font-size:.9rem;line-height:1.7;color:var(--ink-soft);margin:-8px 0 26px}
.socials{display:flex;gap:14px;margin-top:8px}
.socials a{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink-soft);transition:.3s}
.socials a:hover{background:var(--rose);color:#fff;border-color:var(--rose);transform:translateY(-3px)}
.form{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:42px;box-shadow:var(--shadow)}
.form h3{font-size:1.7rem;margin-bottom:6px}
.form .sub{font-size:.92rem;color:var(--ink-soft);margin-bottom:26px}
.field{margin-bottom:18px}
.field label{display:block;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;padding:.95em 1.1em;border:1px solid var(--line);background:var(--bg);border-radius:3px;font-family:var(--sans);font-size:.95rem;color:var(--ink);transition:.3s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 3px rgba(129,0,181,.13)}
.form .btn-rose{width:100%;justify-content:center;margin-top:6px}
.form .fineprint{font-size:.74rem;color:var(--ink-soft);text-align:center;margin-top:16px}

/* footer */
footer{background:#180f1d;color:rgba(255,255,255,.6);padding:70px 0 30px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;padding-bottom:46px;border-bottom:1px solid rgba(255,255,255,.1)}
.foot .brand-f .nm{font-family:var(--serif);font-size:1.5rem;color:#fff}
.foot .brand-f p{margin-top:16px;font-size:.92rem;max-width:300px}
.foot h4{font-family:var(--sans);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--rose-soft);margin-bottom:20px}
.foot ul{list-style:none}
.foot ul li{margin-bottom:11px}
.foot ul a{font-size:.92rem;transition:.3s}
.foot ul a:hover{color:#fff}
.foot-bot{display:flex;justify-content:space-between;align-items:center;padding-top:26px;font-size:.78rem;flex-wrap:wrap;gap:12px}
.foot-legal{display:flex;gap:16px;flex-wrap:wrap}
.foot-legal a{color:inherit;opacity:.8;text-decoration:none}
.foot-legal a:hover{opacity:1;text-decoration:underline}

/* fab */
.fab{
  position:fixed;bottom:26px;right:26px;z-index:90;
  display:flex;align-items:center;gap:0;
  padding:6px;border-radius:999px;
  background:#25d366;color:#fff;
  box-shadow:0 0 0 4px rgba(37,211,102,.16),0 10px 26px rgba(37,211,102,.42);
  transition:gap .28s cubic-bezier(.4,0,.2,1),padding .28s cubic-bezier(.4,0,.2,1),box-shadow .28s ease,transform .28s ease;
}
.fab__ic{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;position:relative}
.fab__ic svg{width:26px;height:26px}
.fab__ic::after{content:"";position:absolute;top:0;right:0;width:11px;height:11px;border-radius:50%;background:#ef4444;border:2px solid #25d366}
.fab__txt{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .3s cubic-bezier(.4,0,.2,1),opacity .18s ease}
.fab,.fab:hover,.fab:visited,.fab__txt b,.fab__txt span{color:#fff}
.fab__txt b{display:block;font-family:var(--sans);font-size:13.5px;font-weight:700;line-height:1.25;letter-spacing:.01em}
.fab__txt span{display:block;font-family:var(--sans);font-size:11.5px;font-weight:500;line-height:1.25;opacity:.9}
.fab__pulse{position:absolute;left:6px;top:6px;width:44px;height:44px;border-radius:50%;border:2px solid #fff;pointer-events:none;animation:fabPulse 2.2s ease-out infinite}
.fab:hover,.fab:focus-visible{gap:12px;padding-right:20px;box-shadow:0 0 0 6px rgba(37,211,102,.22),0 14px 34px rgba(37,211,102,.52)}
.fab:hover .fab__txt,.fab:focus-visible .fab__txt{max-width:230px;opacity:1}
.fab:hover .fab__pulse,.fab:focus-visible .fab__pulse{opacity:0;animation-play-state:paused}
.fab:active{transform:scale(.97)}
@keyframes fabPulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.6);opacity:0}}
@media(prefers-reduced-motion:reduce){.fab,.fab__txt{transition:none}.fab__pulse{animation:none}}

@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;padding-top:118px;padding-bottom:30px;gap:0}
  .hero-rail{display:none}
  .hero-portrait{min-height:auto;margin-top:20px}
  .hero-portrait img,.hero-portrait .arc,.hero-portrait .halo{max-width:420px}
  .intro-grid,.feature-grid,.contact-grid{grid-template-columns:1fr;gap:50px}
  .svc-grid{grid-template-columns:1fr 1fr}
  .svc:nth-child(3n){border-right:1px solid var(--line)}
  .svc:nth-child(2n){border-right:none}
  .step-grid{grid-template-columns:1fr 1fr;gap:40px 28px}
  .ba-grid{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .intro-portrait{max-width:420px;margin:0 auto}
}
@media(max-width:640px){
  .sec{padding:84px 0}
  .menu{position:fixed;inset:0 0 0 auto;width:84%;max-width:340px;background:var(--ink);flex-direction:column;justify-content:flex-start;align-items:stretch;gap:14px;transform:translateX(100%);transition:.4s ease;padding:100px 32px 40px;overflow-y:auto}
  .menu.open{transform:none}
  .menu a,header.scrolled .menu a,.menu .trigger,header.scrolled .menu .trigger{color:#fff;font-size:1.05rem}
  .menu>.navlink{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .burger{display:flex}
  .mega-item{width:100%;position:static}
  .menu .trigger{display:flex;justify-content:space-between;align-items:center;width:100%;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .mega{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border-top:none;background:transparent;max-height:0;overflow:hidden;transition:max-height .45s ease}
  .mega-item.open .mega{max-height:2400px}
  .mega-grid{display:block;padding:10px 0 6px;max-width:none}
  .mega-feature{display:none}
  .mega-cols,.mega-cols.cols3{grid-template-columns:1fr;gap:16px}
  .mega-col{margin-bottom:6px}
  .mega-col a{color:rgba(255,255,255,.78);font-size:.95rem}
  .mega-h{color:#fff;border-color:rgba(255,255,255,.18)}
  .mega-h svg{color:var(--rose-soft)}
  header .menu .mega-col a.mega-h{color:#fff}
  header .menu .mega-col a.mega-all{margin-top:6px;padding:8px 0 0;color:var(--rose-soft)}
  .mega-col a:active{color:var(--rose-soft)}
  .mega-foot{display:none}
  .caret{transition:transform .3s}
  .mega-item.open .caret{transform:rotate(-135deg);margin-top:3px}
  .brand{gap:10px}
  .brand .rule{height:34px}
  .brand .nm{font-size:.82rem;letter-spacing:.05em}
  .brand .sub{display:block;font-size:.5rem;letter-spacing:.1em;margin-top:4px;white-space:nowrap}
  .svc-grid{grid-template-columns:1fr}
  .svc{border-right:none!important}
  .ba-grid{grid-template-columns:1fr}
  .step-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;flex-wrap:nowrap;margin-top:36px}
  .hstat{padding:0 10px;margin-right:0;text-align:center}
  .hstat:first-child{padding-left:0}
  .hstat:last-child{padding-right:0}
  .hstat .n{font-size:1.6rem}
  .hstat .l{font-size:.56rem;letter-spacing:.08em;margin-top:6px;line-height:1.3}
  .hero-badge{right:auto;left:0;top:auto;bottom:24%;padding:8px 12px;border-radius:4px}
  .hero-badge .stars{font-size:.72rem;letter-spacing:1.5px}
  .hero-badge .bt{font-size:.9rem}
  .hero-badge .bs{font-size:.56rem}
  .hero-trust{gap:12px 18px;margin-top:20px}
  .form{padding:30px 24px}
  .intro-portrait .badge{right:0}
  .post{flex-basis:280px}
}

/* ====================================================== */
/* ===============  REFINEMENTS & UPGRADES  ============= */
/* ====================================================== */

/* --- Contact title: single line, smaller --- */
.contact-title{font-size:clamp(1.1rem,2.6vw,1.6rem);white-space:nowrap;margin:14px 0 16px}

/* --- SUREC / Steps redesigned --- */
.steps{background:var(--white);position:relative}
.step-grid{position:relative;z-index:1}
.step-grid::before{content:"";position:absolute;top:60px;left:11%;right:11%;height:2px;background:repeating-linear-gradient(90deg,var(--rose-soft) 0 7px,transparent 7px 16px);opacity:.5;z-index:-1}
.step{position:relative;text-align:left;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:32px 28px 28px;transition:.45s cubic-bezier(.16,1,.3,1);overflow:hidden;z-index:1}
.step::after{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--rose-soft),var(--rose));transform:scaleX(0);transform-origin:left;transition:.45s ease}
.step:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:transparent}
.step:hover::after{transform:scaleX(1)}
.step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.step .num{font-family:var(--serif);font-size:1.2rem;color:#fff;background:linear-gradient(135deg,var(--rose),var(--rose-deep));border:none;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0;box-shadow:0 10px 22px -8px rgba(106,0,150,.65)}
.step-ic{width:34px;height:34px;color:var(--rose-soft);transition:.4s ease;flex:none}
.step-ic svg{width:34px;height:34px}
.step:hover .step-ic{color:var(--rose);transform:scale(1.08)}
.step h3{font-size:1.4rem;margin-bottom:9px}
.step p{font-size:.92rem;color:var(--ink-soft);text-align:left}

/* --- Contact rows as cards --- */
.cinfo{gap:12px}
.crow{border:1px solid var(--line);border-radius:14px;padding:15px 18px;background:var(--white);align-items:center;transition:.35s cubic-bezier(.16,1,.3,1)}
a.crow:hover{border-color:var(--rose-soft);transform:translateY(-3px);box-shadow:0 16px 30px -18px rgba(40,5,55,.4)}
.crow svg{flex:none;color:var(--rose);background:var(--bg-alt);width:42px;height:42px;padding:10px;border-radius:50%;margin-top:0;transition:.35s}
a.crow:hover svg{background:var(--rose);color:#fff}

/* --- Social icons upgraded --- */
.socials{gap:12px;margin-top:16px}
.socials a{width:46px;height:46px;border:1px solid var(--line);border-radius:14px;background:var(--white);color:var(--rose-deep);position:relative;overflow:hidden;transition:.4s cubic-bezier(.16,1,.3,1)}
.socials a svg{position:relative;z-index:1}
.socials a::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--rose),var(--rose-deep));border-radius:50%;transform:scale(0);transition:.45s cubic-bezier(.16,1,.3,1)}
.socials a:hover::before{transform:scale(1.8)}
.socials a:hover{color:#fff;border-color:var(--rose);transform:translateY(-4px);box-shadow:0 14px 26px -10px rgba(106,0,150,.6)}

/* --- FOOTER professionalised --- */
footer{position:relative;background:#180f1d;padding:74px 0 28px}
footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--rose-soft),var(--rose),var(--gold))}
.foot-grid{grid-template-columns:1.5fr 1fr 1.1fr}
.foot-brand{display:flex;gap:14px;align-items:center;margin-bottom:6px}
.foot-rule{width:2px;height:44px;flex:none;background:linear-gradient(var(--rose-soft),var(--rose));border-radius:2px}
footer .brand-f .nm{font-family:var(--serif);font-size:1.5rem;color:#fff;line-height:1.1}
.foot-sub{font-size:.55rem;letter-spacing:.26em;text-transform:uppercase;color:var(--rose-soft);margin-top:6px}
footer .brand-f p{margin-top:18px;font-size:.92rem;max-width:320px;color:rgba(255,255,255,.6)}
footer h4{font-family:var(--sans);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--rose-soft);margin-bottom:20px}
footer ul{list-style:none}
footer ul li{margin-bottom:12px}
footer ul a{font-size:.92rem;color:rgba(255,255,255,.6);transition:.3s}
footer ul a:hover{color:#fff}
.foot-social{display:flex;gap:10px;margin-top:24px}
.foot-social a{width:40px;height:40px;border:1px solid rgba(255,255,255,.16);border-radius:12px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.72);transition:.35s ease}
.foot-social a:hover{background:var(--rose);color:#fff;border-color:var(--rose);transform:translateY(-3px)}
.foot-contact a,.foot-contact .fc-static{display:inline-flex;align-items:flex-start;gap:10px;color:rgba(255,255,255,.6)}
.foot-contact svg{color:var(--rose-soft);flex:none;margin-top:3px}
.foot-contact .fc-static{font-size:.92rem;line-height:1.5}
.foot-bot{border-top:none;color:rgba(255,255,255,.5)}

/* --- MOBILE MENU quality upgrade --- */
.burger span{transition:transform .35s ease,opacity .25s ease}
.burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.m-overlay{position:fixed;inset:0;background:rgba(20,15,16,.5);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:.4s ease;z-index:95;display:none}
.m-foot{display:none}
body.menu-lock{overflow:hidden}

@media(max-width:640px){
  .m-overlay{display:block}
  .m-overlay.show{opacity:1;visibility:visible}
  .menu{width:88%;max-width:360px;background:linear-gradient(165deg,#2a2122,#180f1d);padding:88px 28px 32px;gap:4px;box-shadow:-20px 0 50px -20px rgba(0,0,0,.6);z-index:120}
  .menu.open{transform:none}
  .burger{z-index:130;position:relative}
  .burger.active span{background:#fff!important}
  /* unified mobile menu typography (all Plus Jakarta Sans / sans for harmony) */
  .menu>.navlink,.menu .trigger{font-family:var(--sans);font-size:.95rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.08)}
  .mega-h{font-family:var(--sans);font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--rose-soft);margin:6px 0 10px;padding-bottom:0;border-bottom:none}
  header .menu .mega-col a.mega-h{font-family:var(--sans);font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--rose-soft);padding:0}
  .mega-col a{font-family:var(--sans);font-size:.92rem;font-weight:400;letter-spacing:.01em;text-transform:none;color:rgba(255,255,255,.72)}
  header .menu .mega-col a.mega-all{font-family:var(--sans);font-size:.72rem;letter-spacing:.12em;color:var(--rose-soft);margin-top:4px;padding:6px 0 0}
  .menu .navcta{margin-top:18px;text-align:center;justify-content:center;background:var(--rose);border-color:var(--rose);color:#fff;border-radius:10px;padding:1em 1.4em;font-family:var(--sans);font-size:.8rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
  .menu .navcta:hover{background:var(--rose-deep)}
  .m-foot{display:block;margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}
  .m-call{display:inline-flex;align-items:center;gap:10px;color:#fff;font-family:var(--sans);font-size:1rem;font-weight:500;letter-spacing:.04em}
  .m-call svg{color:var(--rose-soft)}
  .m-social{display:flex;gap:12px;margin-top:18px}
  .m-social a{width:42px;height:42px;border:1px solid rgba(255,255,255,.18);border-radius:12px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.8);transition:.3s}
  .m-social a:hover{background:var(--rose);color:#fff;border-color:var(--rose)}
  .step-grid::before{display:none}
  .contact-title{white-space:normal}
  .foot-grid{grid-template-columns:1fr;gap:36px}
}

@media (max-width:640px){.creds{flex-wrap:wrap}}

/* İç sayfalar: header'ın arkasında koyu hero olmadığından baştan "solid" göster.
   brand + burger her boyutta; menu/navcta yalnız masaüstünde (mobilde menü koyu overlay). */
header.solid{background:rgba(250,246,245,.94);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line);padding:12px 0}
header.solid .brand{color:var(--ink)}
header.solid .burger span{background:var(--ink)}
@media(min-width:641px){
  header.solid .menu a,header.solid .menu button.trigger{color:var(--ink-soft)}
  header.solid .navcta{border-color:var(--rose);color:var(--rose)}
}
/* Genel header{position:fixed} kuralı iç sayfalardaki <header class="post-hero">'yi
   de yakalıyordu; main içindeki header'lar akışta (static) kalsın, site header'ıyla çakışmasın. */
main header{position:static}

/* ====================================================== */
/* =========  CONTACT / RANDEVU — PROFESYONEL  ========== */
/* ====================================================== */
.contact{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--bg) 0%,#f4e9f9 100%)}
.contact::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--rose-soft),transparent);opacity:.7}
.contact::after{content:"";position:absolute;width:560px;height:560px;right:-180px;top:-200px;border-radius:50%;background:radial-gradient(circle,rgba(196,109,232,.16),transparent 68%);pointer-events:none}
.contact-grid{position:relative;z-index:1;align-items:stretch;gap:56px}

/* Başlık — profesyonel, okunaklı ölçek (tek satır kısıtı kaldırıldı) */
.contact-title{font-size:clamp(1.8rem,3.4vw,2.6rem);white-space:normal;line-height:1.12;letter-spacing:-.015em;margin:16px 0 18px}
.contact .lede{max-width:440px;margin-bottom:32px}

/* İletişim kartları */
.cinfo{gap:14px;margin-bottom:0}
.crow{border:1px solid var(--line);border-radius:16px;padding:16px 20px;background:var(--white);align-items:center;box-shadow:0 6px 18px -14px rgba(40,5,55,.3);transition:.35s cubic-bezier(.16,1,.3,1)}
a.crow:hover{border-color:var(--rose-soft);transform:translateY(-3px);box-shadow:0 20px 36px -20px rgba(40,5,55,.42)}
.crow svg{flex:none;color:var(--rose);background:var(--bg-alt);width:44px;height:44px;padding:11px;border-radius:12px;margin-top:0;transition:.35s}
a.crow:hover svg{background:var(--rose);color:#fff}
.crow .k{font-size:.62rem;letter-spacing:.22em}

/* Güven şeridi */
.contact-trust{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:26px}
.ct-item{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-size:.83rem;font-weight:400;color:var(--ink-soft)}
.ct-item svg{width:18px;height:18px;color:var(--rose);flex:none}

/* Form kartı — yükseltilmiş, başlık bandı gradient */
.form{padding:0;overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:20px;box-shadow:0 40px 90px -40px rgba(40,5,55,.4);display:flex;flex-direction:column}
.form-head{position:relative;padding:32px 42px 28px;background:linear-gradient(135deg,var(--rose) 0%,var(--rose-deep) 100%);color:#fff;overflow:hidden}
.form-head::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.09)}
.form-head h3{position:relative;z-index:1;color:#fff;font-size:1.62rem;margin:0}
.form-head .sub{position:relative;z-index:1;color:rgba(255,255,255,.82);font-size:.92rem;margin:7px 0 0}
.form-body{padding:34px 42px 38px}
.flash-ok{background:#e9f9ef;border:1px solid #b6e6c6;color:#1c7a3f;padding:14px 16px;border-radius:12px;margin-bottom:18px;font-size:.92rem}
.form .field input,.form .field select,.form .field textarea{background:#faf6fc;border-radius:11px;padding:1em 1.15em}
.form .field input:focus,.form .field select:focus,.form .field textarea:focus{background:#fff;border-color:var(--rose);box-shadow:0 0 0 3px rgba(129,0,181,.14)}
.form .btn-rose{width:100%;justify-content:center;margin-top:8px;border-radius:11px;padding:1.15em 2.1em;box-shadow:0 16px 32px -14px rgba(106,0,150,.6)}
.form .fineprint{font-size:.75rem;color:var(--ink-soft);text-align:center;margin-top:16px}

@media(max-width:640px){
  .contact-grid{gap:44px}
  .contact-title{white-space:normal;font-size:clamp(1.55rem,6vw,2rem)}
  .form{padding:0;border-radius:18px}
  .form-head{padding:24px 26px 22px}
  .form-head h3{font-size:1.4rem}
  .form-body{padding:26px 24px 30px}
  .contact-trust{gap:10px 18px}
}

/* Çok dar ekranlarda marka alt başlığı taşmadan sığsın */
@media(max-width:400px){
  .brand{gap:8px}
  .brand .nm{font-size:.74rem;letter-spacing:.03em}
  .brand .sub{font-size:.45rem;letter-spacing:.06em}
}
@media(max-width:340px){
  .brand .nm{font-size:.68rem}
  .brand .sub{font-size:.42rem;letter-spacing:.04em}
}

/* ============================================================ */
/*  DİKEY (REELS) VİDEO KARTI + POPUP                            */
/*  Eski sitedeki Elementor "hosted video" davranışının karşılığı:*/
/*  9:16 kapak → tıklayınca lightbox içinde oynatma.              */
/* ============================================================ */
/* Kart, metin sütununun (max 860px) ortasına hizalanır; kendisi 330px kalır. */
.vclip{margin:34px 0;max-width:860px;width:100%;display:flex;flex-direction:column;align-items:center}
/* ---- DAR MEDYA YAN YANA ----
   Dikey video kartı ve portre/küçük fotoğraflar metin sütununun ortasında ada
   gibi duruyor, açıklamaları altlarına düşüyordu. Artık yan yana iki kolon:
   okuma sırasına göre medya solda (.media-side) ya da sağda (.media-side.flip).
   Geniş manzara fotoğraflar bu düzene HİÇ girmez; sütunu doldurmaya devam eder. */
/* 15.09.2026 - MEDYA YERLEŞİM STANDARDI. Dar medya + açıklaması artık tek bir
   KART: genişliği metin sütunuyla aynı (860px), medya kolonu 240px. Eskiden
   satır 1144px'lik kolonun tamamını kaplıyor, 330px'lik dikey video 587px
   yükseliyor, yanındaki iki satırlık açıklamanın sağında yarım ekran boşluk
   kalıyordu. Artık boşluk kartın içinde kalıyor ve her medya bloğu metinle
   aynı sol/sağ kenardan başlıyor. */
.media-side{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;align-items:center;margin:34px 0;padding:20px 24px;background:var(--white);border:1px solid var(--line);border-radius:20px}
/* Açıklaması kısa olan kart (blocks.php/functions.php 'kisa' sınıfını basar):
   metin iki satırsa 180px'lik dikey video kartın sağında koca bir boşluk bırakıyor.
   Böyle satırlarda medya küçülür, kart da kısalır. */
.media-side.kisa{grid-template-columns:130px minmax(0,1fr)}
.media-side.kisa.flip{grid-template-columns:minmax(0,1fr) 130px}
/* Medya kolonu ORANA göre: amaç medyanın yüksekliğini ~300px'de tutmak.
   Portre/dikey video 180px'te 320px yükselir; kare 180px'te cılız, manzara ise
   101px'e iner. Bu yüzden kare 280px, manzara 420px kolon alır.
   (15.09.2026 — Erdem "manzara resimler de yazının solunda olsun" dedi.) */
.media-side.kare{grid-template-columns:280px minmax(0,1fr)}
.media-side.kare.flip{grid-template-columns:minmax(0,1fr) 280px}
.media-side.kare.kisa{grid-template-columns:220px minmax(0,1fr)}
.media-side.kare.kisa.flip{grid-template-columns:minmax(0,1fr) 220px}
.media-side.manzara{grid-template-columns:420px minmax(0,1fr)}
.media-side.manzara.flip{grid-template-columns:minmax(0,1fr) 420px}
.media-side.manzara.kisa{grid-template-columns:340px minmax(0,1fr)}
.media-side.manzara.kisa.flip{grid-template-columns:minmax(0,1fr) 340px}
.media-side.flip{grid-template-columns:minmax(0,1fr) 180px}   /* DOM sırası metin → medya */
/* Bölüm zebrası: tek bölümler --bg, çift bölümler beyaz (service.css
   .svc-sec:nth-child(even)). Kart her iki zeminde de ayrışsın diye zemini
   bölümün tersi olur. */
.svc-sec:nth-child(even) .media-side,.post-body .media-side{background:var(--bg)}
.media-side .ms-txt{font-size:1rem}
/* Metin DOM'da önce geliyorsa (bkz. functions.php $row / 'tdom'): görsel yine
   solda dursun diye metin ikinci sütuna atılır. DOM sırası korunur. */
.media-side.tdom .ms-txt{order:2}
.media-side .ms-txt p{margin:0 0 12px}
.media-side .ms-txt p:last-child{margin-bottom:0}
.media-side .vclip{margin:0;max-width:none;align-items:stretch}
.media-side .vclip-thumb{max-width:none}
.media-side .vclip figcaption{max-width:none;text-align:left}
.media-side .fig-wide,.media-side .fig-side{margin:0;width:100%;max-width:none}
.media-side .fig-wide.portrait{max-width:none;margin:0}
.media-side .fig-side{border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.media-side .fig-wide img,.media-side .fig-side img{display:block;width:100%;height:auto;margin:0}
/* Sınıfsız <figure> (aktarımdan olduğu gibi gelen görseller) kartın içinde
   diğerleriyle aynı görünsün. */
.media-side figure{margin:0;width:100%;max-width:none}
.media-side figure>img{display:block;width:100%;height:auto;border-radius:14px;
  border:1px solid var(--line);box-shadow:var(--shadow)}
.media-side figure figcaption{font-size:.84rem;color:var(--ink-soft);margin-top:8px;text-align:left}
.media-side .ms-txt>*:first-child{margin-top:0}
.media-side .ms-txt>*:last-child{margin-bottom:0}
/* Ardışık dikey videolar: alt alta üç ada yerine yan yana ızgara. */
.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin:38px 0;align-items:start}
.media-grid .vclip{margin:0;max-width:none}
.media-grid .vclip-thumb{max-width:none}
.media-grid .vclip figcaption{max-width:none}
.vclip-thumb{position:relative;display:block;width:100%;max-width:330px;aspect-ratio:9/16;padding:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#15101a;cursor:pointer;box-shadow:0 22px 48px -20px rgba(31,21,35,.55)}
.vclip-thumb img,.vclip-thumb video{width:100%;height:100%;object-fit:cover;display:block}
.vclip-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.93);color:var(--rose-deep,#5b007e);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(0,0,0,.34);transition:transform .18s ease,background .18s ease}
.vclip-play svg{width:28px;height:28px;margin-left:3px}
.vclip-thumb:hover .vclip-play,.vclip-thumb:focus-visible .vclip-play{transform:translate(-50%,-50%) scale(1.09);background:#fff}
.vclip-thumb:focus-visible{outline:3px solid var(--rose);outline-offset:3px}
/* video dosyası eksikse yalnız kapak gösterilir */
.vclip-static img{width:100%;max-width:330px;border-radius:18px;display:block;border:1px solid var(--line)}
.vclip figcaption{font-size:.86rem;color:var(--ink-soft);text-align:center;margin-top:12px;font-style:italic;line-height:1.5;max-width:330px}

/* popup (lightbox) */
.vclip-lb{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(16,9,20,.9);backdrop-filter:blur(6px)}
.vclip-lb.open{display:flex}
/* Dikey (9:16) oran sabit tutulur — video metadata yüklenene kadar
   oynatıcı 300x150'ye çökmesin diye. Farklı orandaki videolar
   object-fit:contain ile siyah zemine oturur. */
.vclip-lb video{height:min(86vh,780px);width:auto;max-width:94vw;aspect-ratio:9/16;object-fit:contain;border-radius:16px;background:#000;box-shadow:0 40px 90px rgba(0,0,0,.65)}
.vclip-lb-close{position:absolute;top:16px;right:18px;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.vclip-lb-close:hover{background:rgba(255,255,255,.3)}
body.vclip-lock{overflow:hidden}
/* gercek kilit kurallari en altta (MOBIL DUZELTMELERI 20.09.2026) */

/* Dikey (portre) geniş görsellerin sayfayı kaplamasını engelle —
   .portrait sınıfını site_footer.php içindeki script ekler. */
.fig-wide.portrait{max-width:380px;margin-left:auto;margin-right:auto}

@media(max-width:860px){
  /* Dar ekranda iki kolon tek kolona düşer; sıra DOM sırasıyla aynı kalır. */
  .media-side,.media-side.flip,.media-side.kisa,.media-side.kisa.flip,
  .media-side.kare,.media-side.kare.flip,.media-side.kare.kisa,.media-side.kare.kisa.flip,
  .media-side.manzara,.media-side.manzara.flip,.media-side.manzara.kisa,.media-side.manzara.kisa.flip{grid-template-columns:minmax(0,1fr);gap:20px;justify-items:center;padding:18px}
  .media-side .vclip,.media-side .vclip-thumb{max-width:300px}
  .media-side .fig-wide,.media-side .fig-side{max-width:420px}
  .media-side .ms-txt{max-width:560px}
}
@media(max-width:600px){
  .vclip{margin:26px 0}
  .vclip-thumb,.vclip figcaption{max-width:270px}
  .media-side,.media-side.flip{padding:16px 14px;border-radius:16px}
  .media-side .vclip,.media-side .vclip-thumb{max-width:260px}
  .media-side .fig-wide,.media-side .fig-side{max-width:300px}
  .vclip-play{width:54px;height:54px}
  .vclip-play svg{width:24px;height:24px}
  .fig-wide.portrait{max-width:280px}
}

/* ===== MOBİL HIZLI ULAŞIM BANTI (≤768px) =====
   3 slot: [Randevu Al] [WhatsApp balonu - taşan] [Bizi Arayın]
   Desktop'ta tamamen gizlidir; ≤768px'te ekranın altına oturur ve
   sağ alt .fab (WhatsApp FAB) bu noktada gizlenir. */
.m-bant{
  display:none;
  position:fixed;
  left:12px;right:12px;
  bottom:calc(12px + env(safe-area-inset-bottom,0px));
  z-index:96;
  pointer-events:none; /* sadece içindeki linkler tıklanabilir */
  transition:transform .35s ease,opacity .35s ease;
}
.m-bant__inner{
  position:relative;
  margin-top:26px; /* WhatsApp balonu bant üst kenarından taşacağı için */
  background:linear-gradient(135deg,var(--rose) 0%,var(--rose-deep) 55%,#4d006c 100%);
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  padding:9px 14px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:end;
  gap:8px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 0 0 3px rgba(129,0,181,.10),
    0 16px 38px -12px rgba(40,5,55,.55),
    0 6px 18px rgba(106,0,150,.35);
  pointer-events:auto;
  color:#fff;
}
.m-bant__inner--nowa{grid-template-columns:1fr 1fr;margin-top:0}
.m-bant__item{
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
  gap:6px;
  color:#fff;
  font-family:var(--sans);
  font-size:.62rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1.1;
  padding:4px 2px 6px;
  text-align:center;
  -webkit-tap-highlight-color:transparent;
  transition:transform .2s ease,color .2s ease;
}
.m-bant__item:active{transform:translateY(-1px);color:var(--rose-soft)}
.m-bant__item svg{width:21px;height:21px}
.m-bant__item span{color:inherit}

/* Orta WhatsApp - bant üstünden taşan dairesel buton */
.m-bant__wa{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  color:#fff;
  -webkit-tap-highlight-color:transparent;
  margin-top:-30px; /* taşma */
}
.m-bant__wa-bubble{
  position:relative;
  width:58px;height:58px;
  border-radius:50%;
  background:#25d366;
  display:grid;place-items:center;
  box-shadow:
    0 10px 24px rgba(37,211,102,.45),
    inset 0 -2px 0 rgba(0,0,0,.16),
    0 0 0 4px rgba(255,255,255,.20);
  transition:transform .2s ease;
}
.m-bant__wa:active .m-bant__wa-bubble{transform:scale(.95)}
.m-bant__wa-bubble svg{width:29px;height:29px}
.m-bant__wa-dot{
  position:absolute;top:1px;right:1px;
  width:12px;height:12px;
  background:#e0245e;
  border:2px solid var(--rose-deep);
  border-radius:50%;
  animation:mbantDot 1.9s ease-out infinite;
}
@keyframes mbantDot{
  0%{box-shadow:0 0 0 0 rgba(224,36,94,.6)}
  70%{box-shadow:0 0 0 9px rgba(224,36,94,0)}
  100%{box-shadow:0 0 0 0 rgba(224,36,94,0)}
}
.m-bant__wa-label{
  font-family:var(--sans);
  font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}

/* Mobil viewport: bantı göster, desktop FAB'ı gizle */
@media(max-width:768px){
  .fab{display:none!important}
  .m-bant{display:block}
  /* Bant son bölümü kapatmasın (bant + taşan balon + safe-area) */
  body{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}
  footer{padding-bottom:28px}
  /* Mobil menü açıkken bant görünmesin */
  body.menu-lock .m-bant{transform:translateY(140%);opacity:0;pointer-events:none}
}
@media(prefers-reduced-motion:reduce){
  .m-bant,.m-bant__item,.m-bant__wa-bubble{transition:none}
  .m-bant__wa-dot{animation:none}
}


/* ==========================================================
   MOBİL DÜZELTMELERİ — 20.09.2026
   (1) İç sayfalarda menü yalnızca üst şeritte açılıyordu.
   (2) Bazı sayfalar ekrandan geniş kalıyordu (yatay kayma).
   (3) Video popup'ının kapatma düğmesi ekranda görünmüyordu.
   ========================================================== */

/* (1) KÖK NEDEN: header.solid / header.scrolled üzerindeki backdrop-filter,
   header'ı içindeki position:fixed öğeler için "kapsayıcı blok" yapıyor.
   Böylece #menu ve #mOverlay ekranın tamamına değil header kutusuna
   (~62px) hapsoluyordu — menü yalnız üstte açılıyor, kapanan menü de
   sayfayı yana taşırıyordu. Anasayfada header en tepede şeffaf olduğu
   için sorun görünmüyordu. Mobilde blur yerine opak zemin kullanılır.   */
@media(max-width:640px){
  header.solid,header.scrolled{
    -webkit-backdrop-filter:none;backdrop-filter:none;
    background:#faf6fc;
  }
  /* iOS'ta 100vh adres çubuğunu saymaz; svh gerçek görünür yüksekliktir. */
  #menu{height:100vh;height:100svh}
  .m-overlay{height:100vh;height:100svh}
}

/* (2) IZGARA TAŞMASI: grid öğelerinin otomatik en küçük genişliği
   "min-content"tir; içindeki uzun e-posta/bağlantı ya da geniş tablo
   kolonu ekrandan taşırıyordu (ör. /meme-buyutme-oncesi/ 532px,
   iletişim bölümü 413px). min-width:0 ile kolon daralabilir,
   tablo kendi içinde yatay kaydırılır.                                 */
.contact-grid>*,.intro-grid>*,.feature-grid>*,.post-body-wrap>*{min-width:0}
.factors>*,.factor>*,.two-grid>*,.rp-links>*,.media-grid>*{min-width:0}
.crow,.crow>div{min-width:0}
.crow .v,.crow .k{overflow-wrap:break-word}
/* Aktarılan içerikte bağlantı metni çıplak URL olan yerler (kırılamayan uzun
   kelime) sağdan taşıyordu; taşma olacaksa kelime bölünsün. */
.post-body,.post-body td,.post-body th,.post-body li,
.svc-narrow,.rte-content,.media-side .ms-txt,.crow .v{overflow-wrap:break-word}
/* Üç düğmeli CTA satırı dar ekranda sığmıyor, sağdan taşıyordu. */
@media(max-width:640px){
  .cta-btns{flex-wrap:wrap;gap:12px}
  .cta-btns .btn{width:100%;justify-content:center}
}

/* (3) VİDEO POPUP — kapatma düğmesi
   body{overflow:hidden} iOS Safari'de arka planı gerçekten kilitlemiyor;
   sayfa kayınca sabit katman ekranın dışında kalıyor ve "×" görünmez
   oluyordu. Kilit artık body'yi sabitliyor (konumu JS saklıyor),
   düğme de çentik/adres çubuğu payıyla konumlanıyor.                   */
body.vclip-lock,body.menu-lock{position:fixed;left:0;right:0;width:100%;overflow:hidden}
.vclip-lb-close{z-index:2}
@media(max-width:640px){
  .vclip-lb{
    height:100vh;height:100svh;
    padding:calc(56px + env(safe-area-inset-top)) 10px calc(14px + env(safe-area-inset-bottom));
  }
  .vclip-lb video{height:auto;width:auto;max-height:100%;max-width:100%}
  .vclip-lb-close{
    top:calc(10px + env(safe-area-inset-top));right:12px;
    width:44px;height:44px;background:rgba(255,255,255,.3)
  }
}
