/* =========================================================
   Tezgit Yachts — style.css
   Porsche.com.tr şablonu · Manrope · siyah/beyaz + altın vurgu
   ========================================================= */

:root{
  --black:#010205;
  --white:#fff;
  --grey-100:#f7f7f7;
  --grey-200:#eeeff0;
  --grey-300:#e3e4e5;
  --grey-400:#a6a9ac;   /* koyu zemin üstü ikincil metin (footer) */
  --grey-500:#6b6f73;   /* açık zemin üstü ikincil metin — WCAG AA (≥4.5:1) */
  --grey-600:#5b5f63;   /* konfigüratör ikincil metni — WCAG AA (beyaz üzerinde 6.4:1) */
  --grey-700:#4a4e51;
  --grey-900:#1a1b1e;
  --accent:#c9a962;
  --accent-deep:#a8894a;

  --font:"Manrope","Helvetica Neue",Arial,sans-serif;
  --header-h:64px;
  --gutter:clamp(16px,4vw,48px);
  --container:1440px;
  --radius:4px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --dur:.45s;
  --shadow-soft:0 20px 60px rgba(1,2,5,.18);
}
@media (min-width:768px){ :root{ --header-h:72px; } }
@media (min-width:992px){ :root{ --header-h:80px; } }

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 56px); }
body{
  margin:0;
  font-family:var(--font);
  font-size:16px;
  line-height:1.6;
  color:var(--black);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
body.is-locked{ overflow:hidden; }
h1,h2,h3,h4,p,figure,ul,ol{ margin:0; }
ul,ol{ padding:0; list-style:none; }
img,video,svg,picture{ display:block; max-width:100%; }
img{ height:auto; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; padding:0; cursor:pointer; }
input,select,textarea{ font:inherit; color:inherit; }
:focus{ outline:none; }
:focus-visible{ outline:2px solid var(--black); outline-offset:3px; box-shadow:0 0 0 5px var(--white); border-radius:2px; }
.section--dark :focus-visible,.hero :focus-visible,.model-hero :focus-visible,.cta-band :focus-visible,.lightbox :focus-visible,.home-models :focus-visible,.site-footer :focus-visible,
.page-home .site-header:not(.is-scrolled) :focus-visible,.page-model .site-header:not(.is-scrolled) :focus-visible{
  outline-color:var(--white); box-shadow:0 0 0 5px rgba(1,2,5,.6);
}
[inert]{ pointer-events:none; user-select:none; }
::selection{ background:var(--accent); color:var(--black); }
svg{ fill:currentColor; }
svg[fill="none"]{ fill:none; }

/* ---------- Utilities ---------- */
.visually-hidden{
  position:absolute!important; width:1px; height:1px; margin:-1px; padding:0;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
/* Bal küpü alanı: ekran dışında, odaklanamaz, okuyucuya görünmez (aria-hidden markup'ta) */
.form__hp{ position:absolute!important; left:-9999px; top:-9999px; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }
.skip-link{
  position:fixed; top:8px; left:8px; z-index:1000;
  padding:10px 16px; background:var(--black); color:var(--white);
  border-radius:var(--radius); font-weight:600; font-size:14px;
  transform:translateY(-200%); transition:transform .2s;
}
.skip-link:focus{ transform:none; }
.container{ width:100%; max-width:var(--container); margin:0 auto; padding:0 var(--gutter); }
.container--narrow{ max-width:1040px; }
.muted{ color:var(--grey-500); }

/* ---------- Typography ---------- */
.h1,.h2,.hero__title,.home-models__title,.home-cards__title{
  font-weight:600; letter-spacing:-.02em; line-height:1.05;
}
.h1{ font-size:clamp(2.4rem,6vw,4.5rem); }
.h2{ font-size:clamp(1.9rem,3.6vw,3rem); margin-bottom:.6em; }
.kicker{
  display:block; font-size:.8rem; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--grey-500); margin-bottom:1.2em;
}
.section--dark .kicker{ color:var(--accent); }
.lead{ font-size:clamp(1.05rem,1.6vw,1.3rem); font-weight:300; line-height:1.55; max-width:52ch; }
.statement{
  font-size:clamp(1.5rem,3vw,2.6rem); font-weight:300; line-height:1.25;
  letter-spacing:-.01em; max-width:26ch;
}
.note{ font-size:.85rem; color:var(--grey-500); line-height:1.6; margin-top:24px; max-width:70ch; }

/* ---------- Buttons ---------- */
.btn{
  --btn-bg:var(--black); --btn-fg:var(--white); --btn-bd:var(--black);
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:48px; padding:0 26px;
  background:var(--btn-bg); color:var(--btn-fg); border:1px solid var(--btn-bd);
  border-radius:var(--radius); font-weight:600; font-size:.95rem; letter-spacing:.01em;
  white-space:nowrap; transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.btn:hover{ transform:translateY(-1px); }
.btn:active{ transform:translateY(0); }
.btn--dark{ --btn-bg:var(--black); --btn-fg:var(--white); --btn-bd:var(--black); }
.btn--dark:hover{ --btn-bg:var(--grey-900); --btn-bd:var(--grey-900); }
.btn--light{ --btn-bg:var(--white); --btn-fg:var(--black); --btn-bd:var(--white); }
.btn--light:hover{ --btn-bg:var(--grey-200); --btn-bd:var(--grey-200); }
.btn--ghost{ --btn-bg:rgba(255,255,255,.12); --btn-fg:var(--white); --btn-bd:rgba(255,255,255,.7); backdrop-filter:blur(8px); }
.btn--ghost:hover{ --btn-bg:var(--white); --btn-fg:var(--black); --btn-bd:var(--white); }
.btn--outline-light{ --btn-bg:transparent; --btn-fg:var(--white); --btn-bd:rgba(255,255,255,.6); }
.btn--outline-light:hover{ --btn-bg:var(--white); --btn-fg:var(--black); --btn-bd:var(--white); }
.btn--outline{ --btn-bg:transparent; --btn-fg:var(--black); --btn-bd:var(--grey-400); }
.btn--outline:hover{ --btn-bg:var(--black); --btn-fg:var(--white); --btn-bd:var(--black); }
.btn--small{ min-height:40px; padding:0 18px; font-size:.85rem; }

.round-btn{
  width:48px; height:48px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid currentColor; opacity:.85;
  transition:opacity var(--dur),background var(--dur),color var(--dur);
}
.round-btn svg{ width:20px; height:20px; }
.round-btn:hover{ opacity:1; background:var(--white); color:var(--black); }
.round-btn:disabled,.round-btn[aria-disabled="true"],.round-btn.is-disabled{ opacity:.3; cursor:default; }
.round-btn[aria-disabled="true"]:hover,.round-btn.is-disabled:hover{ opacity:.3; background:transparent; color:currentColor; }

/* =========================================================
   HEADER
   ========================================================= */
.site-header{
  position:fixed; inset:0 0 auto 0; z-index:200;
  height:var(--header-h);
  color:var(--black);
  background:var(--white);
  transition:background .4s var(--ease),color .4s var(--ease),box-shadow .4s var(--ease),transform .4s var(--ease);
}
.site-header::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:var(--grey-300); opacity:1; transition:opacity .4s;
}
/* Hero'lu sayfalarda üst konumda saydam + beyaz */
.page-home .site-header:not(.is-scrolled),
.page-model .site-header:not(.is-scrolled){
  background:linear-gradient(to bottom,rgba(1,2,5,.55),rgba(1,2,5,0));
  color:var(--white);
}
.page-home .site-header:not(.is-scrolled)::after,
.page-model .site-header:not(.is-scrolled)::after{ opacity:0; }
.site-header.is-scrolled{ box-shadow:0 1px 0 var(--grey-300); }
.site-header.is-hidden{ transform:translateY(-100%); }
.site-header.is-hidden:focus-within{ transform:none; }
.site-header__inner{
  height:100%; display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
  padding:0 var(--gutter); max-width:var(--container); margin:0 auto;
}
.site-header__right{ display:flex; align-items:center; justify-content:flex-end; gap:18px; }

/* Hamburger */
.menu-btn{
  display:inline-flex; align-items:center; gap:12px; height:44px; padding:0 4px;
  justify-self:start;
}
.menu-btn__icon{ position:relative; width:22px; height:14px; display:block; }
.menu-btn__icon span{
  position:absolute; left:0; right:0; height:2px; background:currentColor; border-radius:2px;
  transition:transform .35s var(--ease),opacity .25s;
}
.menu-btn__icon span:nth-child(1){ top:0; }
.menu-btn__icon span:nth-child(2){ top:6px; transform-origin:left center; transform:scaleX(.727); }
.menu-btn__icon span:nth-child(3){ top:12px; }
.menu-btn:hover .menu-btn__icon span:nth-child(2){ transform:scaleX(1); }
.menu-btn__label{ font-size:.95rem; font-weight:600; }
@media (max-width:767px){
  .menu-btn__label{ display:none; }
  /* dokunma hedefi 44x44 — negatif kenar boşluğu ikonu aynı yerde tutar */
  .menu-btn{ padding:0 11px; margin-left:-7px; }
}

/* Logo */
.site-logo{ display:block; justify-self:center; padding:6px 0; }
.site-logo__mark{
  display:block; width:132px; aspect-ratio:1594/624;
  background:currentColor;
  -webkit-mask:url(../assets/logo/tezgit-yachts-white-600.png) center/contain no-repeat;
  mask:url(../assets/logo/tezgit-yachts-white-600.png) center/contain no-repeat;
}
@media (min-width:768px){ .site-logo__mark{ width:150px; } }
@media (min-width:992px){ .site-logo__mark{ width:168px; } }
.site-logo__mark--footer{ width:170px; color:var(--white); margin:0 auto; }

/* Dil anahtarı */
.lang-switch{ display:inline-flex; align-items:center; gap:6px; font-size:.82rem; font-weight:600; letter-spacing:.06em; }
.lang-switch button{ padding:13px 6px; min-width:32px; opacity:.55; transition:opacity .25s; position:relative; }
.lang-switch button::after{
  content:""; position:absolute; left:6px; right:6px; bottom:9px; height:1px; background:currentColor;
  transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease);
}
.lang-switch button:hover{ opacity:.9; }
.lang-switch button.is-active{ opacity:1; }
.lang-switch button.is-active::after{ transform:scaleX(1); }
/* JS yüklenmeden önce (FOUC betiği data-lang'ı ayarlar) doğru dil vurgulu görünsün */
html[data-lang="en"] .lang-switch button[data-lang="en"],html[data-lang="tr"] .lang-switch button[data-lang="tr"]{ opacity:1; }
html[data-lang="en"] .lang-switch button[data-lang="en"]::after,html[data-lang="tr"] .lang-switch button[data-lang="tr"]::after{ transform:scaleX(1); }
.lang-switch span{ opacity:.4; }
@media (max-width:767px){ .site-header .lang-switch{ display:none; } }

