/* ============================================================
   Alaska Vize — HIGH-FI prototype
   Style language: visacenter.chipsa.design (editorial, full-height
   photographic scenes, giant display type, arch/capsule masks,
   numbered indices, theme-switching header, clip reveals)
   Palette/fonts: Alaska Vize Design System
   ============================================================ */

/* ---- fonts ---- */
@font-face { font-family:'InterDisplay'; src:url('assets/fonts/interdisplay-regular.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:'InterDisplay'; src:url('assets/fonts/interdisplay-medium.woff2') format('woff2'); font-weight:500; font-display:swap; }
@font-face { font-family:'InterDisplay'; src:url('assets/fonts/interdisplay-semibold.woff2') format('woff2'); font-weight:600; font-display:swap; }
@font-face { font-family:'InterDisplay'; src:url('assets/fonts/interdisplay-bold.woff2') format('woff2'); font-weight:700; font-display:swap; }

:root{
  /* brand DS */
  --white:#ffffff;
  --ink:#1e2126;          /* Black Pearl */
  --forest:#24584c;       /* Emerald Forest */
  --forest-deep:#1e2126;  /* gradyan koyu ucu = Black Pearl (palet içi) */
  --lima:#b8f088;         /* Lima */
  --duckling:#f9e36a;     /* Fuzzy Duckling */
  --mango:#ff8e3f;        /* Mango Tango */
  --glove:#ededed;        /* White Glove */
  --muted:rgba(30,33,38,.58);  /* Black Pearl %58 — palet içi nötr metin */
  --hair:rgba(30,33,38,.12);
  --hair-light:rgba(255,255,255,.18);

  --display:'InterDisplay', system-ui, sans-serif;
  --body:'Inter', system-ui, sans-serif;

  /* fluid type */
  --fz-mega: clamp(3.5rem, 15vw, 13rem);
  --fz-h1:   clamp(2.4rem, 6vw, 5.2rem);
  --fz-h2:   clamp(1.9rem, 3.6vw, 3rem);
  --fz-h3:   clamp(1.6rem, 2.6vw, 2.125rem);
  --fz-h4:   clamp(1.35rem, 2vw, 1.625rem);
  --fz-h5:   clamp(1.2rem, 1.4vw, 1.375rem);
  --fz-big:  clamp(2.6rem, 7vw, 6rem);
  --fz-stat: clamp(2rem, 4vw, 3.4rem);
  --fz-label:clamp(.95rem, 1.1vw, 1.15rem);
  --fz-body: clamp(1rem, 1.05vw, 1.0625rem);
  /* label type ölçeği (DS) */
  --fz-label-xs:.75rem;    /* 12px */
  --fz-label-sm:.875rem;   /* 14px */
  --fz-label-md:1rem;      /* 16px */
  --fz-label-lg:1.125rem;  /* 18px */
  --fz-label-xl:1.25rem;   /* 20px */
  /* paragraph type ölçeği (DS) */
  --fz-paragraph-xs:.75rem;    /* 12px */
  --fz-paragraph-sm:.875rem;   /* 14px */
  --fz-paragraph-md:1rem;      /* 16px */
  --fz-paragraph-lg:1.125rem;  /* 18px */

  --r-pill:28px;
  --r-card:18px;
  /* AlignUI layout grid: 12 kolon × 80px + 11 gutter × 24px = 1224 içerik; 1440 çerçevede 108px safe-area */
  --container:1224px;
  --grid-cols:12;
  --grid-gutter:24px;
  --grid-safe:108px;
  /* 4/8px tabanlı boşluk skalası — tüm boşluklar bunlardan seçilir */
  --sp-4:4px; --sp-8:8px; --sp-12:12px; --sp-16:16px; --sp-24:24px;
  --sp-32:32px; --sp-48:48px; --sp-64:64px; --sp-80:80px; --sp-96:96px; --sp-128:128px;
  --ease:cubic-bezier(.22,1,.36,1);
  /* AlignUI (tailwind.config.ts ile birebir): stroke-soft + shadow large (custom-lg) */
  --stroke-soft:#E1E4EA;
  --shadow-lg: 0 0 0 1px rgba(51,51,51,.04), 0 1px 1px .5px rgba(51,51,51,.04), 0 3px 3px -1.5px rgba(51,51,51,.02), 0 6px 6px -3px rgba(51,51,51,.04), 0 12px 12px -6px rgba(51,51,51,.04), 0 24px 24px -12px rgba(51,51,51,.04), 0 48px 48px -24px rgba(51,51,51,.04), 0 96px 96px -32px rgba(51,51,51,.06), inset 0 -1px 1px -.5px rgba(51,51,51,.06);
  /* sıkı kart gölgesi (AlignUI custom-sm) — satır-içi tekrar eden kartlarda 'large' yayılıp bulanık bant yapıyordu */
  --shadow-sm: 0 0 0 1px rgba(51,51,51,.04), 0 5px 5px -2.5px rgba(51,51,51,.06), 0 1px 3px -1.5px rgba(51,51,51,.12);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }
body{
  margin:0; background:var(--white); color:var(--ink);
  font-family:var(--body); font-size:var(--fz-body); line-height:1.55;
  -webkit-font-smoothing:antialiased; overflow-x:clip;
}
html{ overflow-x:clip; }
@media (pointer:coarse){ body{cursor:auto;} }
a{color:inherit; text-decoration:none;}
img{display:block; max-width:100%;}
.u-container{ width:min(100% - 48px, var(--container)); margin:0 auto; }
[id]{ scroll-margin-top:var(--sp-96); } /* sabit header çapa hedefini örtmesin */
.u-grid{ display:grid; grid-template-columns:repeat(var(--grid-cols),1fr); gap:var(--grid-gutter); }
.u-eyebrow{ font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); }
/* label type ölçeği — utility sınıfları */
.label-xs{ font-size:var(--fz-label-xs); line-height:1.34; font-weight:500; letter-spacing:.01em; }
.label-sm{ font-size:var(--fz-label-sm); line-height:1.43; font-weight:500; }
.label-md{ font-size:var(--fz-label-md); line-height:1.5; font-weight:500; }
.label-lg{ font-size:var(--fz-label-lg); line-height:1.34; font-weight:500; }
.label-xl{ font-size:var(--fz-label-xl); line-height:1.4; font-weight:500; }
/* paragraph ölçeği — utility sınıfları */
.paragraph-xs{ font-size:var(--fz-paragraph-xs); line-height:1.45; font-weight:400; }
.paragraph-sm{ font-size:var(--fz-paragraph-sm); line-height:1.5; font-weight:400; }
.paragraph-md{ font-size:var(--fz-paragraph-md); line-height:1.55; font-weight:400; }
.paragraph-lg{ font-size:var(--fz-paragraph-lg); line-height:1.6; font-weight:400; }
/* başlık ölçeği — utility sınıfları */
.h3{ font-family:var(--display); font-weight:600; font-size:var(--fz-h3); line-height:1.12; letter-spacing:-.02em; }
.h4{ font-family:var(--display); font-weight:600; font-size:var(--fz-h4); line-height:1.15; letter-spacing:-.02em; }
.h5{ font-family:var(--display); font-weight:600; font-size:var(--fz-h5); line-height:1.2; letter-spacing:-.01em; }
.u-display{ font-family:var(--display); font-weight:500; letter-spacing:-.02em; line-height:.98; }

/* ---- custom cursor ---- */
.cursor-dot,.cursor-ring{ position:fixed; top:0; left:0; z-index:1000; pointer-events:none; border-radius:50%; transform:translate(-50%,-50%); mix-blend-mode:difference; }
.cursor-dot{ width:7px; height:7px; background:#fff; }
.cursor-ring{ width:38px; height:38px; border:1px solid rgba(255,255,255,.7); transition:width .25s var(--ease), height .25s var(--ease), background .25s; }
.cursor-ring.is-hover{ width:58px; height:58px; background:rgba(255,255,255,.08); }
@media (pointer:coarse){ .cursor-dot,.cursor-ring{display:none;} }

/* ---- header (fixed, theme-switching) ---- */
.hdr{ position:fixed; inset:0 0 auto 0; z-index:90; padding:18px 0; transition:transform .4s var(--ease), background .35s var(--ease), color .35s var(--ease); will-change:transform; }
/* auto-hide: aşağı kaydırınca gizle */
.hdr--hidden{ transform:translateY(-100%); }
/* en üstte değilken hafif arka plan (temaya uygun, palet içi) */
.hdr--scrolled.theme-light{ background:rgba(255,255,255,.45); backdrop-filter:blur(24px) saturate(180%); -webkit-backdrop-filter:blur(24px) saturate(180%); }
.hdr--scrolled.theme-dark{ background:rgba(30,33,38,.2); backdrop-filter:blur(24px) saturate(180%); -webkit-backdrop-filter:blur(24px) saturate(180%); }
.hdr__row{ display:flex; align-items:center; gap:22px; }
.hdr__logo{ display:flex; align-items:center; }
.hdr__logoimg{ height:48px; width:auto; display:block; color:#fff; transition:color .35s var(--ease); }
/* sadece figür işareti; tema rengi: koyu sahnede beyaz, açık sahnede forest */
.hdr.theme-dark .hdr__logoimg{ color:#ffffff; }
.hdr.theme-light .hdr__logoimg{ color:var(--forest); }
.hdr__nav{ display:flex; align-items:center; gap:10px; margin-left:6px; }
.pill{ display:inline-flex; align-items:center; gap:8px; border-radius:var(--r-pill); padding:9px 16px; font-family:inherit; font-size:.9rem; font-weight:500; line-height:1; color:inherit; background:none; border:1px solid transparent; cursor:pointer; -webkit-appearance:none; appearance:none; transition:all .3s var(--ease); white-space:nowrap; }
.pill--frost{ background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.22); backdrop-filter:blur(8px); }
.theme-light .pill--frost{ background:rgba(30,33,38,.05); border-color:var(--hair); }
.pill--frost:hover{ background:var(--lima); color:var(--forest); border-color:var(--lima); }
.hdr__phone{ font-size:.9rem; opacity:.9; margin-left:auto; color:inherit; text-decoration:none; transition:opacity .3s var(--ease), color .3s var(--ease); }
.hdr__phone:hover{ opacity:1; color:var(--lima); }
.theme-light .hdr__phone:hover{ color:var(--forest); }
.hdr__cta{ display:flex; align-items:center; gap:8px; }
.btn-cap{ background:var(--white); color:var(--forest); border-radius:var(--r-pill); padding:13px 24px; font-weight:600; font-size:.92rem; transition:all .3s var(--ease); }
.btn-cap:hover{ background:var(--lima); }
.icon-btn{ width:46px;height:46px;border-radius:50%; display:grid;place-items:center; border:1px solid currentColor; transition:all .3s var(--ease); }
.icon-btn:hover{ background:var(--lima); color:var(--forest); border-color:var(--lima); }
.burger{ display:none; }

/* dropdown */
.drop{ position:relative; }
.drop__panel{ position:absolute; top:calc(100% + 12px); left:0; min-width:430px; background:var(--white); color:var(--ink);
  border-radius:var(--r-card); padding:10px; box-shadow:0 30px 80px rgba(30,33,38,.18); opacity:0; visibility:hidden; transform:translateY(8px); transition:all .35s var(--ease); }
.drop.open .drop__panel{ opacity:1; visibility:visible; transform:translateY(0); }
.drop__row{ display:flex; align-items:center; gap:16px; padding:16px 18px; border-radius:12px; transition:background .25s; }
.drop__row:hover{ background:var(--glove); }
.drop__row .idx{ font-size:.72rem; color:var(--muted); width:30px; }
.drop__row .nm{ font-family:var(--display); font-weight:500; font-size:1.2rem; flex:1; }
.drop__row .ct{ font-family:var(--display); font-size:1.4rem; color:var(--forest); }
.drop__row .ar{ width:38px;height:38px;border-radius:50%;border:1px solid var(--hair); display:grid;place-items:center; }

/* theme states applied to header text color */
.hdr.theme-dark{ color:#fff; }
.hdr.theme-light{ color:var(--ink); }

/* ---- mobil tam ekran menü (≤760px'te burger ile açılır) ---- */
.burger .ic-close{ display:none; }
body.menu-open .burger .ic-open{ display:none; }
body.menu-open .burger .ic-close{ display:block; }
.mmenu{ position:fixed; inset:0; z-index:85; display:flex; flex-direction:column; justify-content:flex-start; gap:var(--sp-32); overflow-y:auto;
  padding:calc(var(--sp-96) + var(--sp-12)) var(--sp-24) var(--sp-32); background:var(--forest); color:#fff;
  opacity:0; visibility:hidden; transform:translateY(-12px);
  transition:opacity .35s var(--ease), transform .35s var(--ease), visibility 0s .35s; }
body.menu-open .mmenu{ opacity:1; visibility:visible; transform:none; transition:opacity .35s var(--ease), transform .35s var(--ease); }
.mmenu__links{ display:flex; flex-direction:column; }
.mmenu__links a{ display:flex; align-items:baseline; gap:var(--sp-16); padding:var(--sp-16) 0; border-bottom:1px solid var(--hair-light);
  font-family:var(--display); font-weight:500; font-size:var(--fz-h3); letter-spacing:-.02em; line-height:1.1; color:#fff; transition:color .25s var(--ease); }
.mmenu__links a:active, .mmenu__links a:hover{ color:var(--lima); }
.mmenu__links .idx{ font-family:var(--display); font-size:var(--fz-label-xs); color:var(--lima); letter-spacing:.08em; }
.mmenu__foot{ display:flex; flex-direction:column; gap:var(--sp-12); margin-top:auto; }
.mmenu__cta{ display:flex; align-items:center; justify-content:center; padding:var(--sp-16) var(--sp-32); border-radius:var(--r-pill); background:var(--white); color:var(--forest); font-family:var(--display); font-weight:600; }
.mmenu__wa{ display:flex; align-items:center; justify-content:center; gap:var(--sp-8); padding:var(--sp-16) var(--sp-32); border-radius:var(--r-pill); border:1px solid var(--hair-light); background:rgba(255,255,255,.1); color:#fff; font-family:var(--display); font-weight:600; }
.mmenu__wa .ic{ display:block; flex:none; }
@media (min-width:761px){ .mmenu{ display:none; } }
body.menu-open{ overflow:hidden; }
/* menü açıkken header forest zemin üstünde: beyaz metin/logo, gizlenme yok */
body.menu-open .hdr{ transform:none; background:transparent; -webkit-backdrop-filter:none; backdrop-filter:none; color:#fff; }
body.menu-open .hdr .hdr__logoimg{ color:#fff; }

/* ---- hero ---- */
.hero{ position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; color:#fff; }
.hero__bg{ position:absolute; inset:0; background-color:var(--forest); background-size:cover; background-position:center; }
.hero__bg .shot{ position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transform:scale(1.06); transition:opacity 1.6s ease, transform 7s ease; }
.hero__bg .shot.is-active{ opacity:1; transform:scale(1); }
.hero__scrim{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(36,88,76,.56) 0%, rgba(36,88,76,.46) 34%, rgba(30,33,38,.52) 64%, rgba(30,33,38,.9) 100%); }
.hero__center{ position:absolute; top:45%; left:0; right:0; transform:translateY(-50%); z-index:2; padding:0 clamp(20px,5vw,90px); text-align:center; }
.hero__lede{ max-width:38ch; margin:0 auto; font-size:clamp(1.05rem,1.25vw,1.2rem); line-height:1.45; letter-spacing:-.01em; }
.hero__rule{ height:1px; background:rgba(255,255,255,.3); margin:var(--sp-24) 0; }
.hero__tags{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; justify-content:center; }
.tag{ border:1px solid rgba(255,255,255,.6); border-radius:var(--r-pill); padding:var(--sp-12) var(--sp-24); font-size:var(--fz-label-sm); font-weight:500; line-height:1.43; background:rgba(255,255,255,.1); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease); }
.tag:hover{ background:#fff; color:var(--forest); border-color:#fff; }
.tag-plane{ width:46px;height:46px;border-radius:50%; border:1px solid rgba(255,255,255,.6); background:rgba(255,255,255,.1); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); display:grid;place-items:center; }
.hero__wordwrap{ position:absolute; bottom:var(--sp-64); left:0; right:0; z-index:2; text-align:center; }
.hero__word{ display:block; margin:0; text-align:center; font-family:var(--display); font-weight:600; font-size:var(--fz-mega); line-height:.82; letter-spacing:-.03em; padding:0 clamp(16px,3vw,40px); white-space:nowrap; text-box-trim:trim-both; text-box-edge:cap alphabetic; }

/* ---- generic scene ---- */
.scene{ position:relative; padding:clamp(80px,11vh,150px) 0; }
.scene--light{ background:var(--white); }
.scene--forest{ background:var(--forest); color:#fff; }
.scene--photo{ color:#fff; min-height:100svh; display:flex; align-items:center; }
.scene__photo{ position:absolute; inset:0; background-size:cover; background-position:center; }
.scene__photo::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(36,88,76,.5), rgba(30,33,38,.7)); }
.scene__inner{ position:relative; z-index:2; }

.index-row{ display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }
.sec-index{ font-family:var(--display); font-size:.95rem; color:var(--muted); letter-spacing:.04em; }
.scene--forest .sec-index, .scene--photo .sec-index{ color:rgba(255,255,255,.7); }
.sec-label{ font-family:var(--display); font-weight:500; font-size:var(--fz-label); color:var(--forest); }
.scene--forest .sec-label, .scene--photo .sec-label{ color:var(--lima); }
#vize .sec-label{ margin:0; font-size:var(--fz-h2); font-weight:600; letter-spacing:-.02em; line-height:1; color:var(--ink); }
.sec-counter{ font-family:var(--display); font-size:1rem; display:flex; align-items:center; gap:14px; margin-left:auto; }

.lede-col{ max-width:46ch; color:var(--muted); margin-top:6px; }
.scene--forest .lede-col, .scene--photo .lede-col{ color:rgba(255,255,255,.82); }
.vize-intro{ width:fit-content; max-width:46ch; margin-left:auto; text-align:left; }
.vize-intro .lede-col{ margin:0; max-width:none; font-size:var(--fz-label-xl); font-weight:500; line-height:1.45; }

/* feature country card */
.feature{ margin-top:clamp(36px,6vw,72px); display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(28px,5vw,72px); align-items:end; }
.feature__name{ font-family:var(--display); font-weight:500; font-size:var(--fz-big); line-height:.92; letter-spacing:-.02em; }
.feature__nav{ display:flex; align-items:center; gap:16px; color:var(--muted); margin:18px 0 26px; }
.feature__nav .arrow{ width:44px;height:44px;border-radius:50%;border:1px solid var(--hair); display:grid;place-items:center; transition:all .3s var(--ease); }
.feature__nav .arrow:hover{ background:var(--forest); color:#fff; border-color:var(--forest); }
.stat-triplet{ display:flex; gap:clamp(20px,3vw,44px); margin:8px 0 22px; }
.stat-triplet .v{ font-family:var(--display); font-size:var(--fz-stat); font-weight:500; line-height:1; }
.stat-triplet .k{ font-size:.8rem; color:var(--muted); letter-spacing:.02em; }
.scene--forest .stat-triplet .k, .scene--photo .stat-triplet .k{ color:rgba(255,255,255,.7); }

/* ---- vize ülke slider (chipsa-tarzı ülke kartları) ---- */
.vize-head{ display:grid; grid-template-columns:1fr 1fr; gap:var(--grid-gutter); align-items:start; }
.vize-slider{ position:relative; margin-top:var(--sp-80); --img-w:clamp(320px,38vw,496px); --vslide-gap:var(--grid-gutter); }
.vize-slider::before, .vize-slider::after{ content:''; position:absolute; top:50%; width:calc(50% - var(--img-w)/2 - var(--vslide-gap)); height:1px; background:var(--hair); }
.vize-slider::before{ left:0; }
.vize-slider::after{ right:0; }
.vize-slider .icon-btn{ border-color:var(--hair); color:var(--ink); }
.vslide{ position:relative; display:grid; grid-template-columns:1fr auto 1fr; gap:var(--vslide-gap); align-items:stretch; }
.vslide__media .ph{ transition:transform .52s var(--ease); will-change:transform; }
.vslide__left{ transition:transform .26s var(--ease), opacity .26s var(--ease); will-change:transform, opacity; }
.vslide__desc{ transition:transform .26s var(--ease), opacity .26s var(--ease); will-change:transform, opacity; }
.vslide__left{ display:grid; grid-template-rows:1fr 1fr; }
.vstats{ display:flex; gap:var(--sp-16); align-self:end; margin-bottom:var(--sp-24); }
.vstat{ display:flex; flex-direction:column; gap:var(--sp-4); padding-left:var(--sp-16); border-left:1px solid var(--hair); }
.vstat:first-child{ padding-left:0; border-left:0; }
.vstat .k{ font-size:var(--fz-paragraph-xs); line-height:1.45; font-weight:400; color:var(--muted); }
.vstat .v{ font-family:var(--display); font-size:var(--fz-h4); font-weight:600; line-height:1.2; letter-spacing:-.01em; }
.vstat .k, .vstat .v{ white-space:nowrap; }
.vslide__name{ display:flex; align-items:center; gap:var(--sp-16); align-self:start; justify-self:start; margin-top:var(--sp-24); }
.vslide__name h3{ margin:0; font-family:var(--display); font-weight:600; font-size:var(--fz-h2); letter-spacing:-.02em; }
.vslide__namelink{ display:inline-flex; color:inherit; text-decoration:none; }
.vslide__namelink h3{ transition:color .3s var(--ease); }
.vslide__namelink:hover h3{ color:var(--forest); }
.vslide__media{ width:var(--img-w); align-self:center; }
.vslide__right{ display:grid; grid-template-rows:1fr 1fr; justify-items:start; }
.vslide__desc{ max-width:34ch; color:var(--muted); line-height:1.45; font-size:var(--fz-label-xl); font-weight:500; align-self:end; margin-bottom:var(--sp-24); }
.vslide__nav{ display:flex; align-items:center; gap:var(--sp-12); align-self:start; margin-top:var(--sp-24); }
.vslide__count{ font-family:var(--display); font-size:.95rem; color:var(--muted); margin-right:var(--sp-8); }
.vslide__count b{ color:var(--ink); font-weight:600; }
.vize-all{ display:flex; justify-content:center; margin-top:var(--sp-48); }
.vize-all .sec-counter{ margin:0; }

/* arch / capsule image masks */
.arch{ border-radius:50% / 30%; overflow:hidden; }
.arch img, .capsule img, .roundsq img{ width:100%; height:100%; object-fit:cover; }
.capsule{ border-radius:999px; overflow:hidden; }
.roundsq{ border-radius:22px; overflow:hidden; }
.media-tall{ aspect-ratio:3/4; }
.media-wide{ aspect-ratio:16/10; }
.media-sq{ aspect-ratio:1/1; }

/* ---- placeholders (geçici — gerçek görseller sonra yerleştirilecek) ---- */
.arch,.capsule,.roundsq{ position:relative; }
.ph{ position:absolute; inset:0; display:grid; place-items:center;
  background:var(--glove); background-size:cover; background-position:center;
  color:rgba(36,88,76,.4); font-family:var(--display); font-weight:500; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; }
.ph::after{ content:attr(data-label); padding:0 12px; text-align:center; }
.ph--dark{ background:linear-gradient(135deg,var(--forest),var(--forest-deep)); color:rgba(255,255,255,.5); }
.ph--dark::before{ content:''; position:absolute; inset:0; background:radial-gradient(80% 60% at 72% 18%, rgba(184,240,136,.16), transparent 60%); }
.scene__photo--ph{ background:linear-gradient(150deg,var(--forest),var(--forest-deep)); }
.scene__photo--ph::after{ background:radial-gradient(130% 130% at 82% 8%, rgba(184,240,136,.12), transparent 58%); }

.round-cta{ width:clamp(76px,8vw,110px); height:clamp(76px,8vw,110px); border-radius:50%; display:grid; place-items:center; background:var(--lima); color:var(--forest); font-weight:600; transition:all .3s var(--ease); }
.round-cta:hover{ background:var(--forest); color:var(--lima); }

/* big overlaid country name (photo scenes) */
.overlay-name{ font-family:var(--display); font-weight:600; font-size:var(--fz-mega); line-height:.85; letter-spacing:-.03em; position:relative; }
.overlay-name .cta-inline{ position:absolute; right:6%; top:50%; transform:translateY(-50%); }

/* ---- oturum (full-bleed, chipsa citizenship layout) ---- */
.oturum.scene--photo{ display:block; padding:0; }
.oturum .scene__photo::after{ background:linear-gradient(180deg, rgba(30,33,38,.34) 0%, rgba(30,33,38,.20) 42%, rgba(30,33,38,.46) 100%); }
.oturum__inner{ position:relative; z-index:2; min-height:100svh; display:flex; flex-direction:column; justify-content:center; padding:clamp(96px,13vh,140px) 0; }
.oturum__inner .sec-label{ position:absolute; top:clamp(96px,13vh,140px); left:0; margin:0; font-size:var(--fz-h2); font-weight:600; letter-spacing:-.02em; line-height:1; color:#fff; }
.oturum__core{ width:100%; }
.oturum__row{ display:grid; grid-template-columns:1fr 1fr; gap:var(--grid-gutter); align-items:end; }
.oturum__desc{ max-width:40ch; color:rgba(255,255,255,.85); line-height:1.45; font-size:var(--fz-label-xl); font-weight:500; }
.oturum__divider{ height:1px; background:var(--hair-light); margin-top:var(--sp-24); }
.oturum__name{ display:inline-flex; align-items:center; gap:clamp(20px,3.5vw,48px); margin-top:clamp(24px,4vh,48px); color:#fff; text-decoration:none; }
.oturum__name h3{ margin:0; font-family:var(--display); font-weight:600; font-size:clamp(3.5rem,12vw,11rem); line-height:.9; letter-spacing:-.03em; color:#fff; white-space:nowrap; }
.oturum__arrow{ flex:none; font-size:clamp(2.4rem,4.5vw,4rem); line-height:1; transition:transform .35s var(--ease); }
.oturum__name:hover .oturum__arrow{ transform:translateX(10px); }
.oturum__all{ position:absolute; bottom:clamp(36px,5vh,64px); left:50%; transform:translateX(-50%); display:inline-flex; align-items:center; gap:var(--sp-12); font-family:var(--display); font-size:.92rem; color:rgba(255,255,255,.85); text-decoration:none; white-space:nowrap; transition:color .25s var(--ease); }
.oturum__all .ar{ flex:none; display:inline-grid; place-items:center; width:38px; height:38px; border:1px solid var(--hair-light); border-radius:50%; transition:transform .3s var(--ease); }
.oturum__all:hover{ color:#fff; }
.oturum__all:hover .ar{ transform:translateX(4px); }
/* koyu (photo) sahnelerde stat renkleri — paylaşılan .vstat */
.scene--photo .vstat{ border-color:var(--hair-light); }
.scene--photo .vstat .k{ color:rgba(255,255,255,.78); }
.scene--photo .vstat .v{ color:#fff; }
/* oturum: Portekiz ↔ İspanya crossfade slider (iki bg katmanı + dots) */
.oturum .scene__photo{ z-index:0; }
.oturum__bg{ position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity 1.1s var(--ease); }
.oturum__bg.is-active{ opacity:1; }
.oturum .scene__photo::after{ z-index:2; }
.oturum__dots{ display:flex; gap:0; margin-top:var(--sp-32); }
.oturum__dot{ width:25px; height:25px; border-radius:50%; padding:var(--sp-8); border:0; cursor:pointer; background:rgba(255,255,255,.45); background-clip:content-box; -webkit-appearance:none; appearance:none; transition:background .3s var(--ease), width .3s var(--ease); }
.oturum__dot.is-active{ background:var(--lima); background-clip:content-box; width:42px; border-radius:14px; }

/* ---- hakkımızda / ekip (about — white smoke / light) ---- */
.about{ background:var(--glove); }
.about__head{ display:flex; justify-content:space-between; align-items:flex-start; gap:var(--grid-gutter); flex-wrap:wrap; }
.about__title{ margin:0; font-family:var(--display); font-weight:600; font-size:var(--fz-h2); line-height:1; letter-spacing:-.02em; color:var(--ink); }
.about__lede{ max-width:34ch; margin:var(--sp-32) 0 0; color:var(--muted); font-size:var(--fz-label-xl); font-weight:500; line-height:1.4; }
.about__main{ margin-top:var(--sp-64); display:grid; grid-template-columns:1fr 1fr; gap:var(--grid-gutter); align-items:stretch; }
.about__media{ aspect-ratio:4/5; }
.about__shot{ position:absolute; inset:0; opacity:0; pointer-events:none; transition:opacity 1.2s var(--ease); }
.about__shot.is-active{ opacity:1; pointer-events:auto; }
.about__shot img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
/* alt köşeye doğru ilerleyen (progressive) buzlu bant — Figma: Progressive blur 0→7 + koyulaşan gradient.
   CSS'te native progressive blur yok → artan blur'lu, üst üste binen mask'lı katmanlarla taklit. */
.about__fade{ position:absolute; left:0; right:0; bottom:0; height:44%; z-index:1; pointer-events:none; }
.about__fade .bl{ position:absolute; inset:0; }
.about__fade .bl1{ backdrop-filter:blur(1px);   -webkit-backdrop-filter:blur(1px);   -webkit-mask-image:linear-gradient(to bottom, transparent 0%, #000 18%);  mask-image:linear-gradient(to bottom, transparent 0%, #000 18%); }
.about__fade .bl2{ backdrop-filter:blur(2px);   -webkit-backdrop-filter:blur(2px);   -webkit-mask-image:linear-gradient(to bottom, transparent 18%, #000 38%); mask-image:linear-gradient(to bottom, transparent 18%, #000 38%); }
.about__fade .bl3{ backdrop-filter:blur(3.5px); -webkit-backdrop-filter:blur(3.5px); -webkit-mask-image:linear-gradient(to bottom, transparent 40%, #000 60%); mask-image:linear-gradient(to bottom, transparent 40%, #000 60%); }
.about__fade .bl4{ backdrop-filter:blur(5px);   -webkit-backdrop-filter:blur(5px);   -webkit-mask-image:linear-gradient(to bottom, transparent 62%, #000 80%); mask-image:linear-gradient(to bottom, transparent 62%, #000 80%); }
.about__fade .bl5{ backdrop-filter:blur(7px);   -webkit-backdrop-filter:blur(7px);   -webkit-mask-image:linear-gradient(to bottom, transparent 82%, #000 96%); mask-image:linear-gradient(to bottom, transparent 82%, #000 96%); }
.about__scrim{ position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.08) 30%, rgba(0,0,0,.22) 60%, rgba(0,0,0,.40) 80%, rgba(0,0,0,.56) 100%); }

/* kişi bilgisi: isim üstte, numara altta (sola dayalı); sağda 'git' oku — tüm alan WhatsApp linki */
.about__contact{ position:absolute; left:0; right:0; bottom:0; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:var(--sp-16); padding:var(--sp-24); color:#fff; transition:opacity .4s var(--ease); }
.about__ptext{ display:flex; flex-direction:column; align-items:flex-start; gap:var(--sp-8); }
.about__pname{ font-family:var(--display); font-weight:600; font-size:var(--fz-h4); letter-spacing:-.01em; line-height:1.1; }
.about__pwa{ display:inline-flex; align-items:center; gap:var(--sp-8); font-family:var(--display); font-weight:500; font-size:var(--fz-label-lg); }
.about__pwa .ic{ display:block; flex:none; }
.about__go{ flex:none; width:46px; height:46px; border-radius:50%; display:grid; place-items:center; color:#fff; background:rgba(255,255,255,.14); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.45); transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease); }
.about__contact:hover .about__go{ background:var(--lima); color:var(--forest); border-color:var(--lima); }
.about__go svg{ display:block; }

/* slider ileri/geri ok — yan kenarlarda, dikey ortalı, içi şeffaf glassy */
.about__nav{ position:absolute; top:50%; transform:translateY(-50%); z-index:4; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; cursor:pointer; color:var(--forest); background:rgba(255,255,255,.28); backdrop-filter:blur(6px) saturate(120%); -webkit-backdrop-filter:blur(6px) saturate(120%); border:1px solid rgba(255,255,255,.6); -webkit-appearance:none; appearance:none; padding:0; opacity:0; pointer-events:none; transition:opacity .3s var(--ease), background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease); }
.about__nav--prev{ left:var(--sp-16); }
.about__nav--next{ right:var(--sp-16); }
.about__nav:hover{ background:var(--lima); border-color:var(--lima); }
.about__nav svg{ display:block; }
/* yan oklar yalnızca fotoğraf alanına hover'da görünür (masaüstü) */
.about__media:hover .about__nav{ opacity:1; pointer-events:auto; }
/* pagination dots — fotoğraf altında; yalnızca dokunmatikte (swipe ile). masaüstünde gizli, oklar kullanılır. */
.about__dots{ display:none; justify-content:center; gap:0; margin-top:var(--sp-16); }
/* dokunma hedefi 25px+; görünen nokta 9px — padding hit-area'yı büyütür, background content-box'a kırpılır */
.about__dot{ width:25px; height:25px; border-radius:50%; padding:var(--sp-8); border:0; cursor:pointer; background:var(--hair); background-clip:content-box; -webkit-appearance:none; appearance:none; transition:background .3s var(--ease), width .3s var(--ease); }
.about__dot.is-active{ background:var(--forest); background-clip:content-box; width:42px; border-radius:14px; }
@media (hover:none){ .about__nav{ display:none; } .about__dots{ display:flex; } }
.about__panel{ display:flex; flex-direction:column; justify-content:space-between; align-items:center; text-align:center; gap:var(--sp-32); padding:var(--sp-24) var(--sp-16); }
.about__mid{ display:flex; flex-direction:column; align-items:center; gap:var(--sp-24); }
.about__eyebrow{ color:var(--muted); }
.about__brand{ margin:0; font-size:var(--fz-h1); color:var(--ink); }
.about__desc{ max-width:42ch; margin:0; color:var(--muted); font-size:var(--fz-label-xl); font-weight:500; line-height:1.45; }
.about .value-pill{ border-color:var(--hair); }
.about .tag-plane{ border-color:var(--hair); background:rgba(30,33,38,.03); backdrop-filter:none; -webkit-backdrop-filter:none; color:var(--forest); }

/* value pills row */
.values{ display:flex; flex-wrap:wrap; gap:var(--sp-16); justify-content:center; margin:0; }
.value-pill{ border:1px solid rgba(255,255,255,.4); border-radius:var(--r-pill); padding:12px 24px; display:inline-flex; gap:10px; align-items:center; font-weight:500; }
.value-pill .ic{ color:var(--duckling); }

/* ---- istatistik / sayaç (chipsa "years of operation") ---- */
.stat .scene__photo::after{ background:linear-gradient(180deg, rgba(36,88,76,.42) 0%, rgba(30,33,38,.55) 55%, rgba(30,33,38,.72) 100%); }
.stat__arch{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:1; width:clamp(340px,36vw,520px); height:min(78vh,680px); border-radius:50% / 30%; background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.05)); border:1px solid rgba(255,255,255,.18); -webkit-backdrop-filter:blur(2px) brightness(1.08); backdrop-filter:blur(2px) brightness(1.08); pointer-events:none; }
.stat__inner{ position:relative; z-index:2; display:grid; grid-template-columns:1fr 1.15fr 1fr; align-items:center; gap:clamp(24px,4vw,56px); padding:clamp(96px,13vh,130px) 0; }
.stat__head{ display:flex; flex-direction:column; align-items:flex-start; gap:var(--sp-24); }
.stat__title{ margin:0; font-family:var(--display); font-weight:500; font-size:var(--fz-h2); line-height:1.12; letter-spacing:-.02em; color:#fff; max-width:15ch; }
.stat__wa{ display:inline-flex; align-items:center; gap:var(--sp-8); padding:var(--sp-12) var(--sp-24); border-radius:var(--r-pill); background:rgba(255,255,255,.14); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.5); color:#fff; font-family:var(--display); font-weight:600; font-size:.95rem; transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease); }
.stat__wa:hover{ background:var(--lima); color:var(--forest); border-color:var(--lima); }
.stat__wa .ic{ display:block; flex:none; }
.stat__wa--m{ display:none; } /* mobil akış kopyası — yalnızca ≤1000'de görünür */
.stat__center{ text-align:center; }
.stat__label{ font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.72); transition:opacity .35s var(--ease); }
.stat__num{ margin-top:var(--sp-16); }
.stat__fig{ display:inline-block; font-family:var(--display); font-weight:500; font-size:clamp(4rem,11vw,8.5rem); line-height:1; letter-spacing:-.03em; color:#fff; transition:opacity .35s var(--ease); }
.stat__dots{ display:flex; justify-content:center; gap:var(--sp-12); margin-top:var(--sp-24); }
.stat__dots i{ width:22px; height:2px; border-radius:2px; background:rgba(255,255,255,.35); transition:background .3s var(--ease); }
.stat__dots i.on{ background:#fff; }
.stat__desc{ margin:0; justify-self:end; max-width:32ch; text-align:right; color:rgba(255,255,255,.8); line-height:1.55; }

/* gallery (vize onaylarımız) */
.gallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--grid-gutter); margin-top:48px; }
.gallery .arch{ aspect-ratio:3/4; cursor:none; }
/* mobil slider pagination — about__dot ile aynı reçete (25px dokunma hedefi, 9px görünen nokta) */
.gallery__dots{ display:none; justify-content:center; gap:0; margin-top:var(--sp-16); }
.gallery__dot{ width:25px; height:25px; border-radius:50%; padding:var(--sp-8); border:0; cursor:pointer; background:var(--hair); background-clip:content-box; -webkit-appearance:none; appearance:none; transition:background .3s var(--ease), width .3s var(--ease); }
.gallery__dot.is-active{ background:var(--forest); background-clip:content-box; width:42px; border-radius:14px; }

/* process */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--grid-gutter); margin-top:48px; }
.step{ border-top:1px solid var(--hair); padding-top:18px; }
.step .n{ font-family:var(--display); font-size:1.1rem; color:var(--forest); }
.step h4{ font-family:var(--display); font-weight:500; font-size:1.3rem; margin:14px 0 8px; }
.step p{ color:var(--muted); font-size:.95rem; margin:0; }

/* google yorumları — yatay akan marquee (kart seti 2 kopya; -50% kayar, kusursuz döngü) */
.rev-marquee{ position:relative; margin-top:var(--sp-48); padding:var(--sp-16) 0 var(--sp-24); overflow-x:auto; overflow-y:hidden; scroll-behavior:auto; cursor:grab; scrollbar-width:none; -ms-overflow-style:none;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.rev-marquee::-webkit-scrollbar{ display:none; }          /* scrollbar gizli (kaydırma JS + native) */
.rev-marquee.is-grab, .onay-marquee.is-grab{ cursor:grabbing; user-select:none; } /* mouse ile sürüklerken */
.rev-track{ display:flex; gap:var(--sp-24); width:max-content; }
/* kart: F7F9F4 zemin (kullanıcı isteği), yazılar forest; altın yıldız + 4.9/5 + Google G */
.rev-card{ flex:0 0 clamp(300px,82vw,400px); box-sizing:border-box; background:#F7F9F4; border-radius:24px; padding:var(--sp-32); display:flex; flex-direction:column; gap:var(--sp-24); box-shadow:var(--shadow-sm); color:var(--forest); }
.rev-top{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-16); }
.rev-rate{ display:inline-flex; align-items:center; gap:var(--sp-12); }
.rev-stars{ display:inline-flex; gap:2px; color:#F2B01E; font-size:1.1rem; line-height:1; }
.rev-stars i{ font-style:normal; }
.rev-stars i.off{ color:rgba(36,88,76,.18); }
.rev-score{ font-family:var(--display); font-weight:600; font-size:1rem; color:var(--forest); }
.rev-g{ flex:none; display:block; }
.rev-text{ margin:0; font-family:var(--display); font-weight:500; font-size:clamp(1.25rem,1.6vw,1.5rem); line-height:1.3; letter-spacing:-.01em; color:var(--forest);
  display:-webkit-box; -webkit-line-clamp:7; line-clamp:7; -webkit-box-orient:vertical; overflow:hidden; }
.rev-who{ display:flex; flex-direction:column; gap:2px; margin-top:auto; }
.rev-name{ font-family:var(--display); font-weight:600; font-size:1.05rem; color:var(--forest); line-height:1.2; }
.rev-sub{ font-size:var(--fz-label-sm); color:rgba(36,88,76,.5); }

/* vize onayları — yorumlardaki gibi yatay akan + sürüklenebilir slider (9:16 görsel kartları) */
.onay-marquee{ position:relative; margin-top:var(--sp-48); padding:var(--sp-16) 0; overflow-x:auto; overflow-y:hidden; scroll-behavior:auto; cursor:grab; scrollbar-width:none; -ms-overflow-style:none;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.onay-marquee::-webkit-scrollbar{ display:none; }
.onay-track{ display:flex; gap:var(--sp-24); width:max-content; }
.onay-card{ flex:0 0 clamp(220px,62vw,264px); margin:0; border-radius:var(--r-card); overflow:hidden; background:var(--glove); box-shadow:var(--shadow-sm); }
.onay-card img{ display:block; width:100%; aspect-ratio:9/16; object-fit:cover; }
/* başlık satırı: sol metin bloğu + sağ üstte "Tümünü gör" (Instagram) */
.onay-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:var(--sp-24); flex-wrap:wrap; }
.onay-intro{ min-width:0; }
.onay-all{ flex:none; display:inline-flex; align-items:center; gap:var(--sp-12); font-family:var(--display); font-weight:500; font-size:1rem; color:var(--ink); white-space:nowrap; transition:color .25s var(--ease); }
.onay-all .ar{ display:inline-grid; place-items:center; width:44px; height:44px; border:1px solid var(--hair); border-radius:50%; transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease); }
.onay-all .ar svg{ display:block; }
.onay-all:hover{ color:var(--forest); }
.onay-all:hover .ar{ background:var(--forest); color:#fff; border-color:var(--forest); }
@media (prefers-reduced-motion:reduce){
  .rev-track{ animation:none; }
  .rev-marquee{ overflow-x:auto; }
}

/* faq */
.faq__title{ font-size:var(--fz-h2); text-align:center; } /* mobilde sola yaslanır (≤760 MQ) */
.faq{ max-width:880px; margin:40px auto 0; border-top:1px solid var(--hair); }
.faq__item{ border-bottom:1px solid var(--hair); }
.faq__q{ display:flex; justify-content:space-between; align-items:center; padding:24px 4px; font-family:var(--display); font-weight:500; font-size:clamp(1.1rem,1.6vw,1.4rem); }
.faq__q .pm{ color:var(--forest); transition:transform .3s; }
.faq__item.open .faq__q .pm{ transform:rotate(45deg); }
.faq__a{ max-height:0; overflow:hidden; color:var(--muted); transition:max-height .35s var(--ease), padding .35s; padding:0 4px; }
.faq__item.open .faq__a{ max-height:240px; padding:0 4px 24px; }

/* ---- legal / gizlilik politikası sayfası ---- */
.legal{ background:var(--white); padding:calc(var(--sp-96) + var(--sp-32)) 0 var(--sp-96); }
.legal__wrap{ max-width:820px; }
.legal__back{ display:inline-flex; align-items:center; gap:var(--sp-8); font-family:var(--display); font-size:var(--fz-label-sm); font-weight:500; color:var(--muted); margin-bottom:var(--sp-24); transition:color .25s var(--ease); }
.legal__back:hover{ color:var(--forest); }
.legal__back svg{ display:block; }
.legal h1{ margin:0 0 var(--sp-24); font-family:var(--display); font-weight:600; font-size:var(--fz-h1); line-height:1; letter-spacing:-.02em; color:var(--ink); }
.legal h2{ margin:var(--sp-48) 0 var(--sp-12); font-family:var(--display); font-weight:600; font-size:var(--fz-h4); letter-spacing:-.01em; color:var(--ink); }
.legal h3{ margin:var(--sp-24) 0 var(--sp-8); font-family:var(--display); font-weight:600; font-size:var(--fz-h5); color:var(--ink); }
.legal p{ margin:0 0 var(--sp-16); color:var(--muted); line-height:1.65; }
.legal ul{ margin:0 0 var(--sp-16); padding-left:var(--sp-24); color:var(--muted); line-height:1.6; }
.legal li{ margin:var(--sp-4) 0; }
.legal a{ color:var(--forest); text-decoration:underline; }
.legal strong{ color:var(--ink); font-weight:600; }

/* ===== Link-in-bio (/linkler) ===== */
.lt{ min-height:100svh; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--sp-24); padding:var(--sp-64) var(--sp-24); background:var(--forest); color:var(--white); text-align:center; }
.lt__top{ display:flex; flex-direction:column; align-items:center; gap:var(--sp-12); }
.lt__logo{ width:72px; height:72px; color:var(--lima); }
.lt__logo svg{ width:100%; height:100%; display:block; }
.lt__name{ font-family:var(--display); font-weight:600; font-size:var(--fz-h4); letter-spacing:-.01em; }
.lt__tag{ max-width:34ch; color:rgba(255,255,255,.78); line-height:1.55; font-family:var(--body); font-size:var(--fz-label-md); }
.lt__links{ width:min(100%,440px); display:flex; flex-direction:column; gap:var(--sp-12); margin-top:var(--sp-8); }
.lt-link{ display:flex; align-items:center; gap:var(--sp-16); padding:var(--sp-16) var(--sp-24); border-radius:var(--r-pill); background:rgba(255,255,255,.08); border:1px solid var(--hair-light); color:var(--white); font-family:var(--display); font-weight:500; font-size:var(--fz-label-md); transition:transform .2s var(--ease), background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease); }
.lt-link:hover{ background:var(--white); color:var(--forest); border-color:var(--white); transform:translateY(-2px); }
.lt-link__ic{ flex:none; width:24px; height:24px; display:grid; place-items:center; }
.lt-link__ic svg{ width:22px; height:22px; display:block; }
.lt-link__tx{ flex:1; text-align:left; }
.lt-link__ar{ flex:none; opacity:.45; transition:opacity .2s var(--ease), transform .2s var(--ease); }
.lt-link:hover .lt-link__ar{ opacity:1; transform:translateX(3px); }
.lt-link--wa{ background:var(--lima); color:var(--forest); border-color:var(--lima); }
.lt-link--wa .lt-link__ar{ opacity:.6; }
.lt__foot{ margin-top:var(--sp-16); font-family:var(--body); font-size:var(--fz-label-sm); color:rgba(255,255,255,.55); }
.lt__foot a{ color:rgba(255,255,255,.8); text-decoration:underline; }
@media (max-width:560px){ .lt{ justify-content:flex-start; padding:var(--sp-48) var(--sp-16); } }

/* footer — chipsa düzeni, lima zemin + gökyüzü pencere */
.foot{ background:var(--lima); color:var(--ink); padding:clamp(56px,8vw,96px) 0 40px; }
.foot__top{ display:flex; justify-content:space-between; align-items:flex-start; gap:var(--sp-32); flex-wrap:wrap; }
.foot__info{ display:flex; gap:clamp(24px,4vw,64px); flex-wrap:wrap; }
.foot__item{ display:flex; flex-direction:column; gap:var(--sp-8); }
.foot__addr{ max-width:32ch; text-align:right; }
.foot__top .k{ font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(30,33,38,.55); }
.foot__top .v{ font-family:var(--display); font-weight:500; font-size:clamp(1rem,1.4vw,1.3rem); line-height:1.35; color:var(--ink); }
.foot__top a.v{ transition:opacity .25s var(--ease); }
.foot__top a.v:hover{ opacity:.6; }
.foot__window{ position:relative; width:clamp(300px,36vw,480px); aspect-ratio:3/4; margin:clamp(40px,6vw,72px) auto; border-radius:50% / 30%; overflow:hidden; }
.foot__window img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.foot__cta{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); display:inline-flex; align-items:center; background:var(--white); color:var(--ink); border-radius:var(--r-pill); padding:var(--sp-16) var(--sp-32); font-family:var(--display); font-weight:600; font-size:1rem; transition:background .3s var(--ease), color .3s var(--ease); }
.foot__cta:hover{ background:var(--ink); color:var(--white); }
.foot__bottom{ display:flex; justify-content:space-between; align-items:center; gap:var(--sp-24); flex-wrap:wrap; border-top:1px solid rgba(30,33,38,.16); padding-top:var(--sp-24); }
.foot__brand{ display:inline-flex; align-items:center; }
.foot__brand img{ height:clamp(38px,3.4vw,46px); width:auto; display:block; }
.foot__legal{ display:flex; align-items:center; gap:var(--sp-24); font-size:.85rem; color:rgba(30,33,38,.6); }
.foot__legal a{ text-decoration:underline; }
.foot__legal a:hover{ color:var(--ink); }
.foot__social{ display:flex; gap:var(--sp-8); }
.foot__social a{ width:40px;height:40px;border-radius:50%; border:1px solid rgba(30,33,38,.22); display:grid;place-items:center; color:var(--ink); transition:all .3s var(--ease); }
.foot__social a:hover{ background:var(--ink); color:var(--lima); border-color:var(--ink); }

/* ---- vize alt sayfası (vize.html) — chipsa /services/visa düzeni ---- */
.vpage{ background:var(--white); padding:var(--sp-128) 0 var(--sp-64); }
.vpage__back{ display:inline-flex; align-items:center; gap:var(--sp-8); font-family:var(--display); font-size:var(--fz-label-sm); font-weight:500; color:var(--muted); transition:color .25s var(--ease); }
.vpage__back:hover{ color:var(--forest); }
.vpage__back svg{ display:block; }
.vpage__head{ display:grid; grid-template-columns:1fr 1fr; gap:var(--grid-gutter); align-items:start; margin-top:var(--sp-32); }
.vpage__title{ margin:0; font-family:var(--display); font-weight:600; font-size:var(--fz-h1); line-height:1; letter-spacing:-.02em; color:var(--ink); }
.vpage__lede{ margin:0 0 0 auto; max-width:46ch; color:var(--muted); font-size:var(--fz-label-xl); font-weight:500; line-height:1.45; }
/* oturum modunda filtre gizli → başlık ile liste arası 'Destinasyon' boşluğunu telafi et */
.vpage--oturum .vlist{ margin-top:var(--sp-80); }
/* destinasyon filtresi */
.vfilter{ margin-top:var(--sp-48); border-top:1px solid var(--hair); border-bottom:1px solid var(--hair); }
.vfilter__row{ display:flex; align-items:center; gap:var(--sp-12); flex-wrap:wrap; padding:var(--sp-16) 0; }
.vfilter__label{ font-size:var(--fz-label-sm); color:var(--muted); margin-right:var(--sp-8); }
.vfilter__pill{ display:inline-flex; align-items:flex-start; gap:var(--sp-4); padding:var(--sp-12) var(--sp-24); border-radius:var(--r-pill); border:1px solid var(--hair); background:var(--white); color:var(--ink); font-family:inherit; font-size:var(--fz-label-sm); font-weight:500; line-height:1.43; cursor:pointer; -webkit-appearance:none; appearance:none; transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease); }
.vfilter__pill sup{ font-size:var(--fz-label-xs); line-height:1; color:var(--forest); }
.vfilter__pill:hover{ border-color:var(--forest); }
.vfilter__pill.is-active{ background:var(--forest); border-color:var(--forest); color:#fff; }
.vfilter__pill.is-active sup{ color:var(--lima); }
/* ülke satırları — thumb uçak penceresi (arch); metrikler ada yakın (orta kolon); sağ uçta git-oku */
.vrow{ display:grid; grid-template-columns:var(--sp-80) 1fr 1fr auto; gap:var(--grid-gutter); align-items:center; padding:var(--sp-24) 0; border-bottom:1px solid var(--hair); transition:background .3s var(--ease); }
.vrow__thumb{ width:var(--sp-80); aspect-ratio:3/4; border-radius:50% / 30%; overflow:hidden; position:relative; }
.vrow__thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.vrow:hover .vrow__thumb img{ transform:scale(1.07); }
.vrow__thumb .ph{ font-size:var(--fz-label-xl); letter-spacing:0; } /* görseli olmayan ülkede baş harf */
.vrow:last-child{ border-bottom:0; } /* en alttaki ülkenin altında çizgi gerekmez — boşluk yeterli */
.vrow__name{ margin:0; font-family:var(--display); font-weight:600; font-size:var(--fz-h3); letter-spacing:-.02em; color:var(--ink); transition:color .3s var(--ease); }
.vrow:hover .vrow__name{ color:var(--forest); }
.vrow__stats{ justify-self:start; align-self:center; margin:0; }
/* satır içinde ad (h3/600) ile yarışmasın: değerler DS label-xl rolünde (20px/500/1.4) */
.vrow__stats .vstat .v{ font-size:var(--fz-label-xl); font-weight:500; line-height:1.4; }
.vrow__go{ width:38px; height:38px; border-radius:50%; border:1px solid var(--hair); display:grid; place-items:center; color:var(--ink); transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease); }
.vrow:hover .vrow__go{ background:var(--forest); color:#fff; border-color:var(--forest); }
.vrow__go svg{ display:block; }

/* whatsapp float */
.wa{ position:fixed; right:24px; bottom:24px; z-index:80; display:inline-flex; align-items:center; gap:var(--sp-8); padding:var(--sp-12) var(--sp-24); border-radius:var(--r-pill); background:var(--forest); color:#fff; font-family:var(--display); font-weight:600; font-size:.95rem; box-shadow:0 12px 30px rgba(30,33,38,.35); transition:background .3s var(--ease), color .3s var(--ease), opacity .35s var(--ease), transform .35s var(--ease); }
.wa:hover{ background:var(--lima); color:var(--forest); }
.wa--hidden{ opacity:0; transform:translateY(14px); pointer-events:none; }
.wa .ic{ display:block; flex:none; }

/* ---- reveal animation ----
   NOT: Gizleme için clip-path KULLANMA. Chromium IntersectionObserver, hedefin kendi
   clip-path'ini kesişim hesabına katıyor; sıfır-genişlik clip (inset(0 100% 0 0)) → IO
   kesişimi 0 → isIntersecting hiç true olmuyor → '.in' asla eklenmiyor → eleman kalıcı
   gizli kalıyor (deadlock; "Biz Kimiz"/"Alaska Vize" gibi başlıklar kayboluyordu).
   Çözüm: clip varyantı da opacity+transform ile açılır (IO için güvenli — layout kutusu
   tam boyutta kalır). */
[data-reveal]{ opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
[data-reveal="clip"]{ transform:translateX(-26px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
[data-reveal].in{ opacity:1; transform:none; }

/* ---- responsive ---- */
@media (max-width:1000px){
  .feature{ grid-template-columns:1fr; }
  .foot__top{ flex-direction:column; }
  .foot__addr{ text-align:left; max-width:none; }
  .gallery{ grid-template-columns:repeat(2,1fr); }
  .steps{ grid-template-columns:repeat(2,1fr); }
  .about__main{ grid-template-columns:1fr; }
  .about__media{ aspect-ratio:4/5; }
  .about__panel{ padding:var(--sp-32) 0 0; }
  .about__nav{ display:none; }
  .about__dots{ display:flex; }
  .stat__inner{ grid-template-columns:1fr; gap:var(--sp-48); text-align:center; }
  .stat__head{ align-items:center; text-align:center; }
  .stat__title{ max-width:22ch; }
  .stat__desc{ justify-self:center; text-align:center; }
  /* arch arka-plan overlay'i yerine pencere akışın içinde: başlık → pencere(stat) → açıklama → buton */
  .stat__arch{ display:none; }
  .stat__head .stat__wa{ display:none; }
  .stat__wa--m{ display:inline-flex; justify-self:center; }
  .stat__center{ justify-self:center; width:min(86vw,340px); aspect-ratio:3/4; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:var(--sp-24); border-radius:50% / 30%; background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.05)); border:1px solid rgba(255,255,255,.18); -webkit-backdrop-filter:blur(2px) brightness(1.08); backdrop-filter:blur(2px) brightness(1.08); }
  /* vize: başlık tek kolon; slider dikey akış — görsel üstte, ad → stat → açıklama → ok altta */
  .vize-head{ grid-template-columns:1fr; gap:var(--sp-16); }
  .vize-intro{ margin-left:0; width:auto; }
  .vize-slider{ margin-top:var(--sp-48); }
  .vize-slider::before, .vize-slider::after{ content:none; }
  .vslide{ grid-template-columns:1fr; }
  /* görsel en üstte; ad + metrikler görselin altında, açıklamanın üstünde */
  .vslide__media{ width:min(100%,560px); margin:0 auto; order:-1; }
  .vslide__left{ display:flex; flex-direction:column; }
  .vslide__title{ order:-1; }
  .vslide__name{ margin-top:0; }
  .vstats{ align-self:auto; margin:var(--sp-24) 0 0; }
  .vslide__right{ display:flex; flex-direction:column; }
  .vslide__desc{ margin:var(--sp-16) 0 0; align-self:auto; }
  .vslide__nav{ margin-top:var(--sp-24); }
  /* oturum: stat + açıklama alt alta */
  .oturum__row{ grid-template-columns:1fr; gap:var(--sp-24); }
  /* vize alt sayfası: başlık + lede tek kolon */
  .vpage__head{ grid-template-columns:1fr; align-items:start; gap:var(--sp-16); }
  .vpage__lede{ margin-left:0; }
}
@media (max-width:760px){
  .hdr__nav, .hdr__cta .btn-cap, .hdr__cta .icon-btn:not(.burger){ display:none; }
  .hdr__phone{ font-size:.85rem; }
  .burger{ display:grid; }
  body{ cursor:auto; }
  .cursor-dot,.cursor-ring{ display:none; }
  .vstats{ gap:var(--sp-12); }
  .vstat{ padding-left:var(--sp-12); }
  .steps{ grid-template-columns:1fr; }
  .faq__title{ text-align:left; }
  /* onaylar galerisi: tek kart + yatay kaydırma (scroll-snap), dots ile */
  .gallery{ display:flex; gap:var(--sp-16); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .gallery::-webkit-scrollbar{ display:none; }
  /* reveal'in translateY'si scroll konteynerinde dikey taşma yaratıp kartı kesiyordu → sadece opacity */
  .gallery .arch{ flex:0 0 86%; scroll-snap-align:start; transform:none; }
  .gallery__dots{ display:flex; }
  .foot__bottom{ flex-direction:column; align-items:flex-start; gap:var(--sp-16); }
  .foot__window{ width:100%; max-width:480px; }
  /* vize alt sayfası: satırlar iki katlı (görsel + ad + ok / metrikler) */
  .vrow{ grid-template-columns:var(--sp-64) auto 1fr; grid-template-rows:auto auto; row-gap:var(--sp-16); padding:var(--sp-16) 0; }
  .vrow__thumb{ width:var(--sp-64); }
  .vrow__name{ font-size:var(--fz-h4); }
  .vrow__go{ grid-column:3; grid-row:1; justify-self:start; width:32px; height:32px; }
  .vrow__stats{ grid-column:1 / -1; grid-row:2; justify-self:start; flex-wrap:wrap; }
}

/* ===== iOS Safari mobil düzeltmeleri (masaüstü ETKİLENMEZ) — gerçek cihaz tanısıyla doğrulandı =====
   (1) .about__media: aspect-ratio + tüm çocuklar position:absolute olunca iOS yüksekliği 0'a çökertiyordu
       (Chromium hesaplıyor → masaüstünde sorun yoktu; ekip fotoğrafı bu yüzden beyaz/h=0 idi).
       padding-bottom (4:5 = %125) ile yüksekliği garanti et; absolute shot'lar inset:0 ile doldurur.
   (2) Yorum/onay marquee'si app.js'te dokunmatikte TEK kopya bırakılıyor (3+ kopyalı track iOS GPU
       doku genişliği sınırını ~9× aşıp tüm şeridi beyazlatıyordu). Kartı biraz daraltıp tek kopya da sınır altında. */
@media (hover: none) and (pointer: coarse) {
  .about__media{ aspect-ratio:auto; position:relative; height:0; padding-bottom:125%; }
  .rev-card{ flex:0 0 300px; }
}
