/* ==========================================================================
   İletişim sayfası (yalnızca iletisim.html)
   ========================================================================== */
.ct{--ct-card:#FFFEFB;--ct-ink:#111418;--ct-navy:#071D2B;--ct-blue:#0067A0;--ct-accent:#635BFF;--ct-muted:#62666E;--ct-line:rgba(17,20,24,.12);--ct-soft:rgba(99,91,255,.09)}
body:has(.ct) main{background:#F4F2EC}

/* ---------- Hero ---------- */
.ct-hero{position:relative;overflow:hidden;padding:calc(var(--header-h) * 0 + clamp(40px,6vw,88px)) 0 clamp(56px,7vw,100px)}
.ct-bgmark{position:absolute;left:-7vw;top:clamp(40px,8vw,120px);width:min(46vw,640px);aspect-ratio:131/88;background:url('../img/sava-mark-ink.svg') no-repeat center/contain;opacity:.035;pointer-events:none;filter:grayscale(1)}
.ct-grid{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"intro form" "cards form";column-gap:clamp(40px,6vw,96px);row-gap:clamp(28px,3vw,40px);align-items:start}
.ct-intro{grid-area:intro;padding-top:clamp(8px,2vw,32px)}
.ct-cards{grid-area:cards}
.ct-formwrap{grid-area:form;position:sticky;top:calc(var(--header-h) + 24px)}

.ct .eyebrow{margin-bottom:clamp(18px,2.4vw,30px)}
.ct-title{font-family:var(--font-display);font-weight:800;font-size:clamp(52px,7vw,112px);line-height:.92;letter-spacing:-.05em;color:var(--ct-ink);margin:0 0 0 -.04em}
.ct-title .dot{display:inline-block;width:.16em;height:.16em;border-radius:50%;background:var(--ct-accent);margin-left:.04em;vertical-align:baseline}
.ct-lead{margin-top:clamp(20px,2.4vw,30px);max-width:520px;font-size:clamp(18px,1.5vw,21px);line-height:1.5;color:var(--ct-muted)}

.ct-ico{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--ct-soft);color:var(--ct-accent)}
.ct-ico svg{width:19px;height:19px}
.ct-trust{display:flex;flex-wrap:wrap;gap:14px clamp(20px,2.4vw,34px);margin:clamp(24px,3vw,36px) 0 0;padding:0;list-style:none}
.ct-trust li{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--ct-ink)}