.icon-btn{ display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center; border-radius:50%; transition:background .3s; }
.icon-btn svg{ width:24px; height:24px; }
.icon-btn:hover{ background:rgba(128,128,128,.15); }

/* =========================================================
   MENÜ (off-canvas, iki sütun)
   ========================================================= */
.menu{ position:fixed; inset:0; z-index:300; visibility:hidden; pointer-events:none; }
.menu.is-open{ visibility:visible; pointer-events:auto; }
.menu__backdrop{
  position:absolute; inset:0; background:rgba(1,2,5,.55); backdrop-filter:blur(2px);
  opacity:0; transition:opacity .45s var(--ease);
}
.menu.is-open .menu__backdrop{ opacity:1; }
.menu__panel{
  position:absolute; top:0; bottom:0; left:0;
  width:100%; max-width:100%;
  background:var(--white); color:var(--black);
  display:flex; flex-direction:column;
  transform:translateX(-100%);
  transition:transform .55s var(--ease-out);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}
.menu.is-open .menu__panel{ transform:none; }
@media (min-width:768px){ .menu__panel{ width:420px; } }
@media (min-width:992px){ .menu__panel{ width:min(920px,86vw); } }

.menu__head{
  display:flex; align-items:center; justify-content:space-between;
  height:var(--header-h); padding:0 var(--gutter); flex:0 0 auto;
  border-bottom:1px solid var(--grey-300);
}
.menu__close{ display:inline-flex; align-items:center; gap:10px; height:44px; font-weight:600; font-size:.95rem; }
.menu__close svg{ width:22px; height:22px; }
.menu__head-logo .site-logo__mark{ width:120px; }
@media (min-width:768px){ .menu__head-logo .site-logo__mark{ width:140px; } }

.menu__cols{ position:relative; flex:1 1 auto; min-height:0; display:flex; }
.menu__primary{
  flex:0 0 100%; display:flex; flex-direction:column; justify-content:space-between;
  padding:24px var(--gutter) 28px; overflow-y:auto;
}
@media (min-width:992px){
  .menu__primary{ flex:0 0 340px; border-right:1px solid var(--grey-300); }
}
.menu__list li{ border-bottom:1px solid var(--grey-200); }
.menu__item{
  display:flex; align-items:center; justify-content:space-between; width:100%;
  padding:15px 0; font-size:1.1rem; font-weight:600; text-align:left;
  transition:color .3s;
}
.menu__item > span{ display:inline-block; transition:transform .3s var(--ease); }
.menu__item .chev{ width:18px; height:18px; opacity:.5; transition:transform .3s var(--ease),opacity .3s; flex:0 0 auto; }
.menu__item:hover{ color:var(--grey-700); }
.menu__item:hover .chev{ transform:translateX(3px); opacity:1; }
.menu__item.is-active{ color:var(--black); }
.menu__item.is-active .chev{ opacity:1; }
@media (min-width:992px){
  .menu__item.is-active{ box-shadow:inset 3px 0 0 var(--accent); }
  .menu__item.is-active > span{ transform:translateX(12px); }
}
.menu__item--link{ font-weight:500; color:var(--grey-700); }
.menu__meta{ margin-top:32px; display:flex; flex-direction:column; gap:12px; font-size:.9rem; }
.menu__meta .lang-switch{ font-size:.9rem; letter-spacing:0; }
.menu__meta-link{ color:var(--grey-700); text-decoration:underline; text-underline-offset:3px; }
.menu__meta-link:hover{ color:var(--black); }

/* İkincil (alt panel) */
.menu__secondary{
  position:absolute; inset:0; background:var(--white);
  transform:translateX(100%); transition:transform .45s var(--ease-out);
  overflow-y:auto; padding:8px var(--gutter) 32px;
}
.menu.is-sub .menu__secondary{ transform:none; }
@media (min-width:992px){
  .menu__secondary{ position:static; flex:1 1 auto; transform:none; padding:32px 40px; }
}
.menu__back{ display:inline-flex; align-items:center; gap:8px; height:48px; font-weight:600; margin-bottom:8px; }
.menu__back svg{ width:20px; height:20px; }
@media (min-width:992px){ .menu__back{ display:none; } }
.menu__sub{ display:none; }
.menu[data-active="models"] .menu__sub[data-sub-panel="models"],
.menu[data-active="services"] .menu__sub[data-sub-panel="services"],
.menu[data-active="experience"] .menu__sub[data-sub-panel="experience"],
.menu[data-active="about"] .menu__sub[data-sub-panel="about"],
.menu[data-active="shop"] .menu__sub[data-sub-panel="shop"]{
  display:block; animation:subIn .4s var(--ease-out) both;
}
@keyframes subIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }

.menu__feature{ display:block; margin-bottom:20px; }
.menu__feature-media{ display:block; overflow:hidden; border-radius:2px; background:var(--grey-200); }
.menu__feature-media img{ display:block; width:100%; height:auto; aspect-ratio:1446/736; object-fit:cover; transition:transform .8s var(--ease); }
.menu__feature:hover .menu__feature-media img{ transform:scale(1.03); }
.menu__feature-body{ display:flex; flex-direction:column; gap:6px; padding-top:14px; }
.menu__feature-name{ font-size:1.6rem; font-weight:700; letter-spacing:-.01em; line-height:1; }
.menu__feature-text{ color:var(--grey-600); font-weight:300; }
.menu__feature-cta{ display:inline-flex; align-items:center; gap:8px; font-weight:600; margin-top:4px; transition:color .3s; }
.menu__feature-cta svg{ width:16px; height:16px; transition:transform .3s var(--ease); }
.menu__feature:hover .menu__feature-cta{ color:var(--accent-deep); }
.menu__feature:hover .menu__feature-cta svg{ transform:translateX(4px); }

.menu__links li{ border-bottom:1px solid var(--grey-200); }
.menu__links li a{
  display:block; padding:12px 0;
  font-weight:500; transition:color .3s,transform .3s var(--ease);
}
.menu__links li a:hover{ color:var(--accent-deep); transform:translateX(6px); }

/* Stagger animation for items */
.menu.is-open .menu__list li{ animation:menuItem .5s var(--ease-out) both; }
.menu.is-open .menu__list li:nth-child(1){ animation-delay:.08s }
.menu.is-open .menu__list li:nth-child(2){ animation-delay:.12s }
.menu.is-open .menu__list li:nth-child(3){ animation-delay:.16s }
.menu.is-open .menu__list li:nth-child(4){ animation-delay:.20s }
.menu.is-open .menu__list li:nth-child(5){ animation-delay:.24s }
.menu.is-open .menu__list li:nth-child(6){ animation-delay:.28s }
.menu.is-open .menu__list li:nth-child(7){ animation-delay:.32s }
@keyframes menuItem{ from{ opacity:0; transform:translateX(-14px); } to{ opacity:1; transform:none; } }

