/* ============================================================
   Costa Bargilia — bölümler (kubbe içi · rakamlar · vaziyet · konum ·
   konutlar · yaşam · şantiye · galeri · randevu)
   ============================================================ */

/* ---------- kubbe içi: üç sebep (statik) ---------- */
.dome-body{padding:var(--secpad) var(--gutter) clamp(56px,8vh,100px)}
.dome-stage{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,90px);align-items:center}
.ds-copy{display:grid;gap:clamp(22px,3.6vh,36px)}
.ds-step{display:grid;grid-template-columns:auto 1fr;column-gap:18px;row-gap:8px;padding-top:clamp(18px,2.6vh,26px);border-top:1px solid var(--line)}
.ds-step:first-child{border-top:0;padding-top:0}
.ds-step .ds-no{grid-row:span 3;font-family:'Fraunces';font-size:13px;letter-spacing:.2em;color:var(--fg-soft);padding-top:.7em}
.ds-step h3{font-family:'Abril';font-weight:400;font-size:clamp(24px,2.5vw,40px);line-height:1.1}
.ds-step h3 .scriptmix{font-size:1.06em;margin:0 .14em 0 .1em}
.ds-step p{font-family:'Fraunces';font-size:clamp(15px,1.15vw,18px);line-height:1.55;color:var(--fg-soft);max-width:30em}
.ds-step .link{justify-self:start;margin-top:4px}
.ds-map{position:relative;aspect-ratio:1109/885;max-height:84svh;margin-inline:auto;width:100%;overflow:clip}
.ds-map svg{width:100%;height:100%;overflow:hidden}
.ds-map .coast{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ds-map .halo{fill:none;stroke:var(--deep);stroke-linejoin:round;stroke-linecap:round}
.ds-map .proje{fill:var(--sea);fill-opacity:0;stroke:var(--deep);stroke-width:1.6;vector-effect:non-scaling-stroke;transition:fill-opacity .8s}
.ds-map .proje.on{fill-opacity:.55}
.ds-map .route{fill:none;stroke:var(--deep);stroke-width:1.8;stroke-dasharray:2 7;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ds-map .boat{fill:var(--ink)}
.ds-map .ring{fill:none;stroke:var(--ink);stroke-width:1.2;vector-effect:non-scaling-stroke;opacity:0}
.ds-map .lbl{font-family:'Archivo';font-size:13.5px;font-weight:600;letter-spacing:.24em;fill:var(--ink);text-transform:uppercase;paint-order:stroke fill;stroke:var(--sky);stroke-width:4px;stroke-linejoin:round}
.ds-map .lbl.big{font-family:'Fraunces';font-size:18px;letter-spacing:.3em}
.ds-map .lbl.s{font-size:11.5px;opacity:.75}
.ds-map .lbl.sea{font-family:'FrauncesI','Fraunces';font-style:italic;font-size:15px;letter-spacing:.3em;opacity:.6;text-transform:none}
.ds-map .pin-w{fill:#fff;stroke:var(--ink);stroke-width:1.2}
.ds-map .north{font-family:'Fraunces';font-size:15px;fill:var(--ink);letter-spacing:.3em}
@media(max-width:900px){
  .dome-stage{grid-template-columns:1fr;gap:26px}
  .ds-map{max-height:none;order:-1}
  .ds-step{grid-template-columns:1fr}.ds-step .ds-no{grid-row:auto;padding-top:0}
}

/* ---------- rakamlar (vaad bölümünün altında) ---------- */
.stats{margin-top:clamp(56px,9vh,110px);padding-top:clamp(36px,6vh,64px);border-top:1px solid var(--line)}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,56px)}
.stat{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center;min-width:0}
.st-fig{width:clamp(84px,7vw,112px);aspect-ratio:1}
.st-fig svg{width:100%;height:100%;overflow:visible}
.st-fig .track{fill:none;stroke:var(--fg);stroke-opacity:.16;stroke-width:1.4}
.st-fig .seg{fill:none;stroke:var(--accent);stroke-width:5}
.st-fig .tick{stroke:var(--fg);stroke-opacity:.35;stroke-width:1}
.st-fig .tick.big{stroke-opacity:.8}
.st-fig .hand{stroke:var(--accent);stroke-width:2;stroke-linecap:round}
.st-fig .hub{fill:var(--fg)}
.st-n{font-family:'Fraunces';font-weight:600;font-size:clamp(38px,4vw,60px);line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.st-n small{font-size:.46em;font-weight:400;margin-left:.15em;letter-spacing:.04em}
.st-l{margin-top:10px;font-size:11.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--fg-soft)}
@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px}.stat{gap:12px}.st-fig{width:64px}.st-n{font-size:clamp(26px,7vw,36px)}.st-l{font-size:10.5px;letter-spacing:.18em}}