/* ---------- İletişim kartları ---------- */
.ct-cards ul{display:grid;gap:12px;margin:0;padding:0;list-style:none;max-width:560px}
.ct-card{display:flex;align-items:center;gap:16px;min-height:76px;padding:14px 22px 14px 16px;border-radius:15px;background:rgba(255,254,251,.55);border:1px solid var(--ct-line);color:var(--ct-ink);transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .3s,background .3s}
.ct-card:hover,.ct-card:focus-visible{transform:translateY(-3px);border-color:rgba(99,91,255,.35);background:var(--ct-card);box-shadow:0 14px 30px -20px rgba(7,29,43,.35)}
.ct-card--wa .ct-ico{background:rgba(37,211,102,.1);color:#179C4E}
.ct-card--wa .ct-ico svg{width:21px;height:21px}
.ct-card__txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ct-card__txt small{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ct-muted)}
.ct-card__txt b{font-weight:500;font-size:clamp(17px,1.4vw,19px);letter-spacing:-.01em;overflow-wrap:anywhere}
.ct-arr{flex:none;width:18px;height:18px;color:var(--ct-ink);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.ct-arr svg{width:100%;height:100%}
.ct-card:hover .ct-arr{transform:translate(3px,-3px)}

/* ---------- Form kartı ---------- */
.ct-form{position:relative;background:var(--ct-card);border:1px solid var(--ct-line);border-radius:24px;padding:clamp(26px,3vw,46px) clamp(22px,3vw,46px) clamp(22px,2.4vw,32px);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 30px 70px -45px rgba(7,29,43,.3)}
.ct-form__bar{display:block;width:32px;height:3px;border-radius:3px;background:var(--ct-accent);margin-bottom:22px}
.ct-form__title{font-family:var(--font-display);font-weight:700;font-size:clamp(28px,2.5vw,38px);letter-spacing:-.035em;line-height:1.05;color:var(--ct-ink);margin:0}
.ct-form__sub{margin:10px 0 28px;color:var(--ct-muted);font-size:16px}
.ct .form{display:grid;gap:18px}
.ct .form .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ct .field label{font-size:14px;font-weight:500;margin-bottom:8px;color:var(--ct-ink)}
.ct .field label .opt{color:var(--ct-muted)}
.ct .field input,.ct .field select,.ct .field textarea{min-height:56px;border-radius:11px;border:1px solid #D8D5CE;background:#fff;font-size:16px;padding:14px 16px}
.ct .field textarea{min-height:120px}
.ct .field input::placeholder,.ct .field textarea::placeholder{color:#8B8F96}
.ct .field select{color:var(--ct-ink)}
.ct .field input:hover,.ct .field select:hover,.ct .field textarea:hover{border-color:#BDB9B1}
.ct .field input:focus,.ct .field select:focus,.ct .field textarea:focus{border-color:var(--ct-accent);box-shadow:0 0 0 4px rgba(99,91,255,.14);outline:none}
.ct .field.has-error input,.ct .field.has-error select{border-color:#C7372F;box-shadow:0 0 0 4px rgba(199,55,47,.1)}
.ct .field .err{color:#B42318;font-size:13.5px}
.ct-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:58px;margin-top:4px;border:0;border-radius:12px;background:var(--ct-navy);color:#fff;font:inherit;font-size:17px;font-weight:500;cursor:pointer;transition:background .25s,box-shadow .25s}
.ct-submit svg{width:17px;height:17px;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.ct-submit:hover{background:#0E2F44;box-shadow:0 14px 30px -18px rgba(7,29,43,.8)}
.ct-submit:hover svg{transform:translate(4px,-2px)}
.ct-submit:focus-visible{outline:3px solid var(--ct-accent);outline-offset:3px}
.ct-submit[disabled]{cursor:progress;opacity:.8}
.ct-submit .ct-spin{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:ctSpin .8s linear infinite}
@keyframes ctSpin{to{transform:rotate(360deg)}}
.ct-privacy{display:flex;align-items:center;justify-content:center;gap:8px;margin:2px 0 0;font-size:13px;color:var(--ct-muted);text-align:center}
.ct-privacy svg{flex:none;width:14px;height:14px}
.ct-privacy a{color:var(--ct-muted);text-decoration:underline;text-underline-offset:2px}
.ct .form-status{font-size:15px;border-radius:12px}
.ct .form-status.is-ok{background:#E6F4EC;color:#14532D;border:1px solid #BFE3CD}
.ct .form-status.is-err{background:#FBEAE8;color:#8A1C12;border:1px solid #F1C4BE}
.ct-team{display:flex;align-items:center;gap:14px;margin-top:22px;padding-top:20px;border-top:1px solid var(--ct-line)}
.ct-team p{margin:0;font-size:14px;color:var(--ct-muted)}
.ct-avs{display:flex;flex:none}
.ct-av{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:13px;font-weight:600;color:var(--ct-navy);background:#E9E7FB;border:2px solid var(--ct-card);margin-left:-9px}
.ct-av:nth-child(3){background:#DDEBF3;color:var(--ct-blue)}
.ct-av:nth-child(4){background:#ECEAE4}
.ct-av--logo{margin-left:0;background:var(--ct-navy)}
.ct-av--logo img{width:22px;height:auto;filter:brightness(0) invert(1)}

/* ---------- Ofis ---------- */
.ct-office{border-top:1px solid var(--ct-line);padding:clamp(36px,4vw,56px) 0}
.ct-office__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,3.5vw,56px);align-items:center}
.ct-office .eyebrow{margin-bottom:14px}
.ct-office h2{font-family:var(--font-display);font-weight:700;font-size:clamp(26px,2.4vw,36px);letter-spacing:-.035em;line-height:1.12;color:var(--ct-ink);margin:0}
.ct-office__info{display:grid;gap:16px;margin:0;padding:0 0 0 clamp(0px,3vw,40px);list-style:none;border-left:1px solid var(--ct-line)}
.ct-office__info li{display:flex;align-items:center;gap:14px}
.ct-office__info li>span:last-child{display:flex;flex-direction:column;gap:2px}
.ct-office__info b{font-weight:500;font-size:16px;color:var(--ct-ink)}
.ct-office__info small{font-size:13.5px;color:var(--ct-muted)}
.ct-map{position:relative;display:block;height:170px;border-radius:18px;overflow:hidden;background:#EFEDE7;border:1px solid var(--ct-line);color:var(--ct-ink);transition:border-color .3s,box-shadow .3s}
.ct-map__bg{position:absolute;inset:0;width:100%;height:100%}
.ct-map__pin{position:absolute;left:38%;top:34%;width:38px;height:38px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--ct-navy);display:grid;place-items:center;box-shadow:0 10px 20px -8px rgba(7,29,43,.6)}
.ct-map__pin svg{width:18px;height:18px;color:#fff;transform:rotate(45deg)}
.ct-map__label{position:absolute;left:calc(38% + 52px);top:30%;display:flex;flex-direction:column;padding:8px 12px;border-radius:10px;background:var(--ct-card);box-shadow:0 8px 20px -12px rgba(7,29,43,.35);font-size:14px;line-height:1.25}
.ct-map__label small{color:var(--ct-muted);font-size:12px}
.ct-map__cta{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:var(--ct-card);font-size:13.5px;font-weight:500;box-shadow:0 6px 16px -10px rgba(7,29,43,.4)}
.ct-map__cta svg{width:13px;height:13px;transition:transform .3s}
.ct-map:hover{border-color:rgba(99,91,255,.35);box-shadow:0 14px 30px -22px rgba(7,29,43,.4)}
.ct-map:hover .ct-map__cta svg{transform:translate(2px,-2px)}

/* ---------- Açılış animasyonları ---------- */
@media (prefers-reduced-motion:no-preference){
  .ct-intro>*,.ct-form,.ct-cards li{animation:ctUp .5s cubic-bezier(.2,.7,.2,1) both}
  .ct-intro>:nth-child(2){animation-delay:.05s}
  .ct-intro>:nth-child(3){animation-delay:.1s}
  .ct-intro>:nth-child(4){animation-delay:.15s}
  .ct-form{animation-delay:.12s}
  .ct-cards li{animation-delay:calc(.2s + var(--d) * 60ms)}
}
@keyframes ctUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ---------- WhatsApp butonu: bu sayfada sade ---------- */
body:has(.ct) .wa-ring,body:has(.ct) .wa-spark{display:none}
body:has(.ct) .wa-fab__core{animation:none!important;box-shadow:0 10px 24px -10px rgba(18,140,126,.65)}
body:has(.ct) .wa-wrap .wa-fab{width:54px;height:54px}

/* ---------- Duyarlı ---------- */
@media (max-width:1180px){
  .ct-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:40px}
  .ct-title{font-size:clamp(52px,7.4vw,86px)}
}
@media (max-width:1024px){
  .ct-grid{grid-template-columns:1fr;grid-template-areas:"intro" "form" "cards"}
  .ct-formwrap{position:static}
  .ct-cards ul{max-width:none;grid-template-columns:1fr 1fr}
  .ct-office__grid{grid-template-columns:1fr 1fr}
  .ct-map{grid-column:1 / -1}
}
@media (max-width:760px){
  .ct-hero{padding-top:28px}
  .ct-bgmark{display:none}
  .ct-title{font-size:clamp(46px,14vw,64px)}
  .ct-lead{font-size:17px}
  .ct-trust{flex-direction:column;gap:10px}
  .ct-ico{width:40px;height:40px}
  .ct-cards ul{grid-template-columns:1fr}
  .ct .form .two{grid-template-columns:1fr}
  .ct-form{border-radius:20px;padding:26px 20px 22px}
  .ct-office__grid{grid-template-columns:1fr}
  .ct-office__info{border-left:0;padding-left:0}
  .ct-map__label{left:auto;right:12px;top:14px}
  .ct-map__pin{left:30%}
  body:has(.ct) .wa-wrap{bottom:18px;right:16px}
}
@media (prefers-reduced-motion:reduce){.ct-card,.ct-arr,.ct-submit svg{transition:none}}
.ct-bgmark{opacity:.022}
.ct-card__txt b{overflow-wrap:normal;word-break:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:420px){.ct-card{gap:12px;padding:12px 14px 12px 12px}.ct-card__txt b{font-size:15.5px}.ct-ico{width:38px;height:38px}}
body.ct-wa-hide .wa-wrap{opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .25s,transform .25s}
body.ct-wa-hide .wa-wrap *{pointer-events:none!important}
.ct-office__addr{font-style:normal}
.ct-office__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1.1fr)}
@media (max-width:1024px){.ct-office__grid{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.ct-office__grid{grid-template-columns:1fr}}
body:has(.ct) .wa-bubble{display:none}
body:has(.ct) .wa-wrap.has-msg .wa-fab__core{animation:none!important}