/* =========================================================
   HERO (video)
   ========================================================= */
.hero{
  position:relative; height:100vh; height:100svh; min-height:560px;
  background:var(--black); color:var(--white); overflow:hidden;
  display:flex; flex-direction:column; justify-content:flex-end;
}
.hero__video,.model-hero__media,.model-hero__media img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
.hero__video{ transform:scale(1.04); animation:heroZoom 8s var(--ease) forwards; }
@keyframes heroZoom{ to{ transform:scale(1); } }
.hero__shade{
  position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(to top,rgba(1,2,5,.78) 0%,rgba(1,2,5,.35) 35%,rgba(1,2,5,0) 65%),
    linear-gradient(to bottom,rgba(1,2,5,.35),rgba(1,2,5,0) 30%);
}
.hero__content{
  position:relative; z-index:2;
  padding:0 var(--gutter); max-width:var(--container); width:100%; margin:0 auto;
  padding-bottom:clamp(96px,14vh,150px);
}
.hero__eyebrow{
  font-size:.8rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase;
  color:var(--accent); margin-bottom:18px;
}
.hero__title{ font-size:clamp(2.6rem,7.5vw,6rem); font-weight:600; letter-spacing:-.03em; line-height:.98; max-width:14ch; }
.hero__sub{ font-size:clamp(1rem,1.5vw,1.25rem); font-weight:300; max-width:48ch; margin-top:18px; opacity:.92; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.hero__bottom{
  position:absolute; left:0; right:0; bottom:0; z-index:3;
  display:flex; align-items:flex-end; justify-content:space-between; gap:16px;
  padding:0 var(--gutter) 24px; max-width:var(--container); margin:0 auto;
}
.hero__info{ font-size:.72rem; font-weight:400; color:rgba(255,255,255,.7); max-width:60ch; line-height:1.5; }
.media-buttons{ display:flex; gap:10px; flex:0 0 auto; }
.media-btn{
  width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,.55);
  display:inline-flex; align-items:center; justify-content:center; color:var(--white);
  background:rgba(1,2,5,.25); backdrop-filter:blur(6px); transition:background .3s,border-color .3s;
}
.media-btn:hover{ background:rgba(255,255,255,.18); border-color:var(--white); }
.media-btn svg{ width:16px; height:16px; }
.media-btn .ico-play{ display:none; }
.media-btn .ico-pause{ display:block; }
.media-btn:not(.is-playing) .ico-play{ display:block; }
.media-btn:not(.is-playing) .ico-pause{ display:none; }
.hero__scroll{
  position:absolute; left:50%; bottom:28px; z-index:3; transform:translateX(-50%);
  width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center;
  color:var(--white); opacity:.85; animation:bob 2.2s ease-in-out infinite;
}
.hero__scroll span{ display:block; width:10px; height:10px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); }
@keyframes bob{ 0%,100%{ transform:translate(-50%,0) } 50%{ transform:translate(-50%,6px) } }
@media (max-width:767px){
  .hero__scroll{ display:none; }
  .hero__bottom{ flex-direction:column-reverse; align-items:flex-start; padding-bottom:18px; }
  .hero__info{ font-size:.66rem; }
}

/* Hero giriş animasyonu */
.hero__eyebrow,.hero__title,.hero__sub,.hero__actions,.hero__bottom{
  animation:riseIn 1s var(--ease-out) both;
}
.hero__eyebrow{ animation-delay:.35s } .hero__title{ animation-delay:.5s }
.hero__sub{ animation-delay:.65s } .hero__actions{ animation-delay:.8s } .hero__bottom{ animation-delay:1s }
@keyframes riseIn{ from{ opacity:0; transform:translateY(26px); } to{ opacity:1; transform:none; } }

/* =========================================================
   ANA SAYFA — kartlar
   ========================================================= */
.home-cards{ padding:clamp(40px,6vw,88px) var(--gutter); max-width:var(--container); margin:0 auto; }
.home-cards--discover{ padding-top:clamp(48px,7vw,104px); }
.home-cards__title{ font-size:clamp(1.8rem,3.4vw,2.8rem); margin-bottom:clamp(24px,3vw,40px); }
.home-cards__grid{ display:grid; grid-template-columns:1fr; gap:14px; }
@media (min-width:600px){ .home-cards__grid{ grid-template-columns:1fr 1fr; gap:16px; } }
@media (min-width:1100px){ .home-cards__grid{ grid-template-columns:repeat(4,1fr); } }
@media (min-width:600px){ .home-cards__grid.home-cards__grid--2{ grid-template-columns:1fr 1fr; } }
.home-card{
  position:relative; display:block; overflow:hidden; border-radius:var(--radius);
  background:var(--grey-900); color:var(--white); aspect-ratio:4/5;
}
@media (min-width:600px){ .home-card{ aspect-ratio:4/5; } }
.home-card--wide{ aspect-ratio:16/10; }
@media (min-width:600px){ .home-card--wide{ aspect-ratio:16/9; } }
.home-card picture,.home-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.home-card img{ transition:transform 1.1s var(--ease); }
.home-card::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top,rgba(1,2,5,.75) 0%,rgba(1,2,5,.15) 45%,rgba(1,2,5,0) 70%);
  transition:opacity .5s;
}
.home-card:hover img{ transform:scale(1.06); }
.home-card__content{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  display:flex; align-items:flex-end; justify-content:space-between; gap:12px;
  padding:22px 22px 20px;
}
.home-card__title{ font-size:clamp(1.15rem,1.6vw,1.45rem); font-weight:600; line-height:1.2; letter-spacing:-.01em; }
.home-card .arrow{ width:22px; height:22px; flex:0 0 auto; transition:transform .45s var(--ease); }
.home-card:hover .arrow{ transform:translateX(6px); }

/* =========================================================
   ANA SAYFA — modeller (koyu)
   ========================================================= */
.home-models{ background:var(--black); color:var(--white); padding:clamp(56px,8vw,112px) 0 clamp(40px,6vw,88px); }
.home-models__head{ padding:0 var(--gutter); max-width:var(--container); margin:0 auto clamp(24px,3vw,44px); }
.home-models__title{ font-size:clamp(1.9rem,3.6vw,3rem); }
.home-models__track{
  display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding:0 var(--gutter); scrollbar-width:none; -ms-overflow-style:none;
}
.home-models__track::-webkit-scrollbar{ display:none; }
.model-card{ flex:0 0 84%; scroll-snap-align:start; background:var(--grey-900); border-radius:var(--radius); overflow:hidden; }
@media (min-width:600px){ .model-card{ flex-basis:58%; } }
@media (min-width:992px){
  .home-models__track{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; overflow:visible; max-width:var(--container); margin:0 auto; }
  .model-card{ flex:none; }
}
.model-card__media{ position:relative; display:block; aspect-ratio:16/9; overflow:hidden; background:#0a0c10; }
.model-card__media img,.model-card__video{ width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease); }
.model-card:hover .model-card__media img,.model-card:hover .model-card__video{ transform:scale(1.05); }
.model-card__body{ padding:20px 22px 24px; }
.model-card__signature{ font-size:1.6rem; font-weight:700; letter-spacing:-.02em; line-height:1; }
.prop-tags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.prop-tags li{
  font-size:.7rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  padding:4px 9px; border:1px solid rgba(255,255,255,.28); border-radius:999px; color:rgba(255,255,255,.8);
}
.model-card__heading{ font-size:1rem; font-weight:400; color:rgba(255,255,255,.75); margin-top:14px; line-height:1.45; }
.model-card__link{ display:inline-flex; align-items:center; gap:8px; margin-top:18px; font-weight:600; font-size:.95rem; }
.model-card__link svg{ width:16px; height:16px; transition:transform .35s var(--ease); }
.model-card__link:hover{ color:var(--accent); }
.model-card__link:hover svg{ transform:translateX(4px); }

.home-models__nav{ display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:24px; padding:0 var(--gutter); }
@media (min-width:992px){ .home-models__nav{ display:none; } }
.slider-dots{ display:flex; gap:0; }
.slider-dots button{ position:relative; width:24px; height:24px; border-radius:50%; }
.slider-dots button::before{ content:""; position:absolute; left:8px; top:8px; width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.35); transition:background .3s,transform .3s; }
.slider-dots button.is-active::before{ background:var(--white); transform:scale(1.25); }
.slider-range{ position:relative; width:min(240px,60vw); height:2px; background:rgba(255,255,255,.2); border-radius:2px; overflow:hidden; }
.slider-range::after{
  content:""; position:absolute; top:0; bottom:0; left:0; width:var(--w,16.6%);
  background:var(--white); transform:translateX(var(--x,0)); transition:transform .3s var(--ease);
}

