/* ===== Sayfa: Programlar ===== */

/* HERO / Section 1 */
.prog-hero{
  position: relative; padding: clamp(28px, 6vw, 64px) 0 40px;
  background: radial-gradient(1200px 600px at 20% -20%, rgba(14,165,233,.10), transparent 60%),
              radial-gradient(1100px 600px at 120% 10%, rgba(245,158,11,.10), transparent 60%);
  overflow: clip;
}
.prog-hero .hero-grid{
  display:grid; grid-template-columns: 1.1fr .9fr; gap: 22px; align-items: center;
}
.prog-hero .hero-copy h1{
  font-family: "PlayfairDisplay", serif; font-size: clamp(26px,5vw,42px);
  line-height:1.15; margin:0 0 10px;
}
.prog-hero .lede{ color: var(--ink-soft); margin: 0 0 12px; }
.badges{ display:flex; gap:8px; list-style:none; padding:0; margin:0; flex-wrap:wrap; }
.badges li{ font-size:12px; padding:6px 10px; border-radius:999px; background:#fff; border:1px solid rgba(2,6,23,.08); }
.b-city{ box-shadow: inset 0 0 0 2px rgba(14,165,233,.25); }
.b-nature{ box-shadow: inset 0 0 0 2px rgba(16,185,129,.25); }
.b-indoor{ box-shadow: inset 0 0 0 2px rgba(100,116,139,.25); }

.hero-shots{ position:relative; display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.hshot.c{ grid-column: 1 / -1; justify-self: center; max-width: 320px; }
.hshot img{ transition: transform .35s ease, box-shadow .35s ease; }
.hshot:hover img{ transform: translateY(-4px) scale(1.02); box-shadow: var(--shadow); }

/* Dekoratif ışınlar */
.ray{ position:absolute; inset-inline: -8px; height: 10px; border-radius:999px;
  background: linear-gradient(90deg, rgba(14,165,233,.18), rgba(245,158,11,.18));
  filter: blur(.4px); opacity:.55;
}
.r1{ top: 18%; animation: sway 8s ease-in-out infinite; }
.r2{ top: 48%; animation: sway 10s ease-in-out infinite reverse; }
.r3{ top: 78%; animation: sway 12s ease-in-out infinite; }
@keyframes sway{ 0%,100%{ transform: translateX(-2%);} 50%{ transform: translateX(2%);} }

/* Section 2 — Modül Paleti */
.modules-palette{ padding: 56px 0; }
.palette-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap: 22px; align-items:start; }
.modules-palette .sec-lede{ color: var(--ink-soft); margin: 0 0 12px; }

.chips{ display:flex; flex-wrap:wrap; gap:8px; }
.filter-chip{
  border:2px solid var(--brand); background:#fff; color:var(--brand-ink);
  border-radius:999px; padding:8px 12px; font-weight:700; cursor:pointer;
  transition: transform .2s ease, background .2s ease;
}
.filter-chip:hover{ transform: translateY(-2px); background: var(--brand); color:#fff; }
.filter-chip.is-active{ background: var(--brand); color:#fff; }

.mix-explain{ margin:10px 0 0; padding-left:18px; }

.palette-photos{ display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.palette-photos figure img{ transition: transform .35s ease, box-shadow .35s ease; }
.palette-photos figure:hover img{ transform: translateY(-4px) scale(1.02); box-shadow: var(--shadow); }

/* Section 3 — Rotalı Paketler */
.route-bundles{ padding:56px 0; }
.route-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items:start; }
.route-bundles .sec-lede{ color: var(--ink-soft); margin: 0 0 12px; }

.stripe{
  position:relative; height: 120px; border-radius:14px; background:#fff;
  border:1px solid rgba(2,6,23,.08); box-shadow: var(--shadow); overflow:hidden;
}
.dot{ position:absolute; width:10px; height:10px; border-radius:999px; background:#0ea5e9; transform: translate(-50%,-50%); }
.d1{ left: 12%; top: 66%; } .d2{ left: 50%; top: 34%; } .d3{ left: 84%; top: 60%; }
.trace{
  position:absolute; left:12%; top:66%; height:2px; width:0; transform-origin:left center;
  background: linear-gradient(90deg, rgba(14,165,233,.55), rgba(14,165,233,0));
}
.reveal.in-view .trace{ animation: routeMoveWide 2s ease forwards; }
@keyframes routeMoveWide{
  0%{ width: 0; transform: rotate(-8deg); }
  45%{ width: 42%; transform: rotate(-18deg); }
  100%{ width: 72%; transform: rotate(14deg); }
}

.route-photos{ display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.route-photos figure img{ transition: transform .35s ease, box-shadow .35s ease; }
.route-photos figure:hover img{ transform: translateY(-4px) scale(1.02); box-shadow: var(--shadow); }

/* Duyarlılık */
@media (max-width: 1024px){
  .prog-hero .hero-grid{ grid-template-columns: 1fr; }
  .palette-grid{ grid-template-columns: 1fr; }
  .route-grid{ grid-template-columns: 1fr; }
  .palette-photos, .route-photos{ grid-template-columns: 1fr; }
}
/* ===== 4. Tempo Matrix ===== */
.tempo-matrix{ padding:56px 0; }
.tempo-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:24px; align-items:start; }
.tempo-matrix .sec-lede{ color:var(--ink-soft); margin:0 0 12px; }

.tm-switch{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.tm-btn{
  border:2px solid var(--brand); background:#fff; color:var(--brand-ink);
  border-radius:12px; padding:8px 12px; font-weight:700; cursor:pointer;
  transition: transform .2s ease, background .2s ease;
}
.tm-btn:hover{ transform: translateY(-2px); background: var(--brand); color:#fff; }
.tm-btn.is-active{ background: var(--brand); color:#fff; }

.matrix{
  display:grid; grid-template-columns: repeat(3,1fr); gap:10px;
}
.matrix .cell{
  background:#fff; border:1px solid rgba(2,6,23,.08); border-radius:12px; padding:10px;
  box-shadow: var(--shadow);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.matrix .cell strong{ display:block; font-size:14px; }
.matrix .cell span{ font-size:12px; color:#475569; }
.matrix .cell:hover{ transform: translateY(-4px); box-shadow: 0 12px 34px rgba(2,6,23,.12); }

/* Modlara göre vurgular */
.tempo-matrix[data-mode="sehir"] .c1,
.tempo-matrix[data-mode="sehir"] .c2,
.tempo-matrix[data-mode="sehir"] .c3{ background: rgba(14,165,233,.08); }

.tempo-matrix[data-mode="doga"] .c4,
.tempo-matrix[data-mode="doga"] .c5,
.tempo-matrix[data-mode="doga"] .c6{ background: rgba(16,185,129,.10); }

.tempo-matrix[data-mode="kapali"] .c7,
.tempo-matrix[data-mode="kapali"] .c8,
.tempo-matrix[data-mode="kapali"] .c9{ background: rgba(100,116,139,.10); }

.tempo-photos{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.tempo-photos figure img{ transition: transform .35s ease, box-shadow .35s ease; }
.tempo-photos figure:hover img{ transform: translateY(-4px) scale(1.02); box-shadow: var(--shadow); }

/* ===== 5. Team Sizer ===== */
.team-sizer{ padding:56px 0; }
.sizer-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:24px; align-items:start; }
.team-sizer .sec-lede{ color:var(--ink-soft); margin:0 0 12px; }

.capsules{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.cap{
  --w: 40%;
  background:#fff; border:1px solid rgba(2,6,23,.08); border-radius:12px; padding:10px;
  box-shadow: var(--shadow); position:relative; overflow:hidden;
  display:grid; grid-template-columns: 70px 1fr; gap:10px; align-items:center;
}
.cap .tag{ display:inline-block; font-weight:700; color:var(--brand-ink); }
.cap .fill{
  position:absolute; left:0; top:0; bottom:0; width:0; background: linear-gradient(90deg, var(--brand), #60a5fa);
  opacity:.18; transition: width 1s ease;
}
.cap em{ font-style: normal; color:#1f2b3f; font-size:14px; }

.cap.small{ --w: 45%; }
.cap.medium{ --w: 70%; }
.cap.large{ --w: 92%; }
.reveal.in-view .cap .fill{ width: var(--w); }

.sizer-photos{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.sizer-photos figure img{ transition: transform .35s ease, box-shadow .35s ease; }
.sizer-photos figure:hover img{ transform: translateY(-4px) scale(1.02); box-shadow: var(--shadow); }

/* ===== 6. Ritual Vault ===== */
.ritual-vault{ padding:56px 0; }
.vault-grid{ display:grid; grid-template-columns: 1fr; gap:16px; }
.vault-copy .sec-lede{ color:var(--ink-soft); margin:0 0 10px; }

.vault-track{
  display:grid; grid-auto-flow: column; grid-auto-columns: minmax(220px, 260px);
  gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom: 8px;
}
.vault-track::-webkit-scrollbar{ height: 8px; }
.vault-track::-webkit-scrollbar-thumb{ background: rgba(2,6,23,.2); border-radius: 999px; }

.v-card{
  scroll-snap-align: start; background:#fff; border:1px solid rgba(2,6,23,.08);
  border-radius: 16px; padding: 10px; box-shadow: var(--shadow);
  transition: transform .25s ease, box-shadow .25s ease;
}
.v-card:hover{ transform: translateY(-4px) scale(1.02); box-shadow: 0 12px 34px rgba(2,6,23,.12); }
.vault-hint{ text-align:right; font-size:12px; color:#64748b; }

/* Duyarlılık */
@media (max-width: 1024px){
  .tempo-grid, .sizer-grid{ grid-template-columns: 1fr; }
  .tempo-photos, .sizer-photos{ grid-template-columns: 1fr; }
}
/* ===== 7. Timebox Demo ===== */
.timebox-demo{ padding:56px 0; }
.tb-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:24px; align-items:start; }
.timebox-demo .sec-lede{ color:var(--ink-soft); margin:0 0 12px; }

.tb-bars{ display:grid; gap:10px; }
.tb-bar{
  --w: 0%;
  display:grid; grid-template-columns: 120px 1fr 60px; gap:10px; align-items:center;
  background:#fff; border:1px solid rgba(2,6,23,.08); border-radius:12px; padding:10px; box-shadow: var(--shadow);
}
.tb-bar .label{ font-weight:700; color:var(--brand-ink); }
.tb-bar .fill{ height:10px; border-radius:999px; background: linear-gradient(90deg, var(--brand), #60a5fa); width:0%; transition: width 1s ease; }
.tb-bar .val{ font-weight:700; text-align:right; color:var(--ink); }

.tb-bar.v08{ --w: 36%; }
.tb-bar.v18{ --w: 82%; }
.tb-bar.v07{ --w: 32%; }
.reveal.in-view .tb-bar .fill{ width: var(--w); }

.tb-photos{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.tb-photos figure img{ transition: transform .35s ease, box-shadow .35s ease; }
.tb-photos figure:hover img{ transform: translateY(-4px) scale(1.02); box-shadow: var(--shadow); }

/* ===== 8. Culture Minigames ===== */
.culture-minigames{ padding:56px 0; }
.cg-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:24px; align-items:start; }
.culture-minigames .sec-lede{ color:var(--ink-soft); margin:0 0 12px; }
.cg-list{ margin:0; padding-left:18px; }

.cg-network{
  position:relative; height:200px; border-radius:16px; background:#fff;
  border:1px solid rgba(2,6,23,.08); box-shadow: var(--shadow); overflow:hidden;
}
.cg-pin{
  position:absolute; width:12px; height:12px; border-radius:999px; background:#0ea5e9; transform: translate(-50%,-50%);
  box-shadow: 0 0 0 0 rgba(14,165,233,.25); animation: pinpulse 2.2s ease-out infinite;
}
@keyframes pinpulse{ to{ box-shadow: 0 0 0 18px rgba(14,165,233,0); } }
.p1{ left: 18%; top: 68%; } .p2{ left: 50%; top: 24%; } .p3{ left: 82%; top: 68%; }

.cg-line{
  position:absolute; height:2px; background: linear-gradient(90deg, rgba(14,165,233,.45), rgba(14,165,233,0));
  transform-origin:left center; width:0;
}
.l1{ left: 18%; top: 68%; transform: rotate(-22deg); } /* p1->p2 */
.l2{ left: 50%; top: 24%; transform: rotate(22deg); }  /* p2->p3 */
.l3{ left: 18%; top: 68%; transform: rotate(0deg); }   /* p1->p3 */

.reveal.in-view .cg-network .l1{ animation: growLine 1s ease forwards; }
.reveal.in-view .cg-network .l2{ animation: growLine 1s ease .15s forwards; }
.reveal.in-view .cg-network .l3{ animation: growLine 1s ease .3s forwards; }
@keyframes growLine{ to{ width: 34%; } }

.cg-photos{ display:grid; grid-template-columns: repeat(3,1fr); gap:12px; }
.cg-photos figure img{ transition: transform .35s ease, box-shadow .35s ease; }
.cg-photos figure:hover img{ transform: translateY(-4px) scale(1.02); box-shadow: var(--shadow); }

/* ===== 9. Logistics Access ===== */
.logistics-access{ padding:56px 0; }
.lg-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:24px; align-items:start; }
.logistics-access .sec-lede{ color:var(--ink-soft); margin:0 0 12px; }
.lg-points{ margin:0; padding-left:18px; }

.lg-map{
  position:relative; height:200px; border-radius:16px; background:#fff;
  border:1px solid rgba(2,6,23,.08); box-shadow: var(--shadow); overflow:hidden;
}
.lg-route{
  position:absolute; left:10%; right:10%; top: 60%; height:2px; background: rgba(2,6,23,.12);
}
.lg-node{
  position:absolute; width:10px; height:10px; border-radius:999px; background:#0ea5e9; transform: translate(-50%,-50%);
}
.n1{ left: 12%; top: 60%; } .n2{ left: 50%; top: 38%; } .n3{ left: 84%; top: 60%; }

.lg-van{
  position:absolute; width:14px; height:14px; border-radius:4px; background:#f59e0b;
  left:12%; top:60%; transform: translate(-50%,-50%); box-shadow: 0 0 0 0 rgba(245,158,11,.25);
  animation: lgDrive 4.2s ease-in-out infinite paused, ping 2.4s ease-out infinite paused;
}
.reveal.in-view .lg-van{ animation-play-state: running, running; }
@keyframes lgDrive{
  0%{ left:12%; top:60%; }
  45%{ left:50%; top:38%; }
  100%{ left:84%; top:60%; }
}

.lg-photos{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.lg-photos figure img{ transition: transform .35s ease, box-shadow .35s ease; }
.lg-photos figure:hover img{ transform: translateY(-4px) scale(1.02); box-shadow: var(--shadow); }

/* Duyarlılık */
@media (max-width: 1024px){
  .tb-grid, .cg-grid, .lg-grid{ grid-template-columns: 1fr; }
  .tb-photos, .cg-photos, .lg-photos{ grid-template-columns: 1fr; }
}
/* ===== 10. Package Flips ===== */
.package-flips{ padding:56px 0; }
.flips-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:24px; align-items:start; }
.package-flips .sec-lede{ color:var(--ink-soft); margin:0 0 12px; }

.flip-set{ display:grid; grid-template-columns: repeat(3, minmax(180px, 1fr)); gap:12px; }
.flip{
  perspective: 1000px; cursor:pointer; outline:none;
}
.flip-inner{
  position:relative; transform-style: preserve-3d; transition: transform .6s ease;
  background:#fff; border:1px solid rgba(2,6,23,.08); border-radius:16px; padding:12px; box-shadow: var(--shadow);
  min-height: 180px;
}
.flip:focus .flip-inner,
.flip:hover .flip-inner,
.flip.flipped .flip-inner{ transform: rotateY(180deg); }

.front, .back{
  position:absolute; inset:12px; backface-visibility:hidden;
}
.front h3{ margin:0 0 8px; font-size:18px; }
.front ul{ margin:0; padding-left:18px; }
.back{ transform: rotateY(180deg); display:grid; align-content:start; gap:6px; }
.back p{ margin:0; }

.flip-photos{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.flip-photos figure img{ transition: transform .35s ease, box-shadow .35s ease; }
.flip-photos figure:hover img{ transform: translateY(-4px) scale(1.02); box-shadow: var(--shadow); }

/* ===== 11. Coach Carousel ===== */
.coach-carousel{ padding:56px 0; }
.coachcar-grid{ display:grid; grid-template-columns: 1fr; gap:16px; }
.coach-track{
  display:grid; grid-auto-flow: column; grid-auto-columns: minmax(220px, 260px);
  gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px;
}
.coach-track::-webkit-scrollbar{ height:8px; }
.coach-track::-webkit-scrollbar-thumb{ background: rgba(2,6,23,.2); border-radius: 999px; }

.coach-card{
  scroll-snap-align:start; background:#fff; border:1px solid rgba(2,6,23,.08);
  border-radius:16px; padding:10px; box-shadow: var(--shadow);
  transition: transform .25s ease, box-shadow .25s ease;
  width:min(100%, 350px); /* taşmayı engeller */
}
.coach-card:hover{ transform: translateY(-4px) scale(1.02); box-shadow: 0 12px 34px rgba(2,6,23,.12); }
.coach-hint{ text-align:right; font-size:12px; color:#64748b; }

/* ===== 12. Booking Steps ===== */
.booking-steps{ padding:56px 0; }
.booking-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:24px; align-items:start; }
.booking-steps .sec-lede{ color:var(--ink-soft); margin:0 0 12px; }

.steps{ list-style:none; margin:0 0 12px; padding:0; border-left:2px solid rgba(2,6,23,.1); }
.step{ padding:8px 0 8px 14px; position:relative; }
.step::before{
  content:""; position:absolute; left:-7px; top:16px; width:10px; height:10px; border-radius:999px; background:#0ea5e9;
  box-shadow: 0 0 0 0 rgba(14,165,233,.25);
}
.step .kicker{ font-weight:700; color:var(--brand-ink); margin-right:6px; }
.step p{ margin:4px 0 0; color:#475569; }

.progress{
  position:relative; height:10px; border-radius:999px; background:#fff;
  border:1px solid rgba(2,6,23,.08); box-shadow: var(--shadow); overflow:hidden;
}
.progress .fill{
  position:absolute; inset:0; width:0%; background: linear-gradient(90deg, var(--brand), #60a5fa);
  transition: width 1.2s ease;
}
.reveal.in-view .progress .fill{ width: 100%; }

.booking-photos{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.booking-photos figure img{ transition: transform .35s ease, box-shadow .35s ease; }
.booking-photos figure:hover img{ transform: translateY(-4px) scale(1.02); box-shadow: var(--shadow); }

/* Duyarlılık */
@media (max-width: 1024px){
  .flips-grid{ grid-template-columns: 1fr; }
  .flip-set{ grid-template-columns: 1fr; }
  .flip-photos{ grid-template-columns: 1fr; }
  .booking-grid{ grid-template-columns: 1fr; }
}
/* ===== 13. Experiment Kits ===== */
.experiment-kits{ padding:56px 0; }
.kits-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:24px; align-items:start; }
.experiment-kits .sec-lede{ color:var(--ink-soft); margin:0 0 12px; }

.kit-chips{ display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0; list-style:none; }
.kit-chips .chip{
  position:relative; padding:8px 12px; border-radius:999px; background:#fff;
  border:1px solid rgba(2,6,23,.08); font-weight:700; color:var(--brand-ink);
  box-shadow: var(--shadow); overflow:hidden;
}
.kit-chips .chip::after{
  content:""; position:absolute; left:-20%; top:-20%; width:40%; height:140%;
  background: radial-gradient(circle, rgba(14,165,233,.18), transparent 60%);
  transform: rotate(25deg); animation: shimmer 3.2s ease-in-out infinite;
}
@keyframes shimmer{ 50%{ transform: translateX(140%) rotate(25deg);} }

.kits-photos{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }

/* ===== 14. Metrics Radar ===== */
.metrics-radar{ padding:56px 0; }
.radar-grid{ display:grid; grid-template-columns: 1.1fr .9fr .9fr; gap:24px; align-items:start; }
.metrics-radar .sec-lede{ color:var(--ink-soft); margin:0 0 12px; }
.mr-switch{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.mr-btn{
  border:2px solid var(--brand); background:#fff; color:var(--brand-ink);
  border-radius:12px; padding:8px 12px; font-weight:700; cursor:pointer;
  transition: transform .2s ease, background .2s ease;
}
.mr-btn:hover{ transform: translateY(-2px); background: var(--brand); color:#fff; }
.mr-btn.is-active{ background: var(--brand); color:#fff; }

.radar-canvas{
  position:relative; height:220px; border-radius:16px; background:#fff;
  border:1px solid rgba(2,6,23,.08); box-shadow:var(--shadow); overflow:hidden;
}
.ring{
  position:absolute; left:50%; top:50%; transform: translate(-50%,-50%); border-radius:50%;
  border:2px dashed rgba(2,6,23,.12);
}
.r-base{ width:160px; height:160px; }
.r-1{ width:120px; height:120px; }
.r-2{ width:80px;  height:80px; }
.r-3{ width:40px;  height:40px; }

.metrics-radar[data-metric="iletisim"] .r-1{ border-color: rgba(14,165,233,.45); }
.metrics-radar[data-metric="guven"]    .r-2{ border-color: rgba(16,185,129,.50); }
.metrics-radar[data-metric="karar"]    .r-3{ border-color: rgba(245,158,11,.55); }

.needle{
  position:absolute; left:50%; top:50%; width:2px; height:70px; background:#0ea5e9;
  transform-origin: bottom center; transform: translate(-50%,-100%) rotate(-18deg);
  animation: sweep 6s linear infinite paused;
}
.reveal.in-view .needle{ animation-play-state: running; }
@keyframes sweep{ to{ transform: translate(-50%,-100%) rotate(342deg); } }

.radar-photos{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }

/* ===== 15. Sample Day ===== */
.sample-day{ padding:56px 0; }
.dayz-grid{ display:grid; grid-template-columns: 200px 1fr .9fr; gap:24px; align-items:start; }
.dayz-rail{ position:sticky; top:84px; align-self:start; }
.dayz-rail h3{ margin:0 0 8px; }
.rail-line{
  display:block; height:4px; border-radius:999px; background: linear-gradient(90deg, var(--brand), #60a5fa);
  box-shadow: var(--shadow);
}

.dayz-steps{ display:grid; gap:12px; }
.dz{
  background:#fff; border:1px solid rgba(2,6,23,.08); border-radius:12px; padding:10px; box-shadow: var(--shadow);
  position:relative;
}
.dz::before{
  content:""; position:absolute; left:-14px; top:18px; width:12px; height:12px; border-radius:999px; background:#0ea5e9;
}
.dz:nth-child(even){ transform: translateX(6px); }
.dz:nth-child(odd){ transform: translateX(-6px); }

.dayz-photos{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }

/* ===== 16. Closure Ritual ===== */
.closure-ritual{ padding:56px 0; }
.close-grid{ display:grid; grid-template-columns: 1.1fr .9fr .9fr; gap:24px; align-items:start; }
.closure-ritual .sec-lede{ color:var(--ink-soft); margin:0 0 12px; }
.close-points{ margin:0; padding-left:18px; }

.close-ring{
  position:relative; height:220px; border-radius:16px; background:#fff;
  border:1px solid rgba(2,6,23,.08); box-shadow: var(--shadow); overflow:hidden;
}
.halo{
  position:absolute; left:50%; top:50%; transform: translate(-50%,-50%); border-radius:999px;
  box-shadow: 0 0 0 0 rgba(14,165,233,.25);
  border:1px solid rgba(14,165,233,.22);
  animation: pulseRing 3.2s ease-out infinite;
}
.h1{ width:60px; height:60px; }
.h2{ width:120px; height:120px; animation-delay:.2s; }
.h3{ width:180px; height:180px; animation-delay:.4s; }
@keyframes pulseRing{ to{ box-shadow: 0 0 0 26px rgba(14,165,233,0); } }

.close-photos{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }

/* Duyarlılık */
@media (max-width: 1024px){
  .kits-grid{ grid-template-columns: 1fr; }
  .radar-grid{ grid-template-columns: 1fr; }
  .dayz-grid{ grid-template-columns: 1fr; }
  .close-grid{ grid-template-columns: 1fr; }
  .kits-photos, .radar-photos, .dayz-photos, .close-photos{ grid-template-columns: 1fr; }
}
