/* Hâle v5 — iç sayfalar: form dili, tasarlayıcı, hizmetler, portfolyo, hikâye, mekânlar, süreç, teklif, davetiye, hakkımızda,
   iletişim, SSS, yasal. site.css'teki belirteçleri kullanır. */
:root { --ui-zemin: #fff; --ui-murekkep: var(--mur); --ui-vurgu: var(--pat); --ui-vurgu-murekkep: #fff; --ui-yuzey: #fff; --ui-yaricap: 4px; --ui-font-baslik: var(--fd); --ui-golge: var(--g2); --ui-ust-bosluk: 90px; }
.sec-k { font-size: 13px; color: var(--pirm); }
.blk { padding: 96px 0; }
.blk--sis { background: var(--sis); }
.blk-h { font-size: clamp(34px, 3.6vw, 56px); color: var(--pat); letter-spacing: -.02em; }
.demo-note { margin-top: 12px; font-size: 13px; color: var(--gri); }
.f-err { color: var(--pat); font-weight: 600; font-size: 14.5px; min-height: 0; }
.f-err:empty { display: none; }
.f-err:not(:empty)::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 8px; background: var(--pir); transform: rotate(45deg); vertical-align: middle; }

/* ---------------------------------------------------------------- form dili */
.fld { position: relative; display: grid; gap: 6px; margin-top: 18px; }
.fld > span:first-child { font-size: 13.5px; color: var(--gri); }
.fld input, .fld textarea, .fld select { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid var(--cz2); border-radius: var(--r); background: #fff; font-size: 16px; color: var(--mur); transition: border-color .15s, box-shadow .2s; }
.fld textarea { min-height: 110px; resize: vertical; line-height: 1.5; }
.fld input:focus, .fld textarea:focus, .fld select:focus { outline: none; border-color: var(--pat); box-shadow: 0 0 0 4px rgba(176, 141, 87, .18); }
.fld.bad input, .fld.bad textarea { border-color: var(--pat); box-shadow: inset 3px 0 0 var(--pir); }
.fld .msg { font-size: 13px; color: var(--pat); font-weight: 600; }
.f2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.kv { display: flex; gap: 12px; align-items: flex-start; margin-top: 18px; font-size: 14.5px; color: var(--gri); line-height: 1.5; cursor: pointer; }
.kv input { appearance: none; -webkit-appearance: none; flex: none; width: 22px; height: 22px; margin: 1px 0 0; border: 1.5px solid var(--cz2); border-radius: 3px; background: #fff; display: grid; place-items: center; transition: background .15s, border-color .15s; }
.kv input:checked { background: var(--pat); border-color: var(--pat); }
.kv input:checked::after { content: ''; width: 10px; height: 6px; border: solid #fff; border-width: 0 0 2px 2px; transform: translateY(-1px) rotate(-45deg); }
.kv.bad input { border-color: var(--pat); box-shadow: 0 0 0 3px rgba(176, 141, 87, .3); }
.kv a { color: var(--pat); }
.sub { border: 0; margin: 22px 0 0; padding: 0; }
.sub > legend, .bk > legend { font-size: 13.5px; color: var(--gri); margin-bottom: 8px; padding: 0; }
.seg { display: flex; flex-wrap: wrap; gap: 8px; }
.seg label { position: relative; }
.seg input { position: absolute; opacity: 0; pointer-events: none; }
.seg span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid var(--cz2); border-radius: var(--r); background: #fff; font-size: 15px; font-weight: 500; cursor: pointer; transition: border-color .15s, background .15s, color .15s; }
.seg input:checked + span { background: var(--pat); border-color: var(--pat); color: #fff; }
.seg input:focus-visible + span { outline: 2px solid var(--pir); outline-offset: 2px; }
.seg--big span { min-height: 56px; padding: 0 22px; font: 400 19px var(--fd); }
.opt-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 18px; }
.opt-list--3 { grid-template-columns: repeat(3, 1fr); }
.opt { position: relative; }
.opt input { position: absolute; opacity: 0; pointer-events: none; }
.opt-b { display: grid; gap: 3px; height: 100%; padding: 16px 18px 16px 46px; border: 1px solid var(--cz); border-radius: var(--rk); background: #fff; cursor: pointer; transition: border-color .15s, box-shadow .2s, background .15s; position: relative; }
.opt-b::before { content: ''; position: absolute; left: 16px; top: 19px; width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid var(--cz2); background: #fff; transition: box-shadow .2s, border-color .2s; }
.opt-b b { font: 400 20px/1.15 var(--fd); color: var(--pat); }
.opt-b small { font-size: 14px; color: var(--gri); }
.opt input:checked + .opt-b { border-color: var(--pat); background: var(--al2); box-shadow: inset 0 0 0 1px var(--pat); }
.opt input:checked + .opt-b::before { border-color: var(--pat); box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 10px var(--pat); }
.opt input:focus-visible + .opt-b { outline: 2px solid var(--pir); outline-offset: 2px; }
.opt--line .opt-b b { font: 500 16px var(--ft); color: var(--mur); }
.tab { position: relative; display: inline-flex; align-items: center; gap: 6px; height: 44px; padding: 0 14px; border: 0; background: none; font-size: 15px; font-weight: 500; color: var(--gri); }
.tab sup { font-size: 11px; color: var(--pirm); }
.tab.on, .tab[aria-selected="true"] { color: var(--pat); font-weight: 600; }
.tab-i { position: absolute; left: 0; bottom: -1px; height: 2px; width: var(--w, 0); transform: translateX(var(--x, 0)); background: var(--pir); transition: transform .3s var(--kol), width .3s var(--kol); }
.acc details { border-bottom: 1px solid var(--cz); }
.acc summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 0; font: 400 21px/1.3 var(--fd); color: var(--pat); cursor: pointer; list-style: none; }
.acc summary::-webkit-details-marker { display: none; }
.acc summary .ic { flex: none; width: 22px; height: 22px; padding: 3px; border: 1px solid var(--cz2); border-radius: 50%; color: var(--pirm); transition: transform .25s var(--kol), background .2s; }
.acc details[open] summary .ic { transform: rotate(45deg); background: var(--al2); }
.acc details p { padding: 0 48px 22px 0; color: var(--gri); max-width: 68ch; }
.chk li { position: relative; padding: 10px 0 10px 30px; border-bottom: 1px solid var(--cz); }
.chk li .ic { position: absolute; left: 0; top: 13px; color: var(--pir); }
.ok-box { padding: 28px; border-radius: var(--rk); background: var(--al2); display: grid; gap: 10px; }
.ok-box h3 { font-size: 30px; color: var(--pat); }
.tb { width: 100%; font-size: 15px; }
.tb th, .tb td { text-align: left; padding: 14px 12px; border-bottom: 1px solid var(--cz); }
.tb thead th { position: sticky; top: 80px; background: #fff; font-size: 13px; font-weight: 500; color: var(--gri); }
.tb tbody th { font: 400 18px var(--fd); color: var(--pat); }
.tb tbody tr { transition: background .15s; }
.tb tbody tr:hover { background: var(--al2); }

/* ---------------------------------------------------------------- oturma planı tasarlayıcı */
.pl { padding: 30px 0 90px; }
.pl-hd { display: grid; grid-template-columns: 1fr 1.1fr; gap: 40px; align-items: end; margin-bottom: 30px; }
.pl-hd h2 { font-size: clamp(34px, 3.4vw, 52px); color: var(--pat); }
.pl-hd p { color: var(--gri); }
.pl-app { display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 22px; align-items: start; }
.pl-ctl { position: sticky; top: 96px; display: grid; gap: 4px; padding: 20px; background: var(--sis); border-radius: var(--rk); }
.pl-f { border: 0; margin: 0; padding: 12px 0; border-bottom: 1px solid var(--cz); }
.pl-f:last-child { border-bottom: 0; }
.pl-f legend, .pl-gl label, .pl-legt { font-size: 13px; color: var(--gri); padding: 0; margin-bottom: 8px; display: block; }
.pl-tabs, .pl-seg, .pl-vt { display: grid; gap: 6px; }
.pl-tabs { grid-template-columns: repeat(3, 1fr); }
.pl-seg { grid-template-columns: 1fr 1fr; }
.pl-seg--3 { grid-template-columns: repeat(3, 1fr); }
.pl-vt { grid-template-columns: repeat(4, 1fr); }
.pl-ctl label { position: relative; }
.pl-ctl input[type=radio] { position: absolute; opacity: 0; pointer-events: none; }
.pl-ctl label > span { display: grid; justify-items: center; align-content: center; gap: 3px; min-height: 42px; padding: 8px 4px; border: 1px solid var(--cz2); border-radius: var(--r); background: #fff; font-size: 13.5px; font-weight: 500; text-align: center; cursor: pointer; transition: border-color .15s, background .15s; line-height: 1.15; }
.pl-ctl label > span svg { width: 22px; height: 22px; fill: none; stroke: var(--pat); stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.pl-vt small { font-size: 11px; color: var(--gri); font-weight: 400; }
.pl-ctl input:checked + span { border-color: var(--pat); background: var(--al2); box-shadow: inset 0 0 0 1px var(--pat); }
.pl-ctl input:disabled + span { opacity: .4; cursor: default; }
.pl-ctl input:focus-visible + span { outline: 2px solid var(--pir); outline-offset: 2px; }
.pl-gl { display: flex; align-items: center; justify-content: space-between; }
.pl-gs { display: flex; align-items: center; gap: 4px; }
.pl-gs button { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--cz2); border-radius: var(--r); background: #fff; }
.pl-gs svg { width: 14px; height: 14px; fill: none; stroke: var(--pat); stroke-width: 1.8; }
.pl-gs output { min-width: 66px; text-align: center; font-size: 32px; line-height: 1; color: var(--pat); }
.pl-sc { display: flex; justify-content: space-between; font-size: 12px; color: var(--gri); }
.pl-leg ul { display: grid; gap: 7px; }
.pl-leg li { display: flex; gap: 10px; align-items: center; font-size: 13px; color: var(--gri); line-height: 1.3; }
.pl-leg svg { width: 22px; height: 22px; flex: none; }
.pl-main { min-width: 0; display: grid; gap: 14px; }
.pl-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; align-items: center; }
.pl-ttl b { display: block; font: 400 26px/1.1 var(--fd); color: var(--pat); }
.pl-ttl span { font-size: 13.5px; color: var(--gri); }
.pl-tools { display: flex; flex-wrap: wrap; gap: 6px; }
.pl-tools button { display: inline-flex; align-items: center; gap: 7px; height: 40px; padding: 0 12px; border: 1px solid var(--cz2); border-radius: var(--r); background: #fff; font-size: 14px; font-weight: 500; transition: border-color .15s, background .15s; }
.pl-tools button:hover { border-color: var(--pat); background: var(--al2); }
.pl-tools svg { width: 17px; height: 17px; fill: none; stroke: var(--pat); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.pl-canvas { border-radius: var(--rk); background: #fff; box-shadow: var(--g2), inset 0 0 0 1px var(--cz); overflow: auto; }
.pl-canvas svg { min-width: 740px; width: 100%; height: auto; touch-action: none; }
.pl-t { cursor: grab; outline: none; }
.pl-t:focus-visible circle, .pl-t:focus-visible rect { stroke: var(--pir); }
.pl-t.is-drag { cursor: grabbing; }
.pl-note { font-size: 14px; color: var(--gri); min-height: 1.5em; }
.pl-sugg { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; padding: 14px 16px; border-radius: var(--rk); background: var(--al2); font-size: 14.5px; }
.pl-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.pl-m { --p: 0; display: grid; gap: 4px; padding: 14px 16px; border-radius: var(--rk); background: var(--sis); }
.pl-ml { font-size: 12.5px; color: var(--gri); }
.pl-m b { font: 400 26px/1.05 var(--fd); color: var(--pat); }
.pl-mb { height: 3px; background: var(--cz); border-radius: 3px; overflow: hidden; }
.pl-mb i { display: block; height: 100%; width: calc(var(--p) * 100%); background: var(--pir); transition: width .4s var(--kol); }
.pl-m.is-warn .pl-mb i { background: var(--pat); }
.pl-m small { font-size: 12.5px; color: var(--gri); line-height: 1.35; }
.pl-foot { display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; padding-top: 6px; }
.pl-insp { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; font-size: 14px; color: var(--gri); }
.pl-i b { display: block; font: 400 20px var(--fd); color: var(--pat); }
.pl-step { display: inline-flex; align-items: center; gap: 4px; }
.pl-step button { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--cz2); border-radius: var(--r); background: #fff; }
.pl-step button:disabled { opacity: .4; }
.pl-step svg { width: 14px; height: 14px; fill: none; stroke: var(--pat); stroke-width: 1.8; }
.pl-step output { min-width: 56px; text-align: center; font-size: 24px; color: var(--pat); }
.pl-step small { font: 400 12px var(--ft); color: var(--gri); margin-left: 3px; }
.pl-del { border: 0; background: none; color: var(--pat); text-decoration: underline; font-size: 14px; }
.pl-cta { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: flex-end; font-size: 13.5px; color: var(--gri); text-align: right; }
.pl-nojs { padding: 30px; color: var(--gri); }
.pl-3d { margin-top: 36px; display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 22px; align-items: stretch; }
.pl-3d-t { display: grid; gap: 12px; align-content: start; padding: 22px; border-radius: var(--rk); background: var(--al2); }
.pl-3d-t h3 { font-size: 30px; color: var(--pat); }
.pl-3d-t p { font-size: 15px; color: var(--gri); }
.pl-3d-isik { display: grid; gap: 4px; margin-top: 8px; font-size: 13px; color: var(--gri); }
.pl-3d-isik output { font: 500 14px var(--ft); color: var(--pat); margin-left: 6px; }
.pl-3d-k { font-size: 13.5px; color: var(--pat); }
.pl-3d-v { position: relative; min-height: 520px; border-radius: var(--rk); overflow: hidden; background: radial-gradient(80% 60% at 50% 70%, #5E3760 0%, transparent 70%), linear-gradient(160deg, #432446, var(--pat) 50%, #2B162F); }
.pl-3d-v canvas, .pl-3d-v .mk-poster { position: absolute; inset: 0; width: 100%; height: 100%; }
.pl-3d-v .mk-poster { object-fit: contain; }
.pl-3d.has-gl .mk-poster { visibility: hidden; }
html.pl-print body > *:not(main), html.pl-print main > *:not(.pl), html.pl-print .pl-ctl, html.pl-print .pl-hd, html.pl-print .pl-top, html.pl-print .pl-metrics, html.pl-print .pl-foot, html.pl-print .pl-note, html.pl-print .pl-3d { display: none !important; }
.kur { padding: 40px 0 100px; }
.kur-in { display: grid; grid-template-columns: 1fr 1.3fr; gap: 56px; }
.kur-t h2 { font-size: clamp(30px, 3vw, 44px); color: var(--pat); }
.kur-t > p { margin-top: 14px; color: var(--gri); }
.kur-l { margin-top: 22px; display: grid; gap: 0; }
.kur-l div { display: grid; grid-template-columns: 110px 1fr; gap: 16px; padding: 16px 0; border-top: 1px solid var(--cz); }
.kur-l dt { font: 400 30px/1 var(--fd); color: var(--pirm); }
.kur-l dd { color: var(--gri); font-size: 15.5px; }

/* ---------------------------------------------------------------- hizmetler */
.sv5 { padding: 20px 0 80px; }
.sv5-nav { position: sticky; top: 84px; z-index: 10; display: flex; gap: 4px; overflow-x: auto; padding: 8px; margin-bottom: 40px; background: #fff; border-radius: var(--rk); box-shadow: var(--g1), inset 0 0 0 1px var(--cz); scrollbar-width: none; }
.sv5-nav a { flex: none; padding: 9px 14px; border-radius: var(--r); font-size: 14.5px; font-weight: 500; text-decoration: none; white-space: nowrap; }
.sv5-nav a:hover { background: var(--al2); }
.sv5-grid { display: grid; gap: 22px; }
.sv5-c { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 0; border-radius: var(--rk); overflow: hidden; background: #fff; box-shadow: var(--g1), inset 0 0 0 1px var(--cz); scroll-margin-top: 160px; }
.sv5-c:nth-child(even) { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
.sv5-c:nth-child(even) .sv5-fig { order: 2; }
.sv5-fig { position: relative; display: block; min-height: 420px; overflow: hidden; }
.sv5-fig img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--kol); }
.sv5-c:hover .sv5-fig img { transform: scale(1.035); }
.svc4-tag { position: absolute; left: 14px; top: 14px; padding: 7px 10px; background: #fff; border-radius: 3px; font-size: 12.5px; font-weight: 600; color: var(--pat); box-shadow: var(--g1); }
.sv5-b { padding: 34px 38px; display: grid; gap: 14px; align-content: start; }
.sv5-b h2 { font-size: clamp(30px, 2.8vw, 42px); }
.sv5-b h2 a { color: var(--pat); text-decoration: none; }
.sv5-l { color: var(--gri); }
.sv5-inc { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.sv5-inc li { display: flex; gap: 10px; align-items: flex-start; padding: 8px 0; border-bottom: 1px solid var(--cz); font-size: 14.5px; line-height: 1.4; }
.sv5-inc .ic { color: var(--pir); width: 16px; height: 16px; margin-top: 2px; }
.sv5-st { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.sv5-st li { padding-top: 10px; border-top: 2px solid var(--al); font-size: 13px; line-height: 1.35; color: var(--gri); }
.sv5-st li:first-child { border-color: var(--pir); }
.sv5-st b { display: block; color: var(--pirm); font-weight: 600; margin-bottom: 2px; }
.sv5-a { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; margin-top: 6px; }
.cmp { padding: 90px 0; background: var(--sis); }
.cmp h2 { font-size: clamp(34px, 3.6vw, 56px); color: var(--pat); }
.cmp-l { margin: 14px 0 30px; color: var(--gri); max-width: 62ch; }
.cmp-wrap { overflow: auto; border-radius: var(--rk); background: #fff; box-shadow: var(--g2); }
.cmp-t { width: 100%; min-width: 680px; font-size: 15px; }
.cmp-t th, .cmp-t td { padding: 14px 18px; border-bottom: 1px solid var(--cz); text-align: center; }
.cmp-t thead th { position: sticky; top: 0; background: #fff; font: 400 21px/1.15 var(--fd); color: var(--pat); vertical-align: bottom; }
.cmp-t thead th small { display: block; font: 400 12.5px var(--ft); color: var(--gri); margin-top: 4px; }
.cmp-t thead th:nth-child(2), .cmp-t td:nth-child(2) { background: var(--al2); }
.cmp-t tbody th { text-align: left; font-weight: 500; }
.cmp-t tbody tr:hover th, .cmp-t tbody tr:hover td { background: #FBF5F5; }
.cmp-t td .ic { margin: 0 auto; color: var(--pat); }
.cmp-no { color: var(--cz2); }
.cmp-t tfoot th { text-align: left; font-weight: 500; color: var(--gri); }
.cmp-t tfoot a { font-weight: 600; color: var(--pat); }

/* hizmet detayı */
.sd-hero { padding: 40px 0 70px; position: relative; }
.sd-hero-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 60px; align-items: center; }
.sd-t h1 { font-size: clamp(46px, 5.8vw, 92px); color: var(--pat); letter-spacing: -.024em; line-height: .96; }
.sd-lead { margin-top: 22px; font-size: 19px; color: var(--gri); max-width: 52ch; }
.sd-a { display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; margin-top: 28px; }
.sd-fig { margin: 0; aspect-ratio: 4 / 4.4; overflow: hidden; clip-path: polygon(0 7%, 50% 0, 100% 7%, 100% 100%, 0 100%); border-radius: 0 0 var(--rk) var(--rk); }
.sd-fig img { width: 100%; height: 100%; object-fit: cover; }
.sd-body { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 56px; padding-bottom: 90px; }
.sd-toc { position: sticky; top: 100px; align-self: start; display: grid; gap: 2px; padding-left: 14px; border-left: 1px solid var(--cz); }
.sd-toc b { font-size: 13px; color: var(--gri); font-weight: 500; margin-bottom: 8px; }
.sd-toc a { padding: 6px 0; text-decoration: none; font-size: 15px; color: var(--gri); position: relative; }
.sd-toc a.on { color: var(--pat); font-weight: 600; }
.sd-toc a.on::before { content: ''; position: absolute; left: -15px; top: 6px; bottom: 6px; width: 2px; background: var(--pir); }
.sd-main { display: grid; gap: 60px; max-width: 880px; }
.sd-sec h2 { font-size: clamp(28px, 2.6vw, 40px); color: var(--pat); margin-bottom: 18px; }
.sd-prose p { font-size: 18px; line-height: 1.7; margin-bottom: 16px; }
.sd-prose p:first-child::first-letter { float: left; font: 400 64px/.85 var(--fd); color: var(--pat); margin: 6px 10px 0 0; }
.sd-inl { margin: 26px 0; border-radius: var(--rk); overflow: hidden; aspect-ratio: 16 / 9; }
.sd-inl img { width: 100%; height: 100%; object-fit: cover; }
.sd-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 18px; counter-reset: s; }
.sd-steps li { position: relative; padding: 18px 16px; border-radius: var(--rk); background: var(--sis); display: grid; gap: 6px; }
.sd-steps li span { font-size: 13px; color: var(--pirm); font-weight: 600; }
.sd-steps li b { font: 400 18px/1.25 var(--fd); color: var(--pat); }
.sd-steps li:first-child { background: var(--al2); }
.sd-rel { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.sd-others { padding: 80px 0; background: var(--sis); }
.sd-others h2 { font-size: clamp(30px, 3vw, 44px); color: var(--pat); margin-bottom: 24px; }
.sd-others ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.sd-others a { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; padding: 18px 20px; background: #fff; border-radius: var(--rk); text-decoration: none; box-shadow: var(--g1); transition: transform .25s var(--kol), box-shadow .25s; }
.sd-others a:hover { transform: translateY(-2px); box-shadow: var(--g2); }
.sd-others b { font: 400 21px var(--fd); color: var(--pat); }
.sd-others span { grid-column: 1; font-size: 14px; color: var(--gri); }
.sd-others .ic { grid-row: 1 / 3; grid-column: 2; align-self: center; color: var(--pir); }

/* ---------------------------------------------------------------- portfolyo kartları + ızgara */
.sc { display: grid; gap: 14px; align-content: start; text-decoration: none; color: inherit; }
.sc-fig { position: relative; display: block; overflow: hidden; border-radius: var(--rk); aspect-ratio: 4 / 3; background: var(--sis); }
.sc-fig img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--kol); }
.sc:hover .sc-fig img { transform: scale(1.04); }
.sc-tag { position: absolute; left: 12px; top: 12px; padding: 6px 10px; background: #fff; border-radius: 3px; font-size: 12px; font-weight: 600; color: var(--pat); }
.sc-meta { display: grid; gap: 4px; }
.sc-k { font-size: 13px; color: var(--pirm); }
.sc-t { font: 400 28px/1.08 var(--fd); color: var(--pat); }
.sc-row { display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 14px; color: var(--gri); }
.sc-row b { font: 400 18px var(--fd); color: var(--pat); }
.sc-pal { display: flex; margin-top: 4px; }
.sc-pal i { width: 20px; height: 20px; border-radius: 50%; margin-right: -5px; box-shadow: 0 0 0 2px #fff; }
.pf { padding: 10px 0 100px; }
.pf-filter { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding-bottom: 0; margin-bottom: 38px; border-bottom: 1px solid var(--cz); }
.pf-count { margin-left: auto; font-size: 14px; color: var(--gri); }
.pf-count span { font: 400 22px var(--fd); color: var(--pat); }
.pf-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 46px 24px; }
.pf-grid .sc { grid-column: span 2; }
.pf-grid .pf--xl { grid-column: span 4; }
.pf-grid .pf--xl .sc-fig { aspect-ratio: 16 / 10; }
.pf-grid .pf--tall .sc-fig { aspect-ratio: 4 / 5; }
.pf-grid .pf--wide { grid-column: span 3; }
.pf-grid .pf--full { grid-column: span 6; }
.pf-grid .pf--full .sc-fig { aspect-ratio: 21 / 8; }
.pf-grid.is-f .sc { grid-column: span 3; }
.pf-grid.is-f .sc .sc-fig { aspect-ratio: 4 / 3; }

/* hikâye */
.st-hd { padding-top: 40px; padding-bottom: 40px; max-width: 1100px; }
.st-k { font-size: 14px; color: var(--pirm); }
.st-hd h1 { margin-top: 10px; font-size: clamp(50px, 7vw, 116px); line-height: .94; color: var(--pat); letter-spacing: -.03em; }
.st-deck { margin-top: 22px; font-size: 21px; line-height: 1.55; color: var(--gri); max-width: 60ch; }
.st-cover { margin: 0 40px; height: min(78vh, 760px); overflow: hidden; border-radius: var(--rk); }
.st-cover img { width: 100%; height: 100%; object-fit: cover; }
.st-body { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 64px; padding-top: 70px; padding-bottom: 60px; }
.st-facts { position: sticky; top: 100px; align-self: start; display: grid; gap: 26px; padding: 24px; border-radius: var(--rk); background: var(--sis); }
.st-facts dl div { display: grid; gap: 2px; padding: 10px 0; border-bottom: 1px solid var(--cz); }
.st-facts dt { font-size: 12.5px; color: var(--gri); }
.st-facts dd { font: 400 19px/1.3 var(--fd); color: var(--pat); }
.st-facts dd span { font: 400 14px var(--ft); color: var(--gri); }
.st-facts dd a { display: block; color: var(--pat); }
.st-pal h2 { font-size: 13px; font-family: var(--ft); color: var(--gri); margin-bottom: 10px; }
.st-pal ul { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.st-pal li { display: grid; gap: 2px; font-size: 13px; }
.sw { height: 46px; border-radius: 4px; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06); }
.st-pal code { font: 12px var(--ft); color: var(--gri); }
.st-text p { font-size: 19px; line-height: 1.72; margin-bottom: 20px; max-width: 64ch; }
.st-concept { font: italic 400 clamp(26px, 2.4vw, 36px)/1.3 var(--fd) !important; color: var(--pat); margin-bottom: 30px !important; padding-left: 22px; border-left: 2px solid var(--pir); }
.st-pair { display: grid; grid-template-columns: 1.6fr 1fr; gap: 20px; align-items: end; padding-bottom: 60px; }
.st-pair figure, .st-wide { margin: 0; overflow: hidden; border-radius: var(--rk); }
.st-p1 { aspect-ratio: 4 / 3; }
.st-p2 { aspect-ratio: 3 / 4; }
.st-pair img, .st-wide img { width: 100%; height: 100%; object-fit: cover; }
.st-more { padding-bottom: 60px; }
.st-more p { font-size: 19px; line-height: 1.72; margin-bottom: 20px; }
.st-wide { margin: 0 40px; height: min(70vh, 640px); }
.st-plan { display: grid; grid-template-columns: 1fr 1.6fr; gap: 50px; align-items: center; padding-top: 90px; padding-bottom: 60px; }
.st-plan-t h2 { font-size: clamp(30px, 3vw, 44px); color: var(--pat); margin-bottom: 14px; }
.st-plan-t p { color: var(--gri); }
.st-plan-svg { padding: 26px; border-radius: var(--rk); background: #fff; box-shadow: var(--g2); }
.st-roles { padding-bottom: 60px; }
.st-roles h2 { font-size: clamp(30px, 3vw, 44px); color: var(--pat); margin-bottom: 20px; }
.st-roles ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; }
.st-roles li { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--cz); }
.st-roles li span { color: var(--gri); }
.st-roles li b { font: 400 18px var(--fd); color: var(--pat); text-align: right; }
.st-note { margin-top: 14px; font-size: 13.5px; color: var(--gri); }
.st-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding-bottom: 90px; }
.st-nv { display: flex; align-items: center; gap: 16px; padding: 22px; border-radius: var(--rk); background: var(--sis); text-decoration: none; transition: background .2s; }
.st-nv:hover { background: var(--al2); }
.st-nv small { display: block; font-size: 13px; color: var(--gri); }
.st-nv b { font: 400 24px/1.15 var(--fd); color: var(--pat); }
.st-nv--n { justify-content: flex-end; text-align: right; }
.st-nv .ic { color: var(--pir); width: 22px; height: 22px; }

/* ---------------------------------------------------------------- mekânlar */
.vn { padding: 10px 0 100px; }
.vn-top { display: grid; grid-template-columns: 1.2fr 1fr; gap: 30px; align-items: stretch; margin-bottom: 40px; }
.vn-map { padding: 24px; border-radius: var(--rk); background: var(--sis); display: grid; align-content: space-between; }
.vn-hint { font-size: 13.5px; color: var(--gri); margin-top: 8px; }
.vn-f { display: grid; gap: 18px; align-content: start; padding: 24px; border-radius: var(--rk); background: #fff; box-shadow: var(--g2); }
.vn-f fieldset { border: 0; margin: 0; padding: 0; }
.vn-f legend { font-size: 13px; color: var(--gri); margin-bottom: 6px; }
.vn-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.vn-tabs .tab { height: 40px; border: 1px solid var(--cz2); border-radius: var(--r); background: #fff; font-size: 14px; }
.vn-tabs .tab.on { background: var(--pat); border-color: var(--pat); color: #fff; }
.vn-tabs .tab.on sup { color: var(--pir2); }
.vn-range { display: grid; gap: 4px; }
.vn-range > span { display: flex; justify-content: space-between; font-size: 13px; color: var(--gri); }
.vn-range output { font-size: 20px; color: var(--pat); }
.vn-range small { font-size: 12.5px; color: var(--gri); }
.vn-count { font-size: 14.5px; color: var(--gri); }
.vn-count b { font: 400 34px var(--fd); color: var(--pat); }
.vn-list { display: grid; gap: 18px; }
.vn-it { display: grid; grid-template-columns: 340px minmax(0, 1fr) 260px; gap: 0; border-radius: var(--rk); overflow: hidden; background: #fff; box-shadow: var(--g1), inset 0 0 0 1px var(--cz); scroll-margin-top: 110px; }
.vn-fig { margin: 0; min-height: 230px; position: relative; }
.vn-fig img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vn-t { padding: 26px 30px; display: grid; gap: 8px; align-content: start; }
.vn-type { font-size: 13px; color: var(--pirm); }
.vn-t h2 { font-size: 32px; color: var(--pat); }
.vn-t p:last-child { color: var(--gri); font-size: 15.5px; }
.vn-d { padding: 22px 24px; display: grid; gap: 0; align-content: start; background: var(--sis); }
.vn-d div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--cz); font-size: 14px; }
.vn-d dt { color: var(--gri); }
.vn-d dd { font-weight: 600; text-align: right; }
.vn-q { grid-column: 2 / 4; justify-self: end; display: inline-flex; gap: 8px; align-items: center; margin: -54px 24px 18px 0; font-weight: 600; font-size: 14.5px; color: var(--pat); text-decoration: none; }
.vn-q .ic { color: var(--pir); }
.vn-empty { padding: 30px; border-radius: var(--rk); background: var(--al2); font-size: 16px; }
.vn-it[hidden] { display: none; }

/* ---------------------------------------------------------------- süreç */
.pr { padding: 20px 0 80px; }
.pr-in { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 60px; }
.pr-gauge { position: sticky; top: 110px; align-self: start; }
.pr-g-in { position: relative; display: grid; place-items: center; width: 240px; aspect-ratio: 1; border-radius: 50%; background: var(--sis); }
.pr-g-l { position: absolute; top: 58px; font-size: 13px; color: var(--gri); }
.pr-g-in b { position: absolute; font: 400 44px/1 var(--fd); color: var(--pat); }
.pr-dial { position: absolute; inset: 14px; transform: rotate(-90deg); }
.pr-d-bg { fill: none; stroke: var(--cz); stroke-width: 3; }
.pr-d-fg { fill: none; stroke: var(--pir); stroke-width: 3; stroke-dasharray: 326.7; stroke-dashoffset: 326.7; stroke-linecap: round; transition: stroke-dashoffset .6s var(--kol); }
.pr-list { display: grid; gap: 0; border-left: 1px solid var(--cz2); }
.pr-it { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 30px; padding: 30px 0 30px 30px; position: relative; }
.pr-it::before { content: ''; position: absolute; left: -6px; top: 40px; width: 11px; height: 11px; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 2px var(--cz2); transition: box-shadow .3s, background .3s; }
.pr-it.on::before { background: var(--pat); box-shadow: 0 0 0 5px rgba(176, 141, 87, .25); }
.pr-w span { font: 400 28px/1 var(--fd); color: var(--pirm); }
.pr-c h2 { font-size: 30px; color: var(--pat); }
.pr-c p { margin-top: 10px; color: var(--gri); }
.pr-c ul { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.pr-c li { padding: 6px 10px; border-radius: 3px; background: var(--sis); font-size: 13.5px; }
.rs { padding: 90px 0; background: var(--pat); color: #fff; }
.rs-in { display: grid; grid-template-columns: 1fr 1.4fr; gap: 60px; }
.rs-t h2 { font-size: clamp(34px, 3.6vw, 54px); color: #fff; }
.rs-t p { margin-top: 14px; color: rgba(255, 255, 255, .75); }
.rs-tabs { position: relative; display: flex; flex-wrap: wrap; gap: 4px; margin-top: 26px; border-bottom: 1px solid rgba(255, 255, 255, .2); }
.rs .tab { color: rgba(255, 255, 255, .7); }
.rs .tab.on, .rs .tab[aria-selected="true"] { color: #fff; box-shadow: inset 0 -2px 0 var(--pir); }
.rs-list li { display: grid; grid-template-columns: 90px 1fr; gap: 18px; padding: 13px 0; border-bottom: 1px solid rgba(255, 255, 255, .14); }
.rs-list time { font: 400 22px/1.2 var(--fd); color: var(--al); font-variant-numeric: tabular-nums; }
.rs-list span { color: rgba(255, 255, 255, .88); }
.prg .rs-list li, .prg-t .rs-list li { border-color: var(--cz); }
.prg .rs-list time { color: var(--pirm); }
.prg .rs-list span { color: var(--mur); }
.pr-plan { padding: 90px 0; }
.pr-plan-in { display: grid; grid-template-columns: 1fr 1.4fr; gap: 50px; align-items: center; }
.pr-plan h2 { font-size: clamp(30px, 3vw, 44px); color: var(--pat); margin-bottom: 14px; }
.pr-plan p { color: var(--gri); margin-bottom: 16px; }
.pr-plan-svg { padding: 24px; background: #fff; border-radius: var(--rk); box-shadow: var(--g2); }

/* ---------------------------------------------------------------- teklif sihirbazı */
.wz-hd { padding: 40px 0 30px; position: relative; }
.wz-hd h1 { font-size: clamp(46px, 5.8vw, 92px); color: var(--pat); letter-spacing: -.024em; }
.wz { padding: 10px 0 100px; }
.wz-in { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 30px 50px; }
.wz-prog { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(9, 1fr); gap: 4px; }
.wz-prog li { padding-top: 10px; border-top: 3px solid var(--cz); font-size: 13px; color: var(--gri); cursor: default; transition: border-color .3s, color .3s; }
.wz-prog li.done { border-color: var(--pir); color: var(--mur); cursor: pointer; }
.wz-prog li.on { border-color: var(--pat); color: var(--pat); font-weight: 600; }
.wz-form { min-width: 0; padding: 34px 38px; border-radius: var(--rk); background: #fff; box-shadow: var(--g2), inset 0 0 0 1px var(--cz); }
.wz-from { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; align-items: center; padding: 14px 16px; margin-bottom: 20px; border-radius: var(--rk); background: var(--al2); }
.wz-from-t { display: grid; font-size: 14px; color: var(--gri); }
.wz-from-t b { color: var(--pat); }
.wz-step { border: 0; margin: 0; padding: 0; }
.wz-k { font-size: 13px; color: var(--pirm); }
.wz-step h2 { margin-top: 6px; font-size: clamp(30px, 3vw, 44px); color: var(--pat); outline: none; }
.wz-help { margin-top: 8px; color: var(--gri); }
.wz-nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--cz); }
.wz-nav [data-wz-next], .wz-nav [data-wz-send] { margin-left: auto; }
.cal { margin-top: 18px; max-width: 460px; }
.cal-hd { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.cal-hd b { font: 400 22px var(--fd); color: var(--pat); }
.cal-hd .ar { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--cz2); border-radius: var(--r); background: #fff; }
.cal-hd .ar:disabled { opacity: .35; }
.cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.cal-dn { font-size: 12px; color: var(--gri); text-align: center; padding: 6px 0; }
.cal-d { aspect-ratio: 1; border: 0; border-radius: var(--r); background: var(--sis); font-size: 14.5px; font-variant-numeric: tabular-nums; transition: background .15s; }
.cal-d:hover:not(:disabled) { background: var(--al2); }
.cal-d.sat { box-shadow: inset 0 -2px 0 var(--pir2); font-weight: 600; }
.cal-d.full { background: repeating-linear-gradient(135deg, #fff 0 4px, var(--sis2) 4px 6px); color: var(--gri2); }
.cal-d[aria-pressed="true"] { background: var(--pat); color: #fff; box-shadow: none; }
.cal-d:disabled { background: transparent; color: var(--cz2); cursor: default; }
.cal-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 10px; font-size: 13px; color: var(--gri); align-items: center; }
.lg-sat, .lg-full { display: inline-block; width: 16px; height: 16px; border-radius: 3px; vertical-align: middle; margin-right: 4px; }
.lg-sat { background: var(--sis); box-shadow: inset 0 -2px 0 var(--pir2); }
.lg-full { background: repeating-linear-gradient(135deg, #fff 0 3px, var(--sis2) 3px 5px); }
.wz-pick { margin-top: 12px; font-weight: 600; color: var(--pat); }
.gs { margin-top: 22px; max-width: 560px; }
.gs-out { font-size: 72px; line-height: 1; color: var(--pat); }
.gs-u { margin-left: 10px; color: var(--gri); }
.gs-scale { display: flex; justify-content: space-between; font-size: 12.5px; color: var(--gri); }
.gs-note { margin-top: 14px; padding: 14px 16px; border-radius: var(--rk); background: var(--sis); color: var(--gri); font-size: 15px; }
.mood { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 18px; }
.mood-c { position: relative; display: grid; border-radius: var(--rk); overflow: hidden; background: #fff; box-shadow: inset 0 0 0 1px var(--cz); cursor: pointer; transition: box-shadow .2s; }
.mood-c input { position: absolute; opacity: 0; pointer-events: none; }
.mood-f { aspect-ratio: 4 / 3; overflow: hidden; }
.mood-f img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--kol); }
.mood-c:hover .mood-f img { transform: scale(1.05); }
.mood-t { padding: 10px 12px; display: grid; gap: 1px; }
.mood-t b { font: 400 18px var(--fd); color: var(--pat); }
.mood-t small { font-size: 13px; color: var(--gri); }
.mood-chk { position: absolute; right: 10px; top: 10px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: transparent; box-shadow: var(--g1); transition: background .2s, color .2s; }
.mood-c:has(input:checked) { box-shadow: inset 0 0 0 2px var(--pat), var(--g2); }
.mood-c:has(input:checked) .mood-chk { background: var(--pat); color: #fff; }
.sum { display: grid; margin-top: 18px; }
.sum div { display: grid; grid-template-columns: 140px 1fr auto; gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--cz); align-items: baseline; }
.sum dt { font-size: 13.5px; color: var(--gri); }
.sum dd { font-weight: 500; }
.sum button { border: 0; background: none; color: var(--pat); font-size: 14px; text-decoration: underline; }
.wz-side { position: sticky; top: 100px; align-self: start; display: grid; gap: 14px; }
.wz-card { padding: 22px; border-radius: var(--rk); background: var(--pat); color: #fff; box-shadow: var(--g3); }
.wz-card-top { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid rgba(255, 255, 255, .18); font: 400 24px var(--fd); }
.wz-mono { width: 40px; height: 40px; color: var(--pir2); }
.wz-live div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid rgba(255, 255, 255, .12); font-size: 14px; }
.wz-live dt { color: rgba(255, 255, 255, .62); }
.wz-live dd { text-align: right; font-weight: 500; }
.wz-plan { margin-top: 14px; padding: 12px; border-radius: 6px; background: #fff; }
.wz-plan.is-from svg { max-height: 260px; }
.wz-plan-c { margin-top: 10px; font-size: 13px; color: rgba(255, 255, 255, .75); }
.wz-help2 { font-size: 14px; color: var(--gri); }
.wz-done { grid-column: 1 / -1; display: grid; justify-items: center; gap: 14px; padding: 60px 30px; border-radius: var(--rk); background: var(--al2); text-align: center; }
.wz-done h2 { font-size: clamp(32px, 3.4vw, 50px); color: var(--pat); }
.done-mono { width: 70px; height: 70px; color: var(--pat); animation: muhur .7s var(--kol); }
@keyframes muhur { from { transform: scale(1.6) rotate(-12deg); opacity: 0; } }
.wz.is-done .wz-form, .wz.is-done .wz-side, .wz.is-done .wz-prog { display: none; }

/* ---------------------------------------------------------------- dijital davetiye */
.mod-band { background: var(--pat); color: #fff; font-size: 14px; }
.mod-band-in { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; padding-top: 12px; padding-bottom: 12px; }
.mod-band a { display: inline-flex; gap: 6px; align-items: center; color: var(--al); font-weight: 600; text-decoration: none; }
.env { position: relative; display: grid; justify-items: center; gap: 26px; padding: 70px 20px 80px; background: radial-gradient(70% 60% at 50% 40%, var(--al2), #fff 70%); overflow: hidden; }
.env .crumbs { position: absolute; left: 40px; top: 20px; margin: 0; }
.env-stage { position: relative; width: min(560px, 92vw); aspect-ratio: 1.42; margin-top: 120px; perspective: 1400px; }
.env-back, .env-front, .env-flap { position: absolute; inset: 0; border-radius: 4px; }
.env-back { background: #E6CDCD; box-shadow: var(--g3); }
.env-front { z-index: 3; background: linear-gradient(160deg, #F2DFDF, #E6CBCB); clip-path: polygon(0 0, 50% 54%, 100% 0, 100% 100%, 0 100%); }
.env-flap { z-index: 4; transform-origin: 50% 0; background: linear-gradient(180deg, #EFD9D9, #E2C4C4); clip-path: polygon(0 0, 100% 0, 50% 60%); transition: transform .9s var(--kol), z-index 0s .45s; }
.env-seal { position: absolute; z-index: 5; left: 50%; top: 44%; width: 64px; height: 64px; margin-left: -32px; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #5E3560, var(--pat) 70%); box-shadow: 0 8px 16px -6px rgba(36, 18, 42, .6), inset 0 0 0 3px rgba(176, 141, 87, .6); transition: opacity .3s; }
.seal-mono { width: 38px; height: 38px; color: var(--pir2); }
.env-card { position: absolute; z-index: 2; left: 5%; right: 5%; top: 4%; transition: transform 1s var(--kol) .35s; }
.env.open .env-flap { transform: rotateX(180deg); z-index: 1; }
.env.open .env-seal { opacity: 0; }
.env.open .env-card { transform: translateY(-62%); }
.env-open { position: relative; z-index: 6; }
.env.open .env-open { visibility: hidden; }
.ivc { display: grid; justify-items: center; gap: 10px; padding: 34px 30px 30px; background: #fff; text-align: center; box-shadow: 0 30px 50px -30px rgba(58, 31, 61, .45); }
.ivc-mono { width: 50px; height: 50px; color: var(--pir); }
.ivc-fam { display: grid; font-size: 13px; color: var(--gri); }
.ivc-txt { font-size: 14px; color: var(--gri); max-width: 36ch; }
.ivc-names { font: italic 400 clamp(36px, 5vw, 56px)/1 var(--fd); color: var(--pat); display: flex; align-items: baseline; gap: 14px; }
.ivc-names i { font: 400 15px var(--ft); color: var(--pirm); }
.ivc-date, .ivc-venue { font-size: 14px; letter-spacing: .02em; }
.ivc-venue small { color: var(--gri); }
.ivc-rsvp { font-size: 12.5px; color: var(--gri); }
.cd { padding: 70px 0; background: var(--pat); color: #fff; text-align: center; }
.cd h2 { font-size: clamp(30px, 3vw, 44px); color: #fff; }
.cd-n { display: flex; justify-content: center; gap: 46px; margin: 24px 0 14px; }
.cd-n b { display: block; font: 400 clamp(54px, 7vw, 96px)/1 var(--fd); color: var(--al); font-variant-numeric: tabular-nums; }
.cd-n span { font-size: 13px; color: rgba(255, 255, 255, .7); }
.cd-d { color: rgba(255, 255, 255, .8); }
.prg { padding: 90px 0; }
.prg-in { display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: center; }
.prg-fig { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; clip-path: polygon(0 7%, 50% 0, 100% 7%, 100% 100%, 0 100%); border-radius: 0 0 var(--rk) var(--rk); }
.prg-fig img { width: 100%; height: 100%; object-fit: cover; }
.prg h2 { font-size: clamp(32px, 3.4vw, 50px); color: var(--pat); margin-bottom: 18px; }
.info { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; padding-bottom: 90px; }
.info-b { padding: 26px; border-radius: var(--rk); background: var(--sis); display: grid; gap: 10px; align-content: start; }
.info-b h2 { font-size: 26px; color: var(--pat); }
.info-b p { color: var(--gri); font-size: 15.5px; }
.route { margin-top: 10px; }
.route text { font: 500 12px var(--ft); fill: var(--mur); }
.rt-coast { fill: none; stroke: var(--cz2); stroke-width: 1.5; }
.rt-line { fill: none; stroke: var(--pir); stroke-width: 2; stroke-dasharray: 5 5; }
.rt-a { fill: var(--pat); }
.rt-b { fill: var(--pir); }
.rsvp { padding: 90px 0; background: linear-gradient(180deg, #fff, var(--al2)); }
.rsvp-hd { text-align: center; display: grid; justify-items: center; gap: 12px; margin-bottom: 30px; }
.rsvp-hd h2 { font-size: clamp(34px, 3.6vw, 54px); color: var(--pat); }
.rsvp-hd p { color: var(--gri); max-width: 52ch; }
.trow { width: 220px; }
.trow .tr-line { stroke: var(--cz2); }
.trow .tr-t { fill: #fff; stroke: var(--pat); }
.trow circle:not(.tr-t) { fill: var(--pat); }
.trow .tr-hl .tr-t { fill: var(--al); stroke: var(--pirm); }
.rsvp-f { padding: 30px 34px; border-radius: var(--rk); background: #fff; box-shadow: var(--g3); }
.step { display: flex; align-items: center; gap: 8px; }
.step-b { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--cz2); border-radius: var(--r); background: #fff; }
.step output { min-width: 40px; text-align: center; font-size: 30px; color: var(--pat); }
.step-n { font-size: 14px; color: var(--gri); }
.guests { display: grid; gap: 10px; margin-top: 10px; }
.guest { padding: 4px 16px 16px; border-radius: var(--rk); background: var(--sis); }
.guest-l { font-weight: 600; color: var(--pat) !important; }
.rsvp-done { display: grid; justify-items: center; gap: 12px; padding: 40px 30px; border-radius: var(--rk); background: #fff; box-shadow: var(--g3); text-align: center; }
.rsvp-done h3 { font-size: 34px; color: var(--pat); }
.place-card { display: grid; gap: 6px; padding: 26px 40px 20px; background: #fff; box-shadow: var(--g2); border-top: 1px dashed var(--cz2); transform: rotate(-2deg); animation: muhur .7s var(--kol); }
.place-card span { font: italic 400 40px var(--fd); color: var(--pat); }
.place-card small { font-size: 12.5px; color: var(--gri); }
.mod { padding: 90px 0; }
.mod-in { display: grid; grid-template-columns: 1fr 1.3fr; gap: 56px; }
.mod-t { display: grid; gap: 16px; align-content: start; }
.mod-t h2 { font-size: clamp(32px, 3.4vw, 50px); color: var(--pat); }
.mod-t p { color: var(--gri); }
.mod-t .btn { justify-self: start; }
.mod-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mod-list li { display: grid; gap: 6px; padding: 20px; border-radius: var(--rk); background: var(--sis); }
.mod-list b { font: 400 21px var(--fd); color: var(--pat); }
.mod-list span { font-size: 14.5px; color: var(--gri); }

/* ---------------------------------------------------------------- hakkımızda */
.ab { padding: 40px 0 90px; }
.ab-col { display: grid; grid-template-columns: 1.1fr 1fr .7fr; gap: 40px; align-items: center; }
.ab figure { margin: 0; overflow: hidden; border-radius: var(--rk); }
.ab-a { aspect-ratio: 4 / 5; clip-path: polygon(0 7%, 50% 0, 100% 7%, 100% 100%, 0 100%); border-radius: 0 0 var(--rk) var(--rk) !important; }
.ab-b { aspect-ratio: 3 / 4; transform: translateY(60px); }
.ab figure img { width: 100%; height: 100%; object-fit: cover; }
.ab-t h2 { font-size: clamp(32px, 3.2vw, 48px); color: var(--pat); margin-bottom: 18px; }
.ab-t p { color: var(--gri); margin-bottom: 14px; }
.pp { padding: 90px 0; background: var(--pat); color: #fff; }
.pp-in { display: grid; grid-template-columns: 1fr 2fr; gap: 56px; }
.pp h2 { font-size: clamp(34px, 3.6vw, 54px); color: #fff; }
.pp-list { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 40px; }
.pp-list div { padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .2); }
.pp-list dt { font: 400 24px var(--fd); color: var(--al); }
.pp-list dd { margin-top: 8px; color: rgba(255, 255, 255, .8); font-size: 15.5px; }
.tm { padding: 90px 0; }
.tm-hd { display: grid; grid-template-columns: 1fr 1.2fr; gap: 40px; align-items: end; margin-bottom: 36px; }
.tm-hd h2 { font-size: clamp(34px, 3.6vw, 54px); color: var(--pat); }
.tm-hd p { color: var(--gri); }
.tm-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.tm-card { padding: 24px; border-radius: var(--rk); background: #fff; box-shadow: var(--g1), inset 0 0 0 1px var(--cz); display: grid; gap: 8px; align-content: start; transition: transform .3s var(--kol), box-shadow .3s; }
.tm-card:hover { transform: translateY(-3px); box-shadow: var(--g2); }
.tm-place { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; margin-bottom: 8px; background: var(--al2); border-top: 1px dashed var(--al3); }
.tm-ini { font: italic 400 34px var(--fd); color: var(--pat); }
.tm-tb { font-size: 12px; color: var(--pirm); }
.tm-card h3 { font-size: 24px; color: var(--pat); }
.tm-r { font-size: 13.5px; color: var(--pirm); font-weight: 600; }
.tm-card p:last-child { font-size: 15px; color: var(--gri); }
.ab-room { padding: 90px 0; background: var(--sis); }
.ab-room-in { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; align-items: center; }
.ab-room-fig { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--rk); }
.ab-room-fig img { width: 100%; height: 100%; object-fit: cover; }
.ab-room-t { display: grid; gap: 16px; }
.ab-room-t h2 { font-size: clamp(32px, 3.4vw, 50px); color: var(--pat); }
.ab-room-t p { color: var(--gri); }
.ab-room-d { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.ab-room-d div { padding: 14px; background: #fff; border-radius: var(--r); display: grid; gap: 4px; }
.ab-room-d dt { font-size: 12.5px; color: var(--gri); }
.ab-room-d dd { font: 400 18px var(--fd); color: var(--pat); }
.careers { padding-top: 80px; padding-bottom: 90px; }
.careers h2 { font-size: 34px; color: var(--pat); margin-bottom: 12px; }
.careers p { color: var(--gri); }
.careers a { color: var(--pat); font-weight: 600; }

/* ---------------------------------------------------------------- iletişim */
.ct { padding: 20px 0 100px; }
.ct-in { display: grid; grid-template-columns: 1fr 1.2fr; gap: 46px; align-items: start; }
.ct-info { display: grid; gap: 14px; }
.ct-b { padding: 22px 24px; border-radius: var(--rk); background: var(--sis); }
.ct-b h2 { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 24px; color: var(--pat); margin-bottom: 10px; }
.ct-b h2 .open { font: 500 13px var(--ft); color: var(--gri); }
.ct-b h2 .open.is-open { color: #3E7A55; }
.ct-b p { line-height: 1.7; }
.ct-b a { color: var(--pat); }
.hrs { width: 100%; font-size: 14.5px; }
.hrs th { text-align: left; font-weight: 400; color: var(--gri); padding: 5px 0; }
.hrs td { text-align: right; font-variant-numeric: tabular-nums; }
.hrs tr.today th, .hrs tr.today td { color: var(--pat); font-weight: 600; }
.ct-note { margin-top: 10px; font-size: 13.5px; color: var(--gri); }
.ct-map { margin: 0; padding: 14px; border-radius: var(--rk); background: #fff; box-shadow: var(--g1), inset 0 0 0 1px var(--cz); }
.shore .sh-sea { fill: #E8EEF2; }
.shore .sh-coast { fill: none; stroke: var(--pat); stroke-width: 1.5; }
.shore .sh-road { fill: none; stroke: var(--cz2); stroke-width: 6; stroke-linecap: round; }
.shore .sh-road--m { stroke-width: 3; }
.shore .sh-pin circle { fill: var(--pat); }
.shore .sh-ring { fill: rgba(234, 199, 199, .5) !important; }
.shore .sh-lab { font: 500 15px var(--ft); fill: var(--mur); }
.shore .sh-lab--w { font: italic 400 20px var(--fd); fill: #6E8796; }
.shore .sh-lab--s { font-size: 12px; fill: var(--gri); }
.ct-forms { padding: 30px 34px; border-radius: var(--rk); background: #fff; box-shadow: var(--g3); }
.ct-tabs { position: relative; display: flex; gap: 4px; border-bottom: 1px solid var(--cz); margin-bottom: 10px; }
.ct-tabs .tab.on, .ct-tabs .tab[aria-selected="true"] { box-shadow: inset 0 -2px 0 var(--pir); }
.bk { border: 0; margin: 20px 0 0; padding: 0; }
.bk-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.bk-day { display: grid; justify-items: center; gap: 1px; padding: 8px 2px; border: 1px solid var(--cz); border-radius: var(--r); background: #fff; font-size: 12px; color: var(--gri); }
.bk-day b { font: 400 22px/1.1 var(--fd); color: var(--pat); }
.bk-day[aria-checked="true"] { background: var(--pat); border-color: var(--pat); color: rgba(255, 255, 255, .8); }
.bk-day[aria-checked="true"] b { color: #fff; }
.bk-day:disabled { opacity: .4; }
.bk-slots { display: flex; flex-wrap: wrap; gap: 6px; }
.bk-slot { min-width: 74px; height: 42px; border: 1px solid var(--cz2); border-radius: var(--r); background: #fff; font-variant-numeric: tabular-nums; font-weight: 500; }
.bk-slot[aria-pressed="true"] { background: var(--pat); border-color: var(--pat); color: #fff; }
.bk-slot:disabled { text-decoration: line-through; opacity: .45; }
.bk-hint { font-size: 14px; color: var(--gri); }
.frm .btn[type=submit] { margin-top: 22px; }

/* ---------------------------------------------------------------- SSS, yasal */
.fq { padding: 20px 0 100px; }
.fq-in { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 56px; }
.fq-nav { position: sticky; top: 100px; align-self: start; display: grid; gap: 2px; }
.fq-nav a { display: flex; justify-content: space-between; padding: 10px 12px; border-radius: var(--r); text-decoration: none; font-weight: 500; }
.fq-nav a:hover { background: var(--al2); }
.fq-nav sup { color: var(--pirm); }
.fq-search { position: relative; display: block; margin-bottom: 30px; }
.fq-search input { width: 100%; height: 58px; padding: 0 18px; border: 1px solid var(--cz2); border-radius: var(--rk); background: #fff; font-size: 17px; box-shadow: var(--g1); }
.fq-search input:focus { outline: none; border-color: var(--pat); box-shadow: 0 0 0 4px rgba(176, 141, 87, .18); }
.fq-none { padding: 20px; border-radius: var(--rk); background: var(--al2); margin-bottom: 20px; }
.fq-cat { margin-bottom: 40px; scroll-margin-top: 110px; }
.fq-cat h2 { font-size: 30px; color: var(--pat); margin-bottom: 4px; }
.lg { padding: 10px 0 100px; }
.lg h2 { font-size: 26px; color: var(--pat); margin: 34px 0 10px; }
.lg p { color: var(--mur); line-height: 1.75; }
.lg-d { margin-top: 40px; padding: 16px; border-radius: var(--rk); background: var(--sis); font-size: 14px; color: var(--gri) !important; }

/* ---------------------------------------------------------------- duyarlı */
@media (max-width: 1080px) {
  .pl-hd, .pl-app, .pl-3d, .kur-in, .sd-hero-in, .sd-body, .st-body, .st-plan, .vn-top, .pr-in, .rs-in, .pr-plan-in, .wz-in, .prg-in, .mod-in, .ab-col, .pp-in, .tm-hd, .ab-room-in, .ct-in, .fq-in { grid-template-columns: 1fr; }
  .pl-ctl, .sd-toc, .st-facts, .pr-gauge, .wz-side, .fq-nav { position: static; }
  .pl-metrics { grid-template-columns: 1fr 1fr; }
  .sv5-c, .sv5-c:nth-child(even) { grid-template-columns: 1fr; }
  .sv5-c:nth-child(even) .sv5-fig { order: 0; }
  .sv5-fig { min-height: 300px; }
  .vn-it { grid-template-columns: 1fr; }
  .vn-q { grid-column: 1; margin: 0 24px 20px; justify-self: start; }
  .pf-grid { grid-template-columns: 1fr 1fr; }
  .pf-grid .sc, .pf-grid .pf--xl, .pf-grid .pf--wide, .pf-grid.is-f .sc { grid-column: span 1; }
  .pf-grid .pf--full, .pf-grid .pf--xl { grid-column: span 2; }
  .tm-list { grid-template-columns: 1fr 1fr; }
  .ab-b { transform: none; }
  .wz-prog { grid-template-columns: repeat(9, minmax(64px, 1fr)); overflow-x: auto; }
  .st-cover, .st-wide { margin: 0 24px; }
  .pr-gauge { display: none; }
  .pp-list { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .f2, .opt-list, .opt-list--3, .mood, .sv5-inc, .sd-rel, .st-roles ul, .st-pair, .info, .mod-list, .tm-list, .ab-room-d, .st-nav { grid-template-columns: 1fr; }
  .mood { grid-template-columns: 1fr 1fr; }
  .sv5-b, .wz-form, .ct-forms, .rsvp-f { padding: 24px 20px; }
  .sv5-st, .sd-steps { grid-template-columns: 1fr 1fr; }
  .pl-vt { grid-template-columns: repeat(2, 1fr); }
  .pl-metrics { grid-template-columns: 1fr; }
  .pl-foot { grid-template-columns: 1fr; }
  .pl-cta { justify-content: flex-start; text-align: left; }
  .pl-3d-v { min-height: 340px; }
  .pf-grid { grid-template-columns: 1fr; }
  .pf-grid .sc, .pf-grid .pf--full, .pf-grid .pf--xl { grid-column: span 1; }
  .pf-grid .sc .sc-fig { aspect-ratio: 4 / 3 !important; }
  .st-cover { height: 56vh; margin: 0 14px; }
  .st-wide { margin: 0 14px; height: 50vh; }
  .st-text p, .st-more p, .sd-prose p { font-size: 17px; }
  .vn-fig { min-height: 220px; }
  .pr-it { grid-template-columns: 1fr; gap: 6px; padding-left: 22px; }
  .sum div { grid-template-columns: 1fr auto; }
  .sum dt { grid-column: 1 / -1; }
  .cd-n { gap: 22px; }
  .bk-days { grid-template-columns: repeat(4, 1fr); }
  .env .crumbs { left: 20px; }
  .env-stage { margin-top: 140px; }
  .kur-l div { grid-template-columns: 1fr; gap: 4px; }
  .tb { font-size: 14px; }
  .kur-tb { overflow-x: auto; }
  .tb { min-width: 560px; }
  .wz-nav { flex-wrap: wrap; }
}
/* süs onay işareti yerine ince pirinç halka */
.sv5-inc .ic, .chk .ic { display: none; }
.sv5-inc li::before, .chk li::before { content: ''; flex: none; width: 8px; height: 8px; margin-top: .5em; border-radius: 50%; border: 1.3px solid var(--pir); }
.chk li { display: flex; gap: 14px; padding-left: 0; }
.pr-g-in b { width: 170px; text-align: center; font-size: 34px; line-height: 1.02; top: 50%; transform: translateY(-30%); }
.pr-g-l { top: 62px; }
.env-stage { margin-top: 230px; }
.env.open .env-card { transform: translateY(-50%); }
@media (max-width: 700px) { .env-stage { margin-top: 250px; } .ivc { padding: 22px 16px; gap: 6px; } .ivc-txt { display: none; } }

/* ================================================================ v5.1 kartela: içerik masanın üstünde, kâğıt yapraklar ve baskılar */
.sv5, .vn, .cmp, .sd-others, .ab-room { background-color: var(--masa); background-image: var(--keten); }
.sv5 { padding: 0 0 96px; }
.sv5-nav { top: var(--ust); margin: 0 -40px 46px; padding: 0 40px; gap: 30px; background: #fff; border-radius: 0; box-shadow: 0 1px 0 var(--cz); }
.sv5-nav a { padding: 18px 0 16px; border-radius: 0; font: 400 19px/1 var(--fd); color: var(--gri); box-shadow: inset 0 -2px 0 transparent; transition: color .15s, box-shadow .2s; }
.sv5-nav a:hover { background: none; color: var(--pat); box-shadow: inset 0 -2px 0 var(--pir); }
.sv5-grid { gap: 40px; }
.sv5-c { padding: 14px; gap: 0; border-radius: 2px; background: #fff; background-image: var(--kagit); box-shadow: var(--yat); }
.sv5-fig { min-height: 440px; }
.svc4-tag, .sv5-fig .svc4-tag { border-radius: 2px !important; }
.sv5-b { padding: 30px 40px 26px; }
.cmp-wrap { border-radius: 2px; box-shadow: var(--yat); background-image: var(--kagit); }
.vn { padding-bottom: 96px; }
.vn-top { padding-top: 46px; }
.vn-it { padding: 12px; gap: 0; border-radius: 2px; background: #fff; background-image: var(--kagit); box-shadow: var(--yat); }
.vn-it:nth-child(odd) { transform: rotate(-.25deg); }
.vn-it:nth-child(even) { transform: rotate(.25deg); }
.vn-map, .vn-f { border-radius: 2px !important; }
.sd-others a, .tm-card, .ab-room-d div { border-radius: 2px; background-image: var(--kagit); box-shadow: var(--yat); }
.sd-others a:hover, .tm-card:hover { box-shadow: var(--kalk); }
.tm-card { box-shadow: var(--yat); }
.tm-card:nth-child(3n+1) { transform: rotate(-.6deg); } .tm-card:nth-child(3n+2) { transform: rotate(.4deg); } .tm-card:nth-child(3n) { transform: rotate(-.2deg); }
.tm-card:hover { transform: translateY(-4px) rotate(0); }
.ab-room-fig { padding: 14px 14px 44px; background: #fff; box-shadow: var(--yat); border-radius: 2px; transform: rotate(-1deg); }
.ab-room-fig img { aspect-ratio: 4 / 3; height: auto; }
.ct-forms, .wz-form { border-radius: 3px; background-image: var(--kagit); box-shadow: var(--kalk); }
.wz { background-color: var(--masa); background-image: var(--keten); padding-top: 40px; }
.mz--wz { padding-bottom: 20px; }
.mz--wz + .wz { padding-top: 10px; }
.st-hpal { display: flex; }
.st-hpal i { width: 26px; height: 26px; border-radius: 50%; margin-right: -6px; box-shadow: 0 0 0 2px #fff; }
.st-body { padding-top: 60px; }
.sc-fig, .pf-grid .sc-fig { border-radius: 2px; }
.pf { padding-top: 46px; }
@media (max-width: 1100px) { .sv5-nav { margin: 0 -24px 36px; padding: 0 24px; } }
@media (max-width: 700px) {
  .sv5-nav { margin: 0 -16px 28px; padding: 0 16px; gap: 22px; }
  .sv5-c { padding: 8px; }
  .sv5-b { padding: 22px 16px 18px; }
  .sv5-fig { min-height: 260px; }
  .vn-it { padding: 8px; transform: none !important; }
  .tm-card { transform: none !important; }
}

/* Türkiye haritası (mekânlar) */
.trmap { width: 100%; }
.trmap .mp-land { fill: #fff; stroke: var(--cz2); stroke-width: 2; }
.trmap .mp-ring { fill: rgba(234, 199, 199, .4); }
.trmap .mp-dot { fill: var(--pat); }
.trmap .mp-n { fill: #fff; font: 700 15px var(--ft); text-anchor: middle; }
.trmap .mp-l { fill: var(--mur); font: 500 22px var(--ft); }
.trmap .mp-st path { stroke: var(--pir); stroke-width: 2; stroke-dasharray: 4 4; fill: none; }
.trmap .mp-st text { fill: var(--pirm); font: italic 400 22px var(--fd); }
.trmap .mp-pin[role="button"] { cursor: pointer; }
.trmap .mp-pin.on .mp-dot { fill: var(--pirm); }
.trmap .mp-pin.off { opacity: .35; }