/* =========================================================
   MODEL SAYFASI
   ========================================================= */
.model-hero{
  position:relative; height:100vh; height:100svh; min-height:560px; overflow:hidden;
  background:var(--black); color:var(--white); display:flex; flex-direction:column; justify-content:flex-end;
}
.model-hero__media img,.model-hero__media video{ animation:heroZoom 8s var(--ease) forwards; transform:scale(1.06); }
.model-hero__media video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

.subnav{
  position:sticky; top:var(--header-h); z-index:150;
  background:rgba(255,255,255,.92); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--grey-300); color:var(--black);
}
.subnav__inner{
  display:flex; align-items:center; gap:24px; height:56px;
  padding:0 var(--gutter); max-width:var(--container); margin:0 auto;
}
.subnav__model{ font-weight:700; font-size:1.05rem; flex:0 0 auto; }
.subnav__links{
  display:flex; gap:22px; flex:1 1 auto; overflow-x:auto; scrollbar-width:none; white-space:nowrap; height:100%; align-items:stretch;
}
.subnav__links::-webkit-scrollbar{ display:none; }
.subnav__links li{ display:flex; }
.subnav__links a{
  display:inline-flex; align-items:center; font-size:.9rem; font-weight:500; color:var(--grey-700);
  position:relative; transition:color .3s; min-height:44px;
}
.subnav__links a::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--black); transform:scaleX(0); transition:transform .3s var(--ease); }
.subnav__links a:hover,.subnav__links a.is-active{ color:var(--black); }
.subnav__links a.is-active::after{ transform:scaleX(1); }
.subnav .btn{ flex:0 0 auto; }
@media (max-width:767px){ .subnav .btn{ display:none; } .subnav__inner{ gap:16px; height:52px; } }

.section{ padding:clamp(56px,8vw,120px) 0; }
.section--light{ background:var(--white); color:var(--black); }
.section--grey{ background:var(--grey-100); color:var(--black); }
.section--dark{ background:var(--black); color:var(--white); }
.section--flush{ padding-bottom:clamp(40px,6vw,88px); }
.section .container > .kicker + .h2{ margin-bottom:clamp(28px,4vw,56px); }

.stats{ display:grid; grid-template-columns:1fr 1fr; gap:32px 24px; margin-top:clamp(36px,5vw,64px); padding-top:clamp(28px,4vw,48px); border-top:1px solid var(--grey-300); }
@media (min-width:768px){ .stats{ grid-template-columns:repeat(4,1fr); } }
.stats__value{ display:block; font-size:clamp(2.2rem,4vw,3.4rem); font-weight:300; letter-spacing:-.03em; line-height:1; }
.stats__value small{ font-size:.42em; font-weight:500; letter-spacing:0; margin-left:4px; color:var(--grey-500); }
.stats__label{ display:block; margin-top:10px; font-size:.85rem; color:var(--grey-500); }

.split{ display:grid; grid-template-columns:1fr; gap:clamp(28px,4vw,64px); align-items:center; }
.split + .split{ margin-top:clamp(56px,8vw,120px); }
@media (min-width:900px){
  .split{ grid-template-columns:5fr 7fr; }
  .split--reverse .split__text{ order:2; }
  .split--reverse .split__media{ order:1; }
}
.split__text p + p{ margin-top:1em; }
.split__text p{ font-weight:300; line-height:1.7; max-width:52ch; }
.section--dark .split__text p{ color:rgba(255,255,255,.82); }
.split__media{ overflow:hidden; border-radius:var(--radius); }
.split__media img{ width:100%; aspect-ratio:1446/736; object-fit:cover; transition:transform 1.2s var(--ease); }
.split__media:hover img{ transform:scale(1.04); }

.mosaic{ display:grid; grid-template-columns:1fr; gap:14px; }
@media (min-width:600px){ .mosaic{ grid-template-columns:1fr 1fr; } }
@media (min-width:992px){
  .mosaic{ grid-template-columns:repeat(3,1fr); grid-auto-rows:minmax(0,1fr); }
  .mosaic__item--large{ grid-column:span 2; grid-row:span 2; }
}
.mosaic__item{ position:relative; overflow:hidden; border-radius:var(--radius); background:var(--grey-900); color:var(--white); aspect-ratio:4/3; }
.mosaic__item--large{ aspect-ratio:auto; min-height:260px; }
.mosaic__item img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.mosaic__item:hover img{ transform:scale(1.05); }
.mosaic__item figcaption{
  position:absolute; left:0; right:0; bottom:0; padding:20px;
  background:linear-gradient(to top,rgba(1,2,5,.8),rgba(1,2,5,0));
  display:flex; flex-direction:column; gap:4px;
}
.mosaic__item figcaption strong{ font-size:1.05rem; font-weight:600; }
.mosaic__item figcaption span{ font-size:.88rem; font-weight:300; opacity:.85; max-width:44ch; }

.tabs__list{ display:flex; gap:8px; border-bottom:1px solid var(--grey-300); margin-bottom:28px; }
.tabs__list button{
  padding:14px 4px; margin-right:20px; font-weight:600; font-size:1rem; color:var(--grey-500);
  position:relative; transition:color .3s;
}
.tabs__list button::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--black); transform:scaleX(0); transition:transform .3s var(--ease); }
.tabs__list button[aria-selected="true"]{ color:var(--black); }
.tabs__list button[aria-selected="true"]::after{ transform:scaleX(1); }
.tabs__panel{ display:grid; grid-template-columns:1fr; gap:28px; align-items:center; animation:subIn .45s var(--ease-out) both; }
.tabs__panel[hidden]{ display:none; }
@media (min-width:900px){ .tabs__panel{ grid-template-columns:8fr 4fr; gap:48px; } }
.tabs__panel img{ width:100%; background:var(--white); border-radius:var(--radius); }
.plan-list li{ padding:12px 0; border-bottom:1px solid var(--grey-300); font-weight:400; display:flex; gap:12px; }
.plan-list li::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--accent); margin-top:.6em; flex:0 0 auto; }

.specs{ width:100%; border-collapse:collapse; font-size:.95rem; margin-top:clamp(24px,3vw,40px); }
.specs th,.specs td{ padding:14px 0; border-bottom:1px solid var(--grey-300); text-align:left; vertical-align:top; }
.specs th{ font-weight:500; color:var(--grey-700); width:46%; padding-right:16px; }
.specs td{ font-weight:600; }
@media (max-width:480px){ .specs th{ width:52%; } }

.strip{
  display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  padding:0 var(--gutter); scrollbar-width:none; margin-top:8px;
}
.strip::-webkit-scrollbar{ display:none; }
.strip__item{ flex:0 0 84%; scroll-snap-align:start; overflow:hidden; border-radius:var(--radius); }
@media (min-width:600px){ .strip__item{ flex-basis:58%; } }
@media (min-width:992px){ .strip__item{ flex-basis:42%; } }
.strip__item img{ width:100%; aspect-ratio:1446/736; object-fit:cover; }
.strip__controls{ display:flex; justify-content:flex-end; gap:10px; margin-top:20px; }

.range-grid{ display:grid; grid-template-columns:1fr; gap:14px; }
@media (min-width:600px){ .range-grid{ grid-template-columns:1fr 1fr; } }
@media (min-width:1100px){ .range-grid{ grid-template-columns:repeat(5,1fr); } }
.range-card{
  display:flex; flex-direction:column; overflow:hidden; color:inherit;
  border:1px solid var(--grey-300); border-radius:var(--radius); transition:border-color .35s,transform .35s var(--ease),box-shadow .35s;
  scroll-margin-top:calc(var(--header-h) + 72px);
}
.range-card:hover{ border-color:var(--black); transform:translateY(-3px); box-shadow:var(--shadow-soft); }
.range-card__media{ display:block; aspect-ratio:4/3; background:var(--grey-200); overflow:hidden; }
.range-card__media img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.range-card:hover .range-card__media img{ transform:scale(1.04); }
.range-card__body{ display:flex; flex-direction:column; gap:6px; padding:20px 22px 24px; }
.range-card__cta{ margin-top:12px; font-size:.85rem; font-weight:600; display:inline-flex; align-items:center; gap:6px; }
.range-card__cta svg{ width:16px; height:16px; transition:transform .3s var(--ease); }
.range-card:hover .range-card__cta{ color:var(--accent-deep); }
.range-card:hover .range-card__cta svg{ transform:translateX(4px); }
.range-card__name{ font-size:1.35rem; font-weight:700; letter-spacing:-.01em; }
.range-card__meta{ font-size:.75rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--grey-500); }
.range-card__desc{ font-size:.92rem; font-weight:300; color:var(--grey-700); margin-top:8px; line-height:1.5; }