/* ---------- vaziyet planı ---------- */
.mp-stage{position:relative}
.mp-wrap{position:relative;border-radius:2px;overflow:hidden;background:#0d2236}
.mp-wrap::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(11,27,43,.28),transparent 22%,transparent 78%,rgba(11,27,43,.22))}
.mp-wrap img{width:100%;height:auto;display:block}
.mp-svg{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}
.mp-svg .zone{fill:#F2EFE8;fill-opacity:0;stroke:none;cursor:pointer;transition:fill-opacity .4s}
.mp-svg .hot.is-hover .zone,.mp-svg .hot.is-active .zone{fill-opacity:.16}
.mp-svg .hot.is-dim{opacity:.22;pointer-events:none}
.mp-svg .pin{cursor:pointer;transition:opacity .35s}
.mp-svg .pin .hit{fill:transparent}
.mp-svg .pin .pn{fill:var(--ink);stroke:#F2EFE8;stroke-width:1.5;transition:transform .3s;transform-box:fill-box;transform-origin:center}
.mp-svg .pin .num{font-family:'Fraunces';font-size:19px;font-weight:600;fill:#F2EFE8;text-anchor:middle;dominant-baseline:central;pointer-events:none;letter-spacing:.02em}
.mp-svg .labs{pointer-events:none}
.mp-svg .lg .lab-bg{fill:var(--ink);opacity:0;transition:opacity .3s}
.mp-svg .lg .lab{font-family:'Archivo';font-size:15.5px;font-weight:600;letter-spacing:.2em;fill:#F2EFE8;text-transform:uppercase;opacity:0;transition:opacity .3s}
.mp-svg .pin.is-hover .pn,.mp-svg .pin.is-active .pn{transform:scale(1.15);fill:var(--sea);stroke:var(--ink)}
.mp-svg .pin.is-hover .num,.mp-svg .pin.is-active .num{fill:var(--ink)}
.mp-svg .lg.is-hover .lab,.mp-svg .lg.is-active .lab,.mp-svg .lg.is-hover .lab-bg,.mp-svg .lg.is-active .lab-bg{opacity:1}
.mp-svg .lg.is-dim{opacity:0}
.mp-svg .pin:focus-visible .pn{stroke-width:3}
.mp-svg .pulse{fill:none;stroke:#F2EFE8;stroke-width:1.2;opacity:0;pointer-events:none}
.mp-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin:18px 0 22px}
.mp-note{font-size:12.5px;color:var(--fg-soft);letter-spacing:.04em}
.mp-panel{position:absolute;left:clamp(16px,2vw,28px);top:clamp(16px,2vw,28px);width:min(340px,38%);z-index:4;border-radius:2px;padding:20px;display:grid;gap:12px;align-content:start;background:rgba(242,239,232,.94);color:var(--ink);backdrop-filter:blur(10px);box-shadow:0 20px 50px rgba(11,27,43,.25)}
.mp-panel[hidden]{display:none}
.mp-panel .pcat{color:var(--deep)}
.mp-panel p{color:rgba(11,27,43,.7)}
.mp-panel .pclose{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;border:1px solid rgba(11,27,43,.2);display:grid;place-items:center;font-size:16px;line-height:1}
.mp-panel .pimg{aspect-ratio:16/10;overflow:hidden;border-radius:2px;background:var(--line)}
.mp-panel .pimg img{width:100%;height:100%;object-fit:cover}
.mp-panel .pcat{font-size:11px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--accent)}
.mp-panel h3{font-family:'Fraunces';font-weight:600;font-size:22px;line-height:1.25}
.mp-panel p{font-size:14.5px;line-height:1.6;color:var(--fg-soft)}
.mp-panel .empty{font-family:'Fraunces';font-size:17px;line-height:1.55;color:var(--fg-soft);align-self:center;text-align:center;padding:30px 10px}
.mp-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:14px;font-size:12px;color:var(--fg-soft)}
.mp-legend button{display:inline-flex;align-items:center;gap:8px;padding:4px 0;transition:color .3s}
.mp-legend button:hover,.mp-legend button.on{color:var(--fg)}
.mp-legend i{width:20px;height:20px;border-radius:50%;background:var(--ink);color:var(--cream);font:600 10.5px/20px 'Fraunces';text-align:center;font-style:normal}
@media(max-width:1000px){
  .mp-panel{position:static;width:auto;margin-top:16px;box-shadow:none;border:1px solid var(--line);background:transparent;backdrop-filter:none}
  .mp-panel .pclose{display:none}
  .mp-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-inline:calc(-1*var(--gutter));padding-inline:var(--gutter)}
  .mp-scroll .mp-wrap{min-width:820px}
  .mp-bar{margin-top:14px}
}

/* ---------- konum: deniz haritası ---------- */
.chart{overflow:clip}
.ch-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(30px,5vw,80px);align-items:center}
.ch-map{position:relative;aspect-ratio:1064/796;width:100%}
.ch-map{overflow:clip}
.ch-map svg{width:100%;height:100%;overflow:hidden}
.ch-map .sea{fill:var(--ink)}
.ch-map .land-img{opacity:1}
.ch-map .seaname{font-family:'FrauncesI','Fraunces';font-style:italic;font-size:15px;letter-spacing:.34em;fill:var(--cream);opacity:.45}
.ch-map .coast{fill:none;stroke:var(--cream);stroke-width:1.1;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ch-map .halo{fill:none;stroke:var(--sea);stroke-linejoin:round;stroke-linecap:round}
.ch-map .r-sea{fill:none;stroke:var(--sea);stroke-width:2;stroke-dasharray:1 7;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ch-map .r-land{fill:none;stroke:var(--cream);stroke-opacity:.55;stroke-width:1.2;stroke-dasharray:5 6;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ch-map .r-reveal{fill:none;stroke:#fff;stroke-width:8;stroke-linecap:round}
.ch-map .pt{fill:var(--cream)}
.ch-map .pt.cb{fill:var(--sea)}
.ch-map .pt-ring{fill:none;stroke:var(--sea);stroke-width:1.2;opacity:0}
.ch-map .lbl{font-family:'Archivo';font-size:13.5px;font-weight:600;letter-spacing:.26em;fill:var(--cream);text-transform:uppercase;
  paint-order:stroke fill;stroke:var(--ink);stroke-width:4px;stroke-linejoin:round}
.ch-map .lbl.cb{fill:var(--sea);font-size:16px}
.ch-map .lbl.dim{opacity:.6;font-size:12px}
.ch-map .time{font-family:'Fraunces';font-size:16px;font-weight:600;letter-spacing:.14em;fill:var(--sea);paint-order:stroke fill;stroke:var(--ink);stroke-width:4px}
.ch-map .boat{fill:var(--sea)}
.ch-map .compass line{stroke:var(--cream);stroke-width:1;opacity:.5}
.ch-map .compass text{font-family:'Fraunces';font-size:14px;fill:var(--cream);text-anchor:middle;letter-spacing:.1em;opacity:.8}
.ch-map .grid line{stroke:var(--cream);stroke-opacity:.06;stroke-width:1}
.ch-map .grid text{font-family:'Archivo';font-size:11px;fill:var(--cream);opacity:.35;letter-spacing:.08em}
.ch-side{display:grid;gap:26px}
.dist{display:grid;border-top:1px solid var(--line)}
.dist button{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:baseline;padding:18px 4px;border-bottom:1px solid var(--line);text-align:left;transition:opacity .3s}
.dist button:not(.on){opacity:.62}
.dist button:hover{opacity:1}
.dist b{font-family:'Fraunces';font-weight:600;font-size:clamp(18px,1.4vw,22px);display:block}
.dist small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-soft)}
.dist .t{font-family:'Fraunces';font-weight:600;font-size:clamp(24px,2.2vw,34px);color:var(--accent);white-space:nowrap}
.dist .t small{display:block;font-size:11px;color:var(--fg-soft);text-align:right}
.coord{font-family:'Fraunces';font-size:14px;letter-spacing:.14em;color:var(--fg-soft)}
@media(max-width:900px){.ch-grid{grid-template-columns:1fr}.ch-map{margin-inline:calc(-1*var(--gutter));width:auto}}

/* ---------- konutlar ---------- */
.home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,36px)}
.home-card .hc-img.plans{background:transparent;border:1px solid var(--line);display:grid;place-items:center;padding:8%}
.plan-glyphs{width:100%;height:100%}
.plan-glyphs .pg path{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.plan-glyphs .pg text{font-family:'Fraunces';font-size:15px;font-weight:600;letter-spacing:.12em;fill:var(--deep)}
.home-card{position:relative;display:grid;gap:18px}
.home-card .hc-img{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:2px}
.home-card .hc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--easeInOut)}
.home-card:hover .hc-img img{transform:scale(1.045)}
.home-card .hc-frame{position:absolute;inset:14px;pointer-events:none}
.home-card .hc-frame path{fill:none;stroke:#fff;stroke-width:1;stroke-opacity:.9;vector-effect:non-scaling-stroke}
.home-card .hc-img.plans .hc-tag{background:var(--ink)}
.home-card .hc-tag{position:absolute;left:18px;top:18px;font-size:10.5px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:#F2EFE8;background:rgba(11,27,43,.62);padding:8px 12px;backdrop-filter:blur(4px)}
.home-card .hc-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.home-card h3{font-family:'Abril';font-weight:400;font-size:clamp(24px,2.2vw,34px)}
.home-card .hc-status{font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);white-space:nowrap}
.home-card ul{list-style:none;display:grid;gap:10px;font-family:'Fraunces';font-size:16px;line-height:1.5;color:var(--fg-soft)}
.home-card li{display:flex;gap:12px;align-items:flex-start}
.home-card li svg{width:22px;height:22px;flex:none;margin-top:2px}
.home-card .btn{justify-self:start;margin-top:6px}
.ico{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1100px){.home-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.home-grid{grid-template-columns:1fr}}

/* ---------- yaşam ---------- */
.life-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(30px,5vw,80px);align-items:start}
.life-media{position:sticky;top:96px;aspect-ratio:4/3;overflow:hidden;border-radius:2px}
.life-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity .7s var(--easeInOut),transform 1.1s var(--easeInOut)}
.life-media img.on{opacity:1;transform:scale(1)}
.life-media .lm-cap{position:absolute;left:18px;bottom:16px;font-size:10.5px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:#F2EFE8;background:rgba(11,27,43,.62);padding:8px 12px}
.life-lists{display:grid;gap:26px}
.lg-title{font-family:'Fraunces';font-weight:600;font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.life-list{list-style:none;border-top:1px solid var(--line)}
.life-list li{display:grid;grid-template-columns:44px 1fr auto;gap:18px;align-items:center;padding:18px 4px;border-bottom:1px solid var(--line);cursor:pointer;transition:opacity .3s}
.life-list li:not(.on){opacity:.55}
.life-list li:hover{opacity:.9}
.life-list .ico{width:34px;height:34px;color:var(--accent)}
.life-list .nm{font-family:'Fraunces';font-weight:600;font-size:clamp(17px,1.4vw,21px);line-height:1.3}
.life-list .ds{display:block;font-size:13px;color:var(--fg-soft);margin-top:3px;font-family:'Archivo';font-weight:400}
.life-list .no{font-family:'Fraunces';font-size:12px;letter-spacing:.2em;color:var(--fg-soft)}
@media(max-width:900px){.life-grid{grid-template-columns:1fr}.life-media{position:relative;top:0}.life-list li{grid-template-columns:36px 1fr auto;gap:14px}}

/* ---------- galeri ---------- */
.gallery{padding-inline:0}
.gallery .sec-head{padding-inline:var(--gutter)}
.gal-rail{display:flex;gap:clamp(12px,1.6vw,22px);overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gutter) 24px;scrollbar-width:none;cursor:grab}
.gal-rail::-webkit-scrollbar{display:none}
.gal-rail.dragging{cursor:grabbing;scroll-snap-type:none}
.gal-item{flex:0 0 auto;width:min(62vw,720px);aspect-ratio:3/2;scroll-snap-align:center;position:relative;overflow:hidden;border-radius:2px;background:var(--line)}
.gal-item.tall{width:min(40vw,440px);aspect-ratio:4/5}
.gal-item img,.gal-item video{width:100%;height:100%;object-fit:cover;display:block}
.gal-item .g-tag{position:absolute;left:16px;bottom:14px;font-size:10.5px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:#F2EFE8;background:rgba(11,27,43,.62);padding:8px 12px}
.gal-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 var(--gutter);margin-top:10px}
.gal-count{font-family:'Fraunces';font-size:13px;letter-spacing:.24em;color:var(--fg-soft)}
.gal-btns{display:flex;gap:10px}
.gal-btns button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:background .3s,color .3s}
.gal-btns button:hover{background:var(--fg);color:var(--bg)}
@media(max-width:900px){.gal-item{width:82vw}.gal-item.tall{width:60vw}}