.cta-band{ position:relative; min-height:70vh; display:flex; align-items:center; color:var(--white); background:var(--black); overflow:hidden; }
.cta-band__media,.cta-band__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cta-band::after{ content:""; position:absolute; inset:0; background:linear-gradient(to right,rgba(1,2,5,.75),rgba(1,2,5,.2)); }
.cta-band__content{ position:relative; z-index:2; padding:clamp(72px,10vw,140px) var(--gutter); max-width:var(--container); width:100%; margin:0 auto; }
.cta-band__content p{ font-weight:300; max-width:48ch; font-size:clamp(1rem,1.4vw,1.15rem); }
.cta-band .kicker{ color:var(--accent); }
.cta-band__content .hero__actions{ animation:none; }
.show .hero__actions{ animation:none; }

/* =========================================================
   İLETİŞİM
   ========================================================= */
.page-head{ padding:calc(var(--header-h) + clamp(48px,8vw,104px)) 0 clamp(36px,5vw,64px); }
.page-head .lead{ margin-top:20px; }
.contact-grid{ display:grid; grid-template-columns:1fr; gap:clamp(36px,5vw,72px); }
@media (min-width:992px){ .contact-grid{ grid-template-columns:7fr 5fr; align-items:start; } }

.form{ display:flex; flex-direction:column; gap:22px; }
.form__row{ display:grid; grid-template-columns:1fr; gap:22px; }
@media (min-width:600px){ .form__row{ grid-template-columns:1fr 1fr; } }
.field{ display:flex; flex-direction:column; gap:8px; margin:0; padding:0; border:0; min-width:0; }
.field > span,.field legend{ font-size:.82rem; font-weight:600; letter-spacing:.04em; color:var(--grey-700); }
.field input:not([type=radio]):not([type=checkbox]),.field select,.field textarea{
  width:100%; min-height:50px; padding:12px 14px;
  background:var(--white); border:1px solid var(--grey-300); border-radius:var(--radius);
  transition:border-color .3s,box-shadow .3s;
}
.field textarea{ min-height:150px; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus{ border-color:var(--black); box-shadow:0 0 0 3px rgba(1,2,5,.06); }
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{ border-color:#c0392b; }
.field__error{ display:none; font-size:.8rem; font-weight:600; color:#c0392b; line-height:1.4; }
.field.is-invalid .field__error{ display:block; }
.field--check.is-invalid span{ color:#c0392b; }
.req{ color:#c0392b; margin-left:2px; font-weight:700; }
.form__note{ font-size:.8rem; color:var(--grey-500); margin-bottom:-8px; }
.field select{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23010205' stroke-width='1.8' d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; background-size:18px; padding-right:40px; }
.field--choices{ gap:12px; }
.field--choices legend{ margin-bottom:4px; padding:0; }
.field--choices label{ display:flex; align-items:center; gap:10px; font-size:.95rem; cursor:pointer; }
.field--choices input{ accent-color:var(--black); width:18px; height:18px; margin:0; }
.field--check{ flex-direction:row; flex-wrap:wrap; align-items:flex-start; gap:12px; }
.field--check > span{ flex:1 1 0; min-width:0; }
.field--check .field__error{ flex-basis:100%; margin-top:-4px; }
.field--check a{ text-decoration:underline; text-underline-offset:2px; }
.field--check input{ accent-color:var(--black); width:18px; height:18px; margin-top:3px; flex:0 0 auto; }
.field--check span{ font-size:.85rem; font-weight:400; letter-spacing:0; line-height:1.5; }
.form__actions{ display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:6px; }
.form__status{ font-size:.9rem; color:var(--grey-700); min-height:1.5em; }
.form__status.is-success{ color:#1d7a3f; font-weight:600; }
.form__status.is-error{ color:#c0392b; font-weight:600; }
/* JS kapali klasik gonderim: PHP 303 ile #gonderim-ok / #gonderim-hata capasina yonlendirir */
.form__nojs{ display:none; margin-top:12px; font-size:.95rem; font-weight:600; line-height:1.5; scroll-margin-top:calc(var(--header-h) + 24px); }
.form__nojs:target{ display:block; }
.form__nojs--ok{ color:#1d7a3f; }
.form__nojs--hata{ color:#c0392b; }

.contact-side{ display:flex; flex-direction:column; gap:14px; }
.contact-card{ padding:24px 24px 26px; background:var(--grey-100); border-radius:var(--radius); scroll-margin-top:calc(var(--header-h) + 24px); }
.contact-card h2{ font-size:1.1rem; font-weight:700; margin-bottom:8px; }
.dealer-list{ list-style:none; margin:14px 0 0; padding:0; }
.dealer-list li{ display:flex; flex-direction:column; gap:2px; padding:12px 0; border-top:1px solid var(--grey-300); font-size:.92rem; }
.dealer-list strong{ font-weight:700; }
.contact-card p{ font-size:.95rem; font-weight:300; line-height:1.6; }
.contact-card p + p{ margin-top:6px; }
.contact-card a{ text-decoration:underline; text-underline-offset:3px; }
.contact-card a:hover{ color:var(--accent-deep); }
/* dokunma hedefi (WCAG 2.2 · 2.5.8) — tel/e-posta bağımsız satırlardır */
.contact-card a[href^="tel:"],.contact-card a[href^="mailto:"]{ display:inline-block; padding:6px 0; }

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{ background:var(--black); color:var(--white); padding:0 var(--gutter) 40px; margin-top:0; }
.footer__region{
  max-width:var(--container); margin:0 auto; padding:26px 0;
  border-bottom:1px solid rgba(255,255,255,.14);
  display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; font-size:.85rem;
}
.footer__region-label{ color:var(--grey-400); }
.footer__region-country{ display:flex; align-items:center; gap:10px; }
.flag{ width:18px; height:18px; display:inline-block; }
.flag svg{ width:100%; height:100%; }
.footer__region-change{ text-decoration:underline; text-underline-offset:3px; margin-left:8px; color:var(--grey-400); transition:color .3s; }
.footer__region-change:hover{ color:var(--white); }

.footer__cols{
  max-width:var(--container); margin:0 auto; padding:clamp(40px,5vw,64px) 0;
  display:grid; grid-template-columns:1fr; gap:32px;
  border-bottom:1px solid rgba(255,255,255,.14);
}
@media (min-width:768px){ .footer__cols{ grid-template-columns:1fr 1fr; } }
@media (min-width:1100px){ .footer__cols{ grid-template-columns:1fr 1fr 1.6fr; gap:48px; } }
.footer__box h2{ font-size:1.05rem; font-weight:700; margin-bottom:10px; }
.footer__box p{ font-size:.92rem; font-weight:300; color:rgba(255,255,255,.75); margin-bottom:18px; }
.footer__social{ display:flex; flex-wrap:wrap; gap:10px; }
.footer__social a{
  width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.28);
  display:inline-flex; align-items:center; justify-content:center; transition:background .3s,border-color .3s,color .3s;
}
.footer__social a:hover{ background:var(--white); color:var(--black); border-color:var(--white); }
.footer__social svg{ width:18px; height:18px; }
.footer__company-cols{ display:grid; grid-template-columns:1fr 1fr; gap:12px 28px; }
.footer__company-cols li{ padding:5px 0; }
.footer__company-cols a{ font-size:.92rem; font-weight:400; color:rgba(255,255,255,.8); transition:color .3s; }
.footer__company-cols a:hover{ color:var(--accent); }

.footer__bottom{ max-width:var(--container); margin:0 auto; padding-top:28px; display:flex; flex-direction:column; gap:22px; }
.footer__copy{ font-size:.82rem; color:rgba(255,255,255,.75); }
.footer__copy a{ text-decoration:underline; text-underline-offset:3px; }
.footer__copy a:hover{ color:var(--white); }
.footer__legal{ font-size:.72rem; line-height:1.6; color:var(--grey-400); max-width:1100px; }
.footer__brand{ padding-top:16px; }

/* =========================================================
   YASAL SAYFALAR & 404
   ========================================================= */
.legal{ max-width:78ch; }
.legal__updated{ font-size:.85rem; color:var(--grey-500); margin-bottom:32px; }
.legal h2{ font-size:1.25rem; font-weight:700; letter-spacing:-.01em; margin:40px 0 12px; }
.legal h2:first-of-type{ margin-top:0; }
.legal p{ font-weight:300; line-height:1.75; margin-bottom:14px; }
.legal a{ text-decoration:underline; text-underline-offset:3px; }
.legal a:hover{ color:var(--accent-deep); }
/* dokunma hedefi (WCAG 2.2 · 2.5.8) — sayfa sonundaki tekil çapraz bağlantı */
.legal p > a:only-child{ display:inline-block; padding:6px 0; }
.notfound{ min-height:calc(100vh - var(--header-h)); display:flex; align-items:center; padding-top:var(--header-h); }
.notfound__actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }
.notfound .h1{ font-size:clamp(2.4rem,7vw,5rem); }

/* =========================================================
   SCROLL REVEAL & MOTION
   ========================================================= */
.js .reveal{ opacity:0; transform:translateY(28px); transition:opacity .9s var(--ease-out),transform .9s var(--ease-out); transition-delay:calc(var(--d,0) * 90ms); }
.js .reveal.is-in{ opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; scroll-behavior:auto!important; }
  .js .reveal{ opacity:1; transform:none; }
  .hero__video,.model-hero__media img,.model-hero__media video{ transform:none; animation:none; }
}

/* Print */
/* ---- dokunma hedefi genişletme (WCAG 2.2 · 2.5.8) — düzeni etkilemez ---- */
.cfg-link,.menu__meta-link,.footer__region-change,.footer__company-cols a{ position:relative; }
.cfg-link::after,.menu__meta-link::after,.footer__region-change::after,.footer__company-cols a::after{
  content:""; position:absolute; left:0; right:0; top:50%; height:24px; transform:translateY(-50%);
}

@media print{
  .site-header,.menu,.hero__bottom,.hero__scroll,.subnav,.strip__controls,.home-models__nav,.lightbox,.media-btn{ display:none!important; }
  .hero,.model-hero{ height:auto; min-height:0; }
}

/* =========================================================
   YAT KONFİGÜRATÖRÜ
   ========================================================= */
.page-config .site-header{ background:var(--white); border-bottom:1px solid var(--grey-200); }
.cfg-wrap{ padding:calc(var(--header-h) + 48px) 0 0; }
.cfg-intro{ text-align:center; max-width:760px; margin:0 auto; padding:0 var(--gutter) 56px; }
.cfg-intro .lead{ margin-top:14px; }

/* ---- model seçimi ---- */
.cfg-picker{ padding-bottom:96px; }
.cfg-picker__head{ text-align:center; max-width:640px; margin:0 auto 40px; padding:0 var(--gutter); }
.cfg-picker__lead{ color:var(--grey-600); margin-top:10px; }
.cfg-models{ list-style:none; margin:0 auto; padding:0 var(--gutter); display:grid; gap:28px; max-width:var(--container); }
@media (min-width:600px){ .cfg-models{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:992px){ .cfg-models{ grid-template-columns:repeat(3,1fr); gap:32px; } }
.cfg-model__btn{ display:block; width:100%; text-align:left; background:var(--white); border:1px solid var(--grey-200); border-radius:var(--radius); padding:0; cursor:pointer; overflow:hidden; transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease); font:inherit; color:inherit; }
.cfg-model__btn:hover,.cfg-model__btn:focus-visible{ border-color:var(--grey-400); box-shadow:var(--shadow-soft); transform:translateY(-3px); }
.cfg-model__media{ display:block; aspect-ratio:16/10; overflow:hidden; background:var(--grey-100); }
.cfg-model__media picture,.cfg-model__media img{ display:block; width:100%; height:100%; object-fit:cover; }
.cfg-model__media img{ transition:transform 1.2s var(--ease-out); }
.cfg-model__btn:hover .cfg-model__media img{ transform:scale(1.04); }
.cfg-model__body{ display:block; padding:24px 24px 26px; }
.cfg-model__name{ display:block; font-size:1.5rem; font-weight:600; letter-spacing:-.01em; }
.cfg-model__spec{ display:block; margin-top:4px; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-deep); }
.cfg-model__desc{ display:block; margin-top:12px; color:var(--grey-600); font-size:.95rem; line-height:1.55; }
.cfg-model__price{ display:block; margin-top:18px; font-size:1.15rem; font-weight:600; }
.cfg-model__price small{ display:block; font-size:.72rem; font-weight:400; letter-spacing:.1em; text-transform:uppercase; color:var(--grey-500); margin-bottom:2px; }
.cfg-model__cta{ display:inline-flex; align-items:center; gap:8px; margin-top:20px; font-size:.88rem; font-weight:600; letter-spacing:.02em; border-bottom:1px solid currentColor; padding-bottom:2px; }
.cfg-model__cta svg{ width:18px; height:18px; transition:transform var(--dur) var(--ease); }
.cfg-model__btn:hover .cfg-model__cta svg{ transform:translateX(4px); }

/* ---- yapılandırma ekranı ---- */
.cfg-build{ display:grid; gap:0; max-width:var(--container); margin:0 auto; }
@media (min-width:992px){
  .cfg-build{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); align-items:start; gap:0 48px; padding:0 var(--gutter); }
  .cfg-build__preview{ position:sticky; top:calc(var(--header-h) + 24px); }
}
.cfg-stage{ background:var(--grey-100); }
.cfg-stage__frame{ position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--grey-200); }
.cfg-stage__shot{ position:absolute; inset:0; opacity:0; transition:opacity .55s var(--ease-out); }
.cfg-stage__shot.is-on{ opacity:1; }
.cfg-stage__shot picture,.cfg-stage__shot img{ display:block; width:100%; height:100%; object-fit:cover; }
.cfg-stage__tint{ position:absolute; inset:0; pointer-events:none; transition:opacity .45s var(--ease-out),background-color .45s var(--ease-out); }
.cfg-stage__badge{ position:absolute; left:20px; bottom:18px; margin:0; padding:6px 12px; border-radius:var(--radius); background:rgba(1,2,5,.72); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); color:var(--white); font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; text-shadow:none; }
.cfg-stage__bar{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; padding:14px 20px; border-bottom:1px solid var(--grey-200); }
.cfg-views{ display:inline-flex; border:1px solid var(--grey-300); border-radius:var(--radius); overflow:hidden; }
.cfg-views__btn{ background:transparent; border:0; padding:9px 16px; min-height:44px; display:inline-flex; align-items:center; font:inherit; font-size:.82rem; letter-spacing:.04em; cursor:pointer; color:var(--grey-600); transition:background var(--dur) var(--ease),color var(--dur) var(--ease); }
.cfg-views__btn + .cfg-views__btn{ border-left:1px solid var(--grey-300); }
.cfg-views__btn:hover{ background:var(--grey-100); color:var(--black); }
.cfg-views__btn.is-on{ background:var(--black); color:var(--white); }
.cfg-chips{ display:flex; flex-wrap:wrap; gap:14px; }
.cfg-chip{ display:inline-flex; align-items:center; gap:7px; font-size:.78rem; color:var(--grey-600); }
.cfg-chip i{ width:14px; height:14px; border-radius:50%; border:1px solid rgba(0,0,0,.16); display:inline-block; }

/* ---- panel ---- */
.cfg-build__panel{ padding:40px var(--gutter) 120px; }
@media (min-width:992px){ .cfg-build__panel{ padding:0 0 120px; } }
.cfg-build__head{ padding-bottom:14px; border-bottom:1px solid var(--grey-200); margin-bottom:8px; }
.cfg-build__spec{ color:var(--accent-deep); font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; margin-top:6px; }

.cfg-group{ border:0; border-bottom:1px solid var(--grey-200); margin:0; padding:32px 0; min-width:0; }
.cfg-group__legend{ display:flex; align-items:baseline; gap:12px; padding:0; margin-bottom:6px; }
.cfg-group__no{ font-size:.72rem; letter-spacing:.14em; color:var(--grey-500); }
.cfg-group__name{ font-size:1.15rem; font-weight:600; letter-spacing:-.01em; }
.cfg-group__hint{ color:var(--grey-600); font-size:.9rem; line-height:1.55; margin:0 0 18px; }
.cfg-opts{ display:grid; gap:10px; }
.cfg-opts--swatch{ grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (min-width:1200px){ .cfg-opts--swatch{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.cfg-opt{ display:block; cursor:pointer; position:relative; }
.cfg-opt input{ position:absolute; opacity:0; width:1px; height:1px; }
.cfg-opt__box{ display:flex; align-items:center; gap:12px; padding:14px 16px; border:1px solid var(--grey-200); border-radius:var(--radius); background:var(--white); transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease); height:100%; }
.cfg-opt:hover .cfg-opt__box{ border-color:var(--grey-400); }
.cfg-opt.is-on .cfg-opt__box{ border-color:var(--black); background:var(--grey-100); }
.cfg-opt input:focus-visible + .cfg-opt__box{ outline:2px solid var(--accent); outline-offset:2px; }
.cfg-opt__swatch{ flex:0 0 auto; width:30px; height:30px; border-radius:50%; border:1px solid rgba(0,0,0,.16); box-shadow:inset 0 1px 3px rgba(0,0,0,.14); }
.cfg-opt__text{ flex:1 1 auto; min-width:0; }
.cfg-opt__name{ display:block; font-size:.95rem; font-weight:500; }
.cfg-opt__meta{ display:block; margin-top:3px; font-size:.8rem; color:var(--grey-500); line-height:1.45; }
.cfg-opt__price{ flex:0 0 auto; font-size:.85rem; font-weight:600; white-space:nowrap; }
.cfg-opt__price.is-std{ font-weight:400; color:var(--grey-500); }
.cfg-opts--check .cfg-opt__box::before{ content:""; flex:0 0 auto; width:18px; height:18px; border:1px solid var(--grey-400); border-radius:2px; background:var(--white) no-repeat center/12px 12px; transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease); }
.cfg-opts--check .cfg-opt.is-on .cfg-opt__box::before{ background-color:var(--black); border-color:var(--black); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.2' d='m3 8.4 3.2 3.2L13 5'/%3E%3C/svg%3E"); }

/* ---- özet ---- */
.cfg-sum{ margin-top:36px; padding:28px; background:var(--grey-100); border:1px solid var(--grey-200); border-radius:var(--radius); }
.cfg-sum__title{ font-size:1.05rem; letter-spacing:.02em; margin:0 0 18px; }
.cfg-sum__list{ margin:0; }
.cfg-sum__row{ display:flex; justify-content:space-between; align-items:baseline; gap:18px; padding:9px 0; border-bottom:1px solid var(--grey-200); }
.cfg-sum__row dt{ font-size:.92rem; }
.cfg-sum__row dt small{ display:block; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--grey-500); margin-bottom:2px; }
.cfg-sum__row dd{ margin:0; font-size:.9rem; font-weight:600; white-space:nowrap; }
.cfg-sum__row--base dt{ font-weight:600; }
.cfg-sum__total{ display:flex; justify-content:space-between; align-items:baseline; gap:18px; margin:18px 0 0; padding-top:14px; border-top:2px solid var(--black); }
.cfg-sum__total span{ font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--grey-600); }
.cfg-sum__total strong{ font-size:1.6rem; font-weight:600; letter-spacing:-.02em; }
.cfg-sum__vat{ margin:12px 0 0; font-size:.76rem; line-height:1.5; color:var(--grey-500); }
.cfg-sum__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.cfg-sum__links{ display:flex; flex-wrap:wrap; gap:20px; margin-top:18px; }
.cfg-link{ background:none; border:0; padding:0; font:inherit; font-size:.84rem; color:var(--grey-600); cursor:pointer; border-bottom:1px solid var(--grey-400); transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease); }
.cfg-link:hover{ color:var(--black); border-color:var(--black); }

/* ---- mobil yapışkan çubuk ---- */
.cfg-bar{ position:fixed; left:0; right:0; bottom:0; z-index:60; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px var(--gutter); background:var(--white); border-top:1px solid var(--grey-200); box-shadow:0 -6px 24px rgba(0,0,0,.08); }
.cfg-bar__price small{ display:block; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--grey-500); }
.cfg-bar__price strong{ font-size:1.15rem; font-weight:600; }
@media (min-width:992px){ .cfg-bar{ display:none; } }

/* ---- iletişim formundaki konfigürasyon özeti ---- */
.form__cfg{ margin:0 0 22px; padding:18px 20px; border:1px solid var(--grey-200); border-radius:var(--radius); background:var(--grey-100); }
.form__cfg h2{ font-size:.98rem; margin:0 0 6px; }
.form__cfg p{ margin:0; font-size:.86rem; color:var(--grey-600); }
.form__cfg p + p{ margin-top:8px; }
.form__cfg strong{ color:var(--black); }

@media print{
  .cfg-build__preview,.cfg-bar,.cfg-sum__actions,.cfg-sum__links,.cfg-group__hint{ display:none!important; }
  .cfg-build{ display:block; }
  .cfg-sum{ background:none; border:0; padding:0; }
}

/* ==========================================================================
   360° OYNATICI (js/spin.js)
   ========================================================================== */
/* Görünürlüğü JS `hidden` özniteliğiyle yönetir; hiçbir kural onu ezmemeli. */
.tz-spin [hidden]{ display:none!important; }

.tz-spin{ position:relative; display:block; cursor:default; user-select:none; -webkit-user-select:none; -webkit-tap-highlight-color:transparent; }
.tz-spin--ready{ cursor:grab; }
.tz-spin--dragging{ cursor:grabbing; }
/* Odak halkası: genel :focus-visible ile aynı siyah çizgi + beyaz hale, ama
   .cfg-stage__frame overflow:hidden olduğundan dışa taşan halka kırpılırdı —
   ikisini de içeri çizdiriyoruz. Beyaz haleyi box-shadow ile veremeyiz (sahnenin
   zemini onu örter); outline ise alt öğelerin ÜSTÜNE boyanır, o yüzden iki outline. */
.tz-spin:focus-visible{ outline:2px solid var(--black); outline-offset:-2px; }
.tz-spin:focus-visible .tz-spin__stage{ outline:3px solid var(--white); outline-offset:-5px; }

/* Oran kutusu: yüksekliği JS inline padding-top ile verir — burada height/aspect-ratio YOK. */
.tz-spin__stage{ position:relative; overflow:hidden; touch-action:pan-y; background:linear-gradient(180deg,var(--grey-200) 0%,var(--grey-300) 100%); }
.tz-spin__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; pointer-events:none; user-select:none; -webkit-user-select:none; -webkit-user-drag:none; transition:opacity var(--dur) var(--ease-out); }
.tz-spin--loading .tz-spin__img,.tz-spin--idle .tz-spin__img{ opacity:.42; }

/* ---- sürükleme ipucu ---- */
.tz-spin__hint:not([hidden]){ display:block; }
.tz-spin__hint{ position:absolute; left:50%; bottom:14px; transform:translateX(-50%); max-width:calc(100% - 24px); margin:0; padding:7px 14px; border-radius:999px; background:rgba(1,2,5,.72); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); color:var(--white); font-size:.72rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; pointer-events:none; transition:opacity .35s var(--ease-out); }
.tz-spin__hint--gone{ opacity:0; }

/* ---- yükleme göstergesi ---- */
.tz-spin__progress:not([hidden]){ display:block; }
/* Panel donuk bir zemin taşır: yükleme sırasında .tz-spin__img %42 opaklıkla
   ekranda durduğu için saydam panelde yüzde metni koyu karenin üstüne düşüp
   okunamaz hale geliyordu (1,8:1). Kendi zemininde #5b5f63 / #f7f7f7 = 6:1. */
.tz-spin__progress{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:min(240px,64%); padding:14px 18px; border-radius:var(--radius); background:var(--grey-100); box-shadow:var(--shadow-soft); text-align:center; pointer-events:none; }
.tz-spin__progress-bar{ height:3px; border-radius:999px; background:var(--grey-300); overflow:hidden; }
.tz-spin__progress-fill{ display:block; width:100%; height:100%; background:var(--accent); transform:scaleX(0); transform-origin:left center; transition:transform .25s var(--ease-out); }
.tz-spin__progress-text{ margin:10px 0 0; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--grey-600); }