/* ---------- randevu ---------- */
.ct-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(36px,6vw,110px);align-items:start}
.ct-info{display:grid;gap:30px;position:sticky;top:96px}
.ct-info .ci b{display:block;font-size:11px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.ct-info .ci span,.ct-info .ci a{display:block;font-family:'Fraunces';font-size:clamp(17px,1.3vw,21px);line-height:1.5}
.ct-info .ci a:hover{color:var(--accent)}
.ct-info .ci small{display:block;font-size:12px;color:var(--fg-soft);margin-top:4px;letter-spacing:.04em}
.ct-mini{aspect-ratio:1108/885;max-width:320px;opacity:.9}
.ct-mini{overflow:clip}
.ct-mini svg{width:100%;height:100%;overflow:hidden}
.ct-mini .coast{fill:none;stroke:var(--fg);stroke-width:1.2;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.7}
.ct-mini .proje{fill:var(--accent);fill-opacity:.5;stroke:var(--accent);stroke-width:1.2;vector-effect:non-scaling-stroke}
.ct-mini .pin{fill:var(--accent)}
.ct-mini .lbl{font-family:'Archivo';font-size:22px;font-weight:600;letter-spacing:.2em;fill:var(--fg);text-transform:uppercase}
@media(max-width:900px){.ct-grid{grid-template-columns:1fr}.ct-info{position:static;order:2}}

/* footer slogan */
.f-tag{font-family:'Script';font-size:clamp(30px,2.6vw,40px);color:var(--sea);line-height:1;margin:14px 0 2px}
/* ---------- ortak: bölüm etiketleri ---------- */
.kind{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:#F2EFE8;background:rgba(11,27,43,.62);padding:8px 12px}