/* ---- veri tasarrufu: "360° görünümü yükle" ---- */
.tz-spin__load:not([hidden]){ display:inline-flex; }
.tz-spin__load{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); align-items:center; justify-content:center; min-width:44px; min-height:44px; max-width:calc(100% - 32px); padding:10px 22px; background:var(--black); color:var(--white); border:1px solid var(--black); border-radius:var(--radius); font-weight:600; font-size:.88rem; letter-spacing:.02em; line-height:1.3; text-align:center; cursor:pointer; transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease); }
.tz-spin__load:hover{ background:var(--grey-900); border-color:var(--grey-900); }
.tz-spin__load:focus-visible{ outline:2px solid var(--black); outline-offset:3px; box-shadow:0 0 0 5px var(--white); }

/* ---- önceki / sonraki ----
   Doğal akışta nav, sahnenin KARDEŞİ ve ondan sonra gelir; bağımsız kullanımda
   sahnenin altında ayrı bir satır olarak durur, görüntüyü boğmaz. */
.tz-spin__nav:not([hidden]){ display:flex; }
.tz-spin__nav{ align-items:center; justify-content:center; gap:12px; padding:12px 0 0; }
.tz-spin__btn{ display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:44px; height:44px; min-width:44px; min-height:44px; padding:0; background:var(--white); color:var(--black); border:1px solid var(--grey-300); border-radius:50%; cursor:pointer; transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease); }
.tz-spin__btn:hover{ background:var(--black); color:var(--white); border-color:var(--black); }
.tz-spin__btn:focus-visible{ outline:2px solid var(--black); outline-offset:3px; box-shadow:0 0 0 5px var(--white); }
.tz-spin__icon{ width:22px; height:22px; fill:none; }
/* .tz-spin__live — .visually-hidden (satır 67) yeterli, ek kural gerekmez. */

@media (min-width:768px){
  .tz-spin__btn{ width:48px; height:48px; }
  .tz-spin__icon{ width:24px; height:24px; }
}

/* ---- sahne katmanları: pasif görünümler oynatıcıyı boğmasın ----
   .cfg-stage__shot katmanları yalnızca opacity:0 ile gizleniyor; opacity ne
   tıklamayı ne de Tab sırasını keser. cockpit/interior katmanları DOM'da 360°
   oynatıcıyı taşıyan exterior'dan SONRA geldiği için üstte boyanıyor, sürükleme
   ve ok düğmeleri ölüyordu; katman aria-hidden alsa da içindeki düğmeler klavye
   sırasında kalıyordu. visibility ikisini de çözer — gizlemeyi solma süresi
   kadar geciktiriyoruz ki geçiş bozulmasın. */
.cfg-stage__shot{ transition:opacity .55s var(--ease-out),visibility 0s linear .55s; }
.cfg-stage__shot:not(.is-on){ pointer-events:none; visibility:hidden; }
.cfg-stage__shot.is-on{ visibility:visible; transition-delay:0s; }
/* Rozet ve örnek dizi uyarısı salt yazıdır; .cfg-stage__tint gibi işaretçi
   olaylarını altındaki 360° sahnesine geçirmeliler. */
.cfg-stage__badge,.cfg-stage__demo{ pointer-events:none; }
/* .cfg-stage__shot img (0-1-1), .tz-spin__img'in (0-1-0) contain'ini eziyordu;
   360° kareleri 16:9 olmayan bir dizide kırpılırdı — contain'i geri veriyoruz. */
.cfg-stage__spin .tz-spin__img{ object-fit:contain; }

/* ---- konfigüratör sahnesi içinde ----
   .cfg-stage__frame 16:9 ve overflow:hidden olduğundan sahne çerçevenin tamamını
   doldurur; nav akışta altta kalsaydı kırpılırdı — kenarlara bindiriyoruz.
   z-index YOK: .cfg-stage__tint bu katmanların üstünde kalmalı. */
.cfg-stage__spin{ position:absolute; inset:0; }
.cfg-stage__spin .tz-spin__nav{ position:absolute; left:0; right:0; top:50%; transform:translateY(-50%); justify-content:space-between; gap:0; padding:0 12px; pointer-events:none; }
.cfg-stage__spin .tz-spin__btn{ pointer-events:auto; background:rgba(255,255,255,.86); border-color:rgba(1,2,5,.12); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
/* İpucu üstte: alt şerit .cfg-stage__badge (sol) ve .cfg-stage__demo (sağ) için ayrılmıştır. */
.cfg-stage__spin .tz-spin__hint{ top:14px; bottom:auto; }

@media (min-width:768px){
  .cfg-stage__spin .tz-spin__nav{ padding:0 18px; }
}

/* ---- örnek dizi uyarısı: rozetin karşısında, sağ altta ---- */
.cfg-stage__demo{ position:absolute; right:20px; bottom:18px; max-width:calc(50% - 26px); margin:0; padding:6px 12px; border-radius:var(--radius); background:rgba(1,2,5,.6); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); color:var(--white); font-size:.7rem; line-height:1.45; letter-spacing:.06em; text-align:right; }

@media (prefers-reduced-motion:reduce){
  .tz-spin__img,.tz-spin__hint,.tz-spin__progress-fill,.tz-spin__btn,.tz-spin__load{ transition:none!important; }
}

/* =========================================================
   ZT1100 — galeri, tam ekran görüntüleyici, 360°, film, ana sayfa vitrini
   ========================================================= */
.lightbox{ position:fixed; inset:0; z-index:400; opacity:0; transition:opacity .3s var(--ease); }
.lightbox.is-open{ opacity:1; }
.lightbox[hidden]{ display:none; }
.lightbox__backdrop{ position:absolute; inset:0; background:rgba(1,2,5,.92); }
.lightbox__dialog{ position:relative; display:grid; place-items:center; width:100%; height:100%; padding:64px clamp(12px,6vw,88px) 24px; }
.lightbox__figure{ margin:0; display:flex; flex-direction:column; align-items:center; max-width:100%; }
.lightbox__img{ display:block; max-width:100%; max-height:calc(100vh - 160px); width:auto; height:auto; object-fit:contain; border-radius:var(--radius); }
.lightbox__caption{ display:flex; justify-content:space-between; gap:16px; width:100%; margin-top:14px; color:var(--white); font-size:.92rem; }
.lightbox__counter{ color:rgba(255,255,255,.6); white-space:nowrap; font-variant-numeric:tabular-nums; }
.lightbox__btn{ position:absolute; z-index:2; display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:rgba(0,0,0,.35); color:var(--white); cursor:pointer; transition:background .2s,border-color .2s; }
.lightbox__btn:hover{ background:rgba(255,255,255,.16); border-color:var(--white); }
.lightbox__btn svg{ width:20px; height:20px; }
.lightbox__btn--close{ top:12px; right:12px; }
.lightbox__btn--prev,.lightbox__btn--next{ top:50%; transform:translateY(-50%); }
.lightbox__btn--prev{ left:clamp(6px,2vw,24px); }
.lightbox__btn--next{ right:clamp(6px,2vw,24px); }

.gallery{ list-style:none; margin:clamp(24px,3vw,40px) 0 0; padding:0; display:grid; grid-template-columns:1fr; gap:14px; }
.gallery__btn{ position:relative; display:block; width:100%; aspect-ratio:1446/736; overflow:hidden; border:0; padding:0; border-radius:var(--radius); background:#0a0c10; cursor:zoom-in; color:var(--white); text-align:left; }
.gallery__btn picture{ display:block; width:100%; height:100%; }
.gallery__btn img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .9s var(--ease); }
.gallery__btn:hover img{ transform:scale(1.05); }
.gallery__label{ position:absolute; left:0; right:0; bottom:0; padding:28px 16px 12px; background:linear-gradient(transparent,rgba(0,0,0,.72)); font-size:.9rem; }
@media (min-width:600px){ .gallery{ grid-template-columns:repeat(2,1fr); } .gallery__item--wide{ grid-column:span 2; } }
@media (min-width:992px){ .gallery{ grid-template-columns:repeat(3,1fr); } }

.model-spin{ margin:clamp(24px,3vw,40px) 0 0; }
.model-spin__caption{ margin-top:10px; font-size:.85rem; color:var(--grey-600); }

.video-band__text{ color:rgba(255,255,255,.78); font-weight:300; max-width:60ch; }
.video-band__frame{ position:relative; aspect-ratio:1280/584; margin-top:clamp(24px,3vw,40px); border-radius:var(--radius); overflow:hidden; background:#0a0c10; }
.video-band__video,.show__video{ display:block; }
.video-band__btn,.show__btn{ position:absolute; right:16px; bottom:16px; z-index:2; }

.show__head{ padding:0 var(--gutter); max-width:var(--container); margin:0 auto clamp(24px,3vw,44px); }
.show .container > .show__head{ padding:0; }
.show .kicker{ color:var(--accent); }
.show__stage{ display:grid; grid-template-columns:1fr; gap:clamp(24px,4vw,56px); align-items:center; }
@media (min-width:992px){ .show__stage{ grid-template-columns:7fr 5fr; } }
.show__frame{ position:relative; aspect-ratio:16/9; border-radius:var(--radius); overflow:hidden; background:#0a0c10; }
.show__signature{ font-size:clamp(3rem,6vw,5rem); font-weight:700; letter-spacing:-.03em; line-height:1; margin-bottom:.35em; }
.show__signature span{ color:var(--accent); }
.show__lead{ font-size:clamp(1.1rem,1.7vw,1.35rem); line-height:1.5; margin-bottom:.8em; }
.show__desc,.show__text{ color:rgba(255,255,255,.78); font-weight:300; line-height:1.65; margin-bottom:.8em; }
.show .stats{ border-top-color:rgba(255,255,255,.18); }
.show .stats__value small,.show .stats__label{ color:rgba(255,255,255,.66); }
.show__grid{ list-style:none; margin:clamp(32px,5vw,64px) 0 0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
@media (min-width:768px){ .show__grid{ grid-template-columns:repeat(3,1fr); } }
.show__link{ position:relative; display:block; aspect-ratio:4/3; border-radius:var(--radius); overflow:hidden; background:#0a0c10; color:var(--white); }
.show__link picture{ display:block; width:100%; height:100%; }
.show__link img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .9s var(--ease); }
.show__link:hover img{ transform:scale(1.05); }
.show__label{ position:absolute; left:0; right:0; bottom:0; padding:26px 14px 10px; background:linear-gradient(transparent,rgba(0,0,0,.72)); font-size:.88rem; }
.show__more{ margin-top:clamp(20px,3vw,32px); }
.show__morelink{ display:inline-flex; align-items:center; gap:8px; font-weight:600; color:var(--white); }
.show__morelink:hover{ color:var(--accent); }
.show__morelink svg{ width:16px; height:16px; }

@media (prefers-reduced-motion:reduce){ .lightbox,.gallery__btn img,.show__link img{ transition:none!important; } }
