/*
 * SUERDEM v9 — premium responsive refinement layer
 * Bu dosya bilinçli olarak derlenmiş ana stilin ardından yüklenir.
 */

:root {
  --gold-text: #765a32;
  --muted-strong: #52605c;
  --focus-light: #5d421f;
  --focus-dark: #e3c79d;
  --header-offset: 84px;
  --v9-gutter: clamp(20px, 5vw, 72px);
}

html {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
  scrollbar-gutter: stable;
}

body,
.site-shell {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
}

body.menu-open {
  overflow: hidden;
  overscroll-behavior: none;
}

section[id],
.practice-area[id] {
  scroll-margin-top: var(--header-offset);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--focus-light);
  outline-offset: 4px;
}

.hero a:focus-visible,
.expertise a:focus-visible,
.expertise button:focus-visible,
.statement a:focus-visible,
.contact a:focus-visible,
.contact button:focus-visible,
.menu-panel a:focus-visible,
.menu-panel button:focus-visible,
.not-found a:focus-visible,
.practice-page__hero a:focus-visible,
.practice-page__notice a:focus-visible {
  outline-color: var(--focus-dark);
}

/* Header: markanın kendi renkli ve şeffaf logosu kullanılır. */
.site-header {
  position: fixed;
  height: 96px;
  transition: height .35s ease, background-color .35s ease,
    border-color .35s ease, box-shadow .35s ease;
}

.site-header--solid {
  height: 76px;
  background: rgba(6, 26, 25, .94);
  border-color: rgba(203, 177, 138, .2);
  box-shadow: 0 12px 34px rgba(3, 15, 14, .16);
}

.site-header .brand {
  width: 132px;
  height: 86px;
  position: relative;
}

.site-header .brand__image {
  opacity: 1;
  width: 122px;
  height: 82px;
  object-fit: contain;
  filter: none;
}

.site-header .brand::before,
.practice-page__brand::before,
.legal-page__brand::before,
.not-found__header a::before {
  content: "SE";
  color: var(--gold);
  font: 400 32px/1 Georgia, "Times New Roman", serif;
  letter-spacing: -.08em;
}

.site-header .brand::after,
.practice-page__brand::after,
.legal-page__brand::after,
.not-found__header a::after {
  content: "HUKUK";
  color: rgba(255, 253, 248, .72);
  position: absolute;
  left: 50%;
  bottom: 6px;
  transform: translateX(-50%);
  font-size: 7px;
  letter-spacing: .28em;
  white-space: nowrap;
}

.site-header .brand::before,
.site-header .brand::after {
  content: none;
}

@media (max-width: 1180px) {
  .header-phone {
    width: auto;
    min-width: 78px;
    height: 44px;
    min-height: 44px;
    padding: 0 14px;
    border-radius: 999px;
    line-height: 1;
    white-space: nowrap;
  }
}

.desktop-nav a {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  color: rgba(255, 253, 248, .76);
}

.desktop-nav a.is-active {
  color: var(--paper);
}

.desktop-nav a.is-active::after {
  transform: scaleX(1);
  transform-origin: left;
}

.header-contact {
  min-height: 46px;
}

/* Mobile menu: yatay kayma yok, tek kontrollü yüzey ve panel içi kapatma. */
.menu-panel {
  width: 100%;
  max-width: 100%;
  height: 100dvh;
  max-height: 100dvh;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
  contain: layout paint;
  transition-property: opacity, visibility, clip-path;
  transition-duration: .46s;
  transition-timing-function: cubic-bezier(.76, 0, .24, 1);
}

.menu-panel nav,
.menu-panel nav a,
.menu-panel nav span,
.menu-panel__contact,
.menu-panel__primary {
  min-width: 0;
  max-width: 100%;
}

.menu-panel nav a {
  grid-template-columns: 38px minmax(0, 1fr) 34px;
}

.menu-panel nav span,
.menu-panel__contact a {
  overflow-wrap: break-word;
}

.menu-panel__close {
  position: absolute;
  z-index: 4;
  top: max(18px, env(safe-area-inset-top));
  right: max(var(--v9-gutter), env(safe-area-inset-right));
  width: 48px;
  height: 48px;
  border: 1px solid rgba(203, 177, 138, .55);
  border-radius: 50%;
  background: rgba(6, 26, 25, .78);
  color: var(--paper);
  cursor: pointer;
}

.menu-panel__close::before,
.menu-panel__close::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 1px;
  left: 13px;
  top: 23px;
  background: currentColor;
}

.menu-panel__close::before { transform: rotate(45deg); }
.menu-panel__close::after { transform: rotate(-45deg); }

body.menu-open .site-header .brand,
body.menu-open .site-header .header-contact,
body.menu-open .site-header .header-phone,
body.menu-open .site-header .menu-button {
  pointer-events: none;
  visibility: hidden;
}

/* Hero: görsel odağı sadeleştir, başlık ve portreyi öne çıkar. */
.hero__grid { opacity: .2; }
.hero__glow { opacity: .58; }
.hero__glow--two { display: none; }
.hero__seal { opacity: .86; }

.hero__portrait-frame {
  background: linear-gradient(180deg, #969a99 0%, #aeb2b1 56%, #b8baba 100%);
  box-shadow: inset 0 0 0 1px rgba(203, 177, 138, .18);
}

@media (min-width: 1101px) {
  .hero__portrait-frame {
    inset: 8% 3% 4% 2%;
  }

  .hero__portrait-frame img {
    object-fit: contain;
    object-position: center bottom;
    filter: grayscale(1) contrast(1.04);
    opacity: .97;
    transform: translate(var(--parallax-x), var(--parallax-y)) scale(.96);
  }

  .hero__signature {
    right: 7%;
    bottom: 8%;
  }
}
.hero__scroll { opacity: .72; }

.hero__seal-brandmark,
.approach__brandmark {
  color: var(--gold);
  display: grid;
  place-items: center;
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: -.08em;
}

.hero__seal-brandmark { font-size: 25px; }

.ticker__track {
  animation-duration: 44s;
}

.ticker.is-paused .ticker__track {
  animation-play-state: paused;
}

/* İçerik ritmi ve okunabilirlik. */
.section-index span,
.section-index p,
.kicker,
.person-card__info small,
.contact-form label > span,
.contact__details > a small,
.profile-modal__head > small,
.profile-modal__section > h3 {
  font-size: max(11px, .68rem);
}

.section-index span,
.section-index p,
.kicker,
.person-card__info small {
  color: var(--gold-text);
}

.section-index--dark span,
.section-index--dark p,
.kicker--gold,
.expertise-row button small {
  color: var(--gold);
}

.about__copy > p:nth-child(2),
.practice-area__copy > p,
.legal-page__article > p:not(.kicker):not(.legal-page__updated),
.footer__bottom {
  color: var(--muted-strong);
}

.about,
.expertise,
.team,
.contact {
  padding-left: max(var(--v9-gutter), calc((100vw - 1440px) / 2 + var(--v9-gutter)));
  padding-right: max(var(--v9-gutter), calc((100vw - 1440px) / 2 + var(--v9-gutter)));
}

.about__intro h2 em,
.expertise__head h2 em,
.approach h2 em,
.team h2 em,
.contact h2 em {
  color: inherit;
  font-style: normal;
}

.expertise-row__detail {
  transition-duration: .48s;
}

.expertise-row__detail-inner {
  padding-bottom: 42px;
}

.approach,
.approach__visual {
  min-height: 760px;
}

.approach__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 70%, rgba(6, 26, 25, .18));
}

.approach__rings i,
.statement__orbit {
  animation: none;
}

.statement__brandmark {
  display: none;
}

.statement__orbit {
  opacity: .56;
}

/* Ekip: kartlarda kişiyi yakınlaştır, modalda tam fotoğrafı koru. */
.person-card__image {
  isolation: isolate;
}

.person-card:not(.person-card--portrait) .person-card__image img {
  transform: scale(1.24);
  transform-origin: 50% 28%;
  transition: transform .55s cubic-bezier(.16, 1, .3, 1), filter .4s ease;
}

@media (hover: hover) and (pointer: fine) {
  .person-card:not(.person-card--portrait):hover .person-card__image img {
    transform: scale(1.28);
  }
}

.person-card:not(.has-profile) {
  cursor: default;
}

.person-card:not(.has-profile) .person-card__image::after {
  content: "Profil bilgisi yakında";
  position: absolute;
  z-index: 4;
  right: 16px;
  bottom: 16px;
  padding: 8px 10px;
  color: var(--ink);
  background: rgba(242, 239, 232, .9);
  border: 1px solid rgba(9, 37, 34, .12);
  font-size: 9px;
  line-height: 1;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.profile-modal__visual > img,
.profile-modal__visual--portrait > img {
  object-fit: contain;
  object-position: center bottom;
  transform: none;
}

.profile-modal__content {
  scrollbar-gutter: stable;
}

.profile-modal__bio p,
.profile-modal__focus span {
  font-size: max(15px, .94rem);
}

/* Form: daha net gruplama, güçlü durum ve odak dili. */
.contact-form {
  border: 1px solid rgba(203, 177, 138, .18);
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  border-bottom-color: rgba(255, 255, 255, .38);
}

.contact-form [aria-invalid="true"] {
  border-bottom-color: #f0aaa1;
  box-shadow: 0 1px 0 #f0aaa1;
}

.form-status[role="alert"] {
  border-color: rgba(240, 170, 161, .62);
}

.contact-form__consent {
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, .12);
}

.form-submit {
  padding-top: 18px;
}

/* Alt sayfalar: resmi logo ile ortak ve tutarlı marka kullanımı. */
.practice-page__brand,
.legal-page__brand,
.not-found__header a {
  position: relative;
}

.practice-page__brand img,
.legal-page__brand img,
.not-found__header img {
  opacity: 1;
  width: 108px;
  height: 76px;
  object-fit: contain;
  filter: none;
}

.practice-page__brand::before,
.practice-page__brand::after,
.legal-page__brand::before,
.legal-page__brand::after,
.not-found__header a::before,
.not-found__header a::after {
  content: none;
}

.practice-page__brand::before,
.legal-page__brand::before {
  color: var(--ink);
}

.practice-page__brand::after,
.legal-page__brand::after {
  color: var(--muted-strong);
}

.practice-page__index {
  position: sticky;
  z-index: 8;
  top: 112px;
  padding-top: 14px;
  padding-bottom: 14px;
  background: rgba(242, 239, 232, .94);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}

.practice-page__header {
  z-index: 20;
  position: sticky;
  top: 0;
  background: rgba(242, 239, 232, .96);
  backdrop-filter: blur(14px);
}

.practice-page__index a {
  grid-template-columns: 1fr;
  align-content: center;
  min-height: 64px;
  padding: 8px 10px;
  border: 1px solid transparent;
  text-align: center;
}

.practice-page__index a small { display: none; }
.practice-page__index a span { font-size: 14px; }

.practice-page__index a.is-active,
.practice-page__index a[aria-current="location"] {
  color: var(--paper);
  background: var(--ink);
  border-color: var(--ink);
}

.practice-area__top-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 36px 0 0 clamp(52px, 7vw, 94px);
  color: var(--gold-text);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.site-quick-actions {
  display: none;
}

body.form-focus .mobile-actions,
body.profile-open .mobile-actions {
  opacity: 0;
  pointer-events: none;
  transform: translateY(110%);
}

/* Tablet portrait — mobil header ile masaüstü içerik karışmasın. */
@media (max-width: 1100px) {
  :root { --header-offset: 76px; }

  .hero {
    min-height: 100svh;
    display: flex;
    flex-direction: column;
  }

  .hero__content {
    width: 100%;
    padding: 132px var(--v9-gutter) 46px;
  }

  .hero h1 {
    max-width: 850px;
    font-size: clamp(54px, 9.2vw, 84px);
  }

  .hero__visual {
    width: 100%;
    height: clamp(540px, 70vw, 720px);
    min-height: 520px;
  }

  .hero__portrait-frame {
    inset: 0 0 0 20%;
  }

  .about__body,
  .expertise__head,
  .contact__head,
  .contact__grid {
    grid-template-columns: 1fr;
  }

  .approach {
    min-height: 0;
    display: block;
  }

  .approach__visual {
    min-height: 540px;
  }

  .footer__top {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 1100px) and (orientation: portrait) {
  .profile-modal {
    padding: 0;
    display: block;
    overflow-y: auto;
    background: var(--paper);
  }

  .profile-modal__panel {
    width: 100%;
    height: auto;
    min-height: 100dvh;
    display: block;
    overflow: visible;
    box-shadow: none;
  }

  .profile-modal__visual {
    height: clamp(340px, 44dvh, 500px);
    min-height: 320px;
  }

  .profile-modal__content {
    height: auto;
    overflow: visible;
    padding: 34px var(--v9-gutter) max(64px, calc(48px + env(safe-area-inset-bottom)));
  }

  .profile-modal__close {
    position: fixed;
  }
}

@media (max-width: 900px) {
  .practice-page__index {
    width: 100%;
    max-width: 100%;
    padding: 10px var(--v9-gutter);
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .practice-page__index::-webkit-scrollbar { display: none; }

  .practice-page__index a {
    flex: 0 0 auto;
    min-height: 46px;
    padding: 8px 14px;
    scroll-snap-align: start;
  }
}

@media (max-width: 760px) {
  body:not(.page-home):not(.page-practice) {
    padding-bottom: 0;
  }

  .site-header,
  .site-header--solid {
    height: calc(74px + env(safe-area-inset-top));
  }

  .site-header .brand {
    width: 98px;
    height: 64px;
  }

  .site-header .brand__image {
    width: 92px;
    height: 62px;
  }

  .menu-panel {
    padding: max(92px, calc(74px + env(safe-area-inset-top)))
      max(var(--v9-gutter), env(safe-area-inset-right))
      max(88px, calc(72px + env(safe-area-inset-bottom)))
      max(var(--v9-gutter), env(safe-area-inset-left));
  }

  .menu-panel nav a {
    grid-template-columns: 30px minmax(0, 1fr) 28px;
    gap: 8px;
    min-height: clamp(58px, 10dvh, 72px);
  }

  .menu-panel nav span {
    font-size: clamp(29px, 9vw, 42px);
    line-height: 1.02;
  }

  .hero__content {
    padding: max(104px, calc(82px + env(safe-area-inset-top))) var(--v9-gutter) 34px;
  }

  .hero h1 {
    font-size: clamp(44px, 13.4vw, 64px);
    line-height: .96;
  }

  .hero__visual {
    height: clamp(420px, 112vw, 570px);
    min-height: 420px;
  }

  .hero__portrait-frame { inset: 0 -2% 0 4%; }
  .hero__glow--one { opacity: .4; }
  .hero__scroll { display: none; }

  .about,
  .expertise,
  .team,
  .contact {
    padding-left: var(--v9-gutter);
    padding-right: var(--v9-gutter);
  }

  .about__intro h2,
  .approach h2,
  .contact h2,
  .expertise__head h2,
  .team h2,
  .statement h2 {
    font-size: clamp(36px, 10.5vw, 48px);
  }

  .expertise-row__detail-inner { margin-left: 0; }

  .approach__visual { min-height: 440px; }
  .approach__content { padding: 72px var(--v9-gutter); }

  .team__track { gap: 46px 16px; }

  .person-card:not(.person-card--portrait) .person-card__image img {
    transform: scale(1.2);
  }

  .person-card:not(.has-profile) .person-card__image::after {
    right: 10px;
    bottom: 10px;
    max-width: calc(100% - 20px);
    font-size: 8px;
  }

  .contact-form { box-shadow: 8px 8px rgba(169, 140, 97, .16); }

  .footer__top { grid-template-columns: 1fr; }

  .practice-page__index { top: 88px; }

  .practice-area__top-link { margin-left: 0; }

  .site-quick-actions {
    z-index: 120;
    min-height: calc(62px + env(safe-area-inset-bottom));
    padding-bottom: env(safe-area-inset-bottom);
    color: var(--paper);
    background: rgba(6, 26, 25, .96);
    border-top: 1px solid rgba(203, 177, 138, .25);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
  }

  .site-quick-actions a {
    place-items: center;
    min-height: 62px;
    display: grid;
    font-size: 10px;
    font-weight: 650;
    letter-spacing: .1em;
    text-transform: uppercase;
  }

  .site-quick-actions a + a {
    color: var(--gold);
    border-left: 1px solid rgba(255, 255, 255, .1);
  }

  body.page-practice { padding-bottom: calc(62px + env(safe-area-inset-bottom)); }
}

@media (max-width: 560px) {
  .team__track { grid-template-columns: 1fr; }
  .person-card__image { max-height: 520px; }

  .profile-modal__visual {
    height: clamp(300px, 40dvh, 390px);
    min-height: 300px;
  }

  .profile-modal__head h2 {
    font-size: clamp(37px, 11vw, 48px);
    overflow-wrap: normal;
  }

  .profile-modal__bio p { line-height: 1.7; }
}

@media (max-width: 380px) {
  .header-phone {
    display: grid !important;
    width: auto;
    min-width: 72px;
    height: 42px;
    min-height: 42px;
    padding: 0 11px;
    font-size: 9px;
  }
  .hero h1 { font-size: clamp(40px, 13vw, 49px); }
  .hero__bottom p { font-size: 12px; }
  .menu-panel nav span { font-size: clamp(27px, 8.6vw, 34px); }
}

@media (orientation: landscape) and (max-height: 650px) {
  .hero {
    min-height: 100dvh;
    display: grid;
    grid-template-columns: 54% 46%;
  }

  .hero__content {
    padding: max(86px, calc(64px + env(safe-area-inset-top))) 24px 28px 32px;
  }

  .hero h1 { font-size: clamp(40px, 6vw, 58px); }
  .hero__visual { height: 100dvh; min-height: 100dvh; }

  .profile-modal {
    display: grid;
    overflow: hidden;
  }

  .profile-modal__panel {
    width: 100%;
    height: 100dvh;
    min-height: 0;
    grid-template-columns: minmax(270px, 42%) 1fr;
    display: grid;
    overflow: hidden;
  }

  .profile-modal__visual { width: 100%; height: 100dvh; min-height: 0; }
  .profile-modal__content { height: 100dvh; overflow-y: auto; }
}

@media (hover: none), (pointer: coarse) {
  .cursor-light { display: none; }
  .person-card:hover .person-card__image { transform: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ticker__track,
  .hero__seal,
  .approach__rings i,
  .statement__orbit {
    animation: none !important;
  }
  .cursor-light { display: none !important; }
}

/* --------------------------------------------------------------------------
 * SUERDEM v10 — editorial premium design system
 * Typography, contrast, navigation, purposeful motion and content modules.
 * ----------------------------------------------------------------------- */

@font-face {
  font-family: "Suerdem Serif";
  src: url("/fonts/suerdem-serif-regular.woff2") format("woff2"),
       url("/fonts/suerdem-serif-regular.woff") format("woff");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Suerdem Serif";
  src: url("/fonts/suerdem-serif-italic.woff2") format("woff2"),
       url("/fonts/suerdem-serif-italic.woff") format("woff");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}

:root {
  --v10-ink: #092522;
  --v10-ink-deep: #061a19;
  --v10-paper: #f2efe8;
  --v10-paper-soft: #e8e2d7;
  --v10-gold: #cbb18a;
  --v10-gold-text: #765a32;
  --v10-muted: #52605c;
  --v10-serif: "Suerdem Serif", "Noto Serif", Georgia, "Times New Roman", serif;
  --v10-sans: var(--font-geist-sans), Geist, Arial, sans-serif;
  --v10-ease: cubic-bezier(.16, 1, .3, 1);
  --v10-header: 92px;
  --v10-header-compact: 72px;
  --v10-content: 1440px;
}

body {
  color: var(--v10-ink);
  font-family: var(--v10-sans);
  font-size: 16px;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3,
.hero__signature strong,
.about__year strong,
.about__copy > p:first-child,
.about__values span,
.expertise-row h3,
.expertise-article__lead,
.process h3,
.profile-modal__head h2,
.profile-modal__education h4,
.statement h2,
.contact__details strong,
.footer__top > p,
.practice-page__hero h1,
.practice-page__index span,
.practice-area__head h2,
.practice-area__copy .practice-area__lead,
.practice-page__notice h2,
.legal-page__article h1,
.legal-page__article h2,
.not-found__content h1,
.menu-panel nav span {
  font-family: var(--v10-serif) !important;
}

.section-index span,
.section-index p,
.kicker,
.person-card__info small,
.contact-form label > span,
.contact__details > a small,
.profile-modal__head > small,
.profile-modal__section > h3,
.about__year span,
.hero__signature small,
.hero__eyebrow,
.hero__scroll,
.expertise-row button small,
.expertise-services > small {
  font-size: 11px;
  line-height: 1.35;
}

.section-index span,
.section-index p,
.kicker,
.person-card__info small,
.about__values small,
.about__year span,
.contact__details > a small,
.profile-modal__head > small,
.profile-modal__section > h3 {
  color: var(--v10-gold-text);
}

.about__copy > p:nth-child(2),
.approach__lead,
.process p,
.profile-modal__bio p,
.profile-modal__focus span,
.practice-area__copy > p,
.legal-page__article > p:not(.kicker):not(.legal-page__updated),
.footer__bottom,
.contact__details > p {
  color: var(--v10-muted);
}

/* Header */
.site-header {
  height: var(--v10-header);
  padding-inline: clamp(22px, 4.6vw, 82px);
  transition: height .25s var(--v10-ease), background-color .25s ease,
    border-color .25s ease, box-shadow .25s ease;
}

.site-header--solid {
  height: var(--v10-header-compact);
  background: rgba(6, 26, 25, .97);
  box-shadow: 0 10px 30px rgba(2, 14, 13, .14);
}

.site-header .brand {
  width: 126px;
  height: 84px;
  justify-self: start;
}

.site-header .brand__image {
  width: 118px;
  height: 78px;
  filter: none;
}

.desktop-nav {
  gap: clamp(26px, 2.8vw, 50px);
}

.desktop-nav a {
  min-height: 48px;
  padding: 15px 0;
  color: rgba(255, 253, 248, .78);
  font-size: 13px;
  font-weight: 550;
  letter-spacing: .035em;
}

.desktop-nav a::after {
  bottom: 8px;
  height: 2px;
}

.header-contact {
  min-width: 132px;
  min-height: 48px;
  justify-content: space-between;
  padding: 0 18px;
  border: 1px solid rgba(203, 177, 138, .58);
  border-radius: 2px;
  font-size: 11px;
  font-weight: 650;
  transition: color .25s ease, background .25s ease, border-color .25s ease;
}

.header-contact:hover,
.header-contact:focus-visible {
  color: var(--v10-ink-deep);
  background: var(--v10-gold);
  border-color: var(--v10-gold);
}

.header-phone {
  border-radius: 2px;
}

/* Mobile menu: short, stable opacity/transform transition. */
.menu-panel {
  clip-path: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(0, -18px, 0);
  transition: opacity .28s ease, transform .32s var(--v10-ease), visibility .32s;
}

.menu-panel.is-open {
  clip-path: none;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(0, 0, 0);
}

.menu-panel__orb { display: none; }

.menu-panel nav a {
  transition: color .2s ease, padding-left .25s var(--v10-ease);
}

.menu-panel nav a:hover,
.menu-panel nav a:focus-visible {
  color: var(--v10-gold);
  padding-left: 8px;
}

/* Hero: two clear actions, restrained framing and no decorative brand repeat. */
.cursor-light,
.hero__seal,
.ticker {
  display: none !important;
}

.hero__grid { opacity: .09; }
.hero__glow { opacity: .3; }

.hero__content {
  padding-top: clamp(160px, 20vh, 215px);
}

.hero h1 {
  max-width: 820px;
  font-size: clamp(68px, 6vw, 96px);
  line-height: .94;
  letter-spacing: -.045em;
}

.hero__line {
  animation-duration: .62s;
  animation-timing-function: var(--v10-ease);
}

.hero__line--one { animation-delay: .34s; }
.hero__line--two { animation-delay: .46s; }
.reveal-up { animation-duration: .56s; animation-delay: .54s; }
.reveal-delay { animation-delay: .66s; }

.hero__bottom {
  align-items: flex-start;
  gap: 30px;
  margin-top: 38px;
}

.hero__bottom p {
  max-width: 430px;
  color: rgba(255, 253, 248, .73);
  font-size: 15px;
  line-height: 1.7;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.hero-cta,
.hero__bottom .circle-link.hero-cta {
  width: auto;
  height: 50px;
  min-width: 162px;
  padding: 0 17px;
  border-radius: 2px;
  flex-direction: row;
  justify-content: space-between;
  gap: 20px;
  overflow: hidden;
  font-size: 10px;
  font-weight: 650;
  transition: color .22s ease, background .22s ease, border-color .22s ease,
    transform .22s var(--v10-ease);
}

.hero-cta::before,
.hero__bottom .circle-link.hero-cta::before { display: none; }

.hero-cta span,
.hero-cta svg { position: relative; z-index: 1; }

.hero-cta svg {
  width: 17px;
  height: 17px;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5px;
}

.hero-cta:hover,
.hero__bottom .circle-link.hero-cta:hover {
  color: var(--v10-ink-deep);
  background: var(--v10-gold);
  border-color: var(--v10-gold);
  transform: translateY(-2px);
}

.hero-cta--secondary {
  color: rgba(255, 253, 248, .88);
  border-color: rgba(255, 253, 248, .34);
}

.hero__portrait-frame {
  clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%, 0 8%);
}

.hero__portrait-frame img {
  transform: none !important;
  transition: opacity .7s var(--v10-ease);
}

.hero__scroll {
  writing-mode: horizontal-tb;
  bottom: 24px;
  left: clamp(24px, 6.2vw, 112px);
  transform: none;
  gap: 12px;
  font-size: 10px;
  letter-spacing: .16em;
}

.hero__scroll span {
  width: 34px;
  height: 1px;
  background: rgba(203, 177, 138, .75);
  animation: none;
}

/* Editorial spacing and calmer visual hierarchy. */
[data-reveal] {
  transform: translateY(18px);
  transition: opacity .62s ease, transform .62s var(--v10-ease);
}

.about::before { content: none; }

.about,
.expertise,
.team,
.contact {
  padding-left: max(var(--v9-gutter), calc((100vw - var(--v10-content)) / 2 + var(--v9-gutter)));
  padding-right: max(var(--v9-gutter), calc((100vw - var(--v10-content)) / 2 + var(--v9-gutter)));
}

.about__intro h2,
.expertise__head h2,
.approach h2,
.team h2,
.contact h2,
.statement h2 {
  letter-spacing: -.035em;
}

.about__intro h2,
.expertise__head h2,
.approach h2,
.team h2,
.contact h2 {
  font-size: clamp(52px, 5vw, 72px);
  line-height: 1.04;
}

.about__intro {
  max-width: 940px;
  margin-top: 74px;
  margin-bottom: 70px;
}

.about__body { padding-top: 52px; }

.about__year strong {
  font-size: clamp(74px, 8vw, 112px);
}

.about__copy > p:first-child {
  font-size: clamp(22px, 1.9vw, 29px);
}

.about__copy > p:nth-child(2),
.approach__lead,
.practice-area__copy > p,
.legal-page__article > p:not(.kicker):not(.legal-page__updated) {
  font-size: 16px;
  line-height: 1.78;
}

.about__values {
  margin-top: 70px;
}

.about__values div {
  min-height: 116px;
}

.expertise__head { margin-bottom: 68px; }
.expertise__list { margin-left: 14%; }
.expertise-row button { padding: 26px 0; }
.expertise-row h3 { font-size: clamp(27px, 2.4vw, 38px); }
.expertise-row__detail { transition-duration: .36s; }

.expertise-row--summary .expertise-article__copy p:not(.expertise-article__lead) {
  display: none;
}

.expertise-row--summary .expertise-services li:nth-child(n + 5) {
  display: none;
}

.expertise-detail-link {
  min-height: 48px;
  margin: 4px 0 12px 70px;
  padding: 0 14px;
  border: 1px solid rgba(203,177,138,.42);
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  color: var(--v10-gold);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: color .22s ease, background .22s ease;
}

.expertise-detail-link:hover {
  color: var(--v10-ink-deep);
  background: var(--v10-gold);
}

/* Approach: replace repeated SE/orbits with an editorial three-step field. */
.approach,
.approach__visual { min-height: 690px; }

.approach__visual {
  background:
    linear-gradient(135deg, rgba(203,177,138,.08), transparent 42%),
    linear-gradient(180deg, #0a2926, #08211f);
  overflow: hidden;
}

.approach__rings,
.approach__brandmark { display: none !important; }

.approach__visual::before {
  content: "01  —  02  —  03";
  position: absolute;
  left: 9%;
  right: 9%;
  top: 48%;
  padding: 28px 0;
  color: var(--v10-gold);
  border-top: 1px solid rgba(203,177,138,.46);
  border-bottom: 1px solid rgba(203,177,138,.2);
  font-family: var(--v10-serif);
  font-size: clamp(28px, 4vw, 58px);
  letter-spacing: .04em;
  white-space: pre;
  transform: translateY(-50%);
}

.approach__visual::after {
  content: "DİNLE   ·   DEĞERLENDİR   ·   TAKİP ET";
  inset: auto 9% 16%;
  color: rgba(255,253,248,.62);
  background: none;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .2em;
}

.approach__note {
  max-width: 220px;
  padding: 11px 13px;
  border-radius: 0;
  background: rgba(6,26,25,.8);
  font-size: 10px;
}

.process div {
  min-height: 76px;
}

.process h3 { font-size: 23px; }
.process p { font-size: 14px; line-height: 1.55; }

/* Team: stable editorial cards, no 3D tilt. */
.person-card,
.person-card__image {
  transform: none !important;
}

.person-card__image img,
.person-card:not(.person-card--portrait) .person-card__image img,
.person-card:hover .person-card__image img,
.person-card:not(.person-card--portrait):hover .person-card__image img {
  transform: scale(1.24) !important;
  transform-origin: 50% 30%;
  transition: filter .32s ease, opacity .32s ease !important;
}

.person-card--portrait .person-card__image img,
.person-card--portrait:hover .person-card__image img {
  transform: none !important;
}

.person-card__info h3 { font-size: clamp(25px, 2vw, 32px); }
.person-card__arrow { transition: transform .25s var(--v10-ease), background .25s ease; }
.person-card:hover .person-card__arrow { transform: translate(2px, -2px); }

.profile-modal__panel {
  max-height: min(900px, calc(100dvh - 32px));
}

.profile-modal__bio p { line-height: 1.72; }

/* Statement: one quiet transition panel, no repeated monogram. */
.statement {
  min-height: 520px;
  background:
    linear-gradient(120deg, rgba(203,177,138,.05), transparent 40%),
    var(--v10-ink-deep);
}

.statement__orbit { display: none !important; }
.statement h2 { max-width: 1000px; font-size: clamp(48px, 5vw, 76px); }

/* Knowledge / insight section inserted by the enhancement script. */
.insights {
  padding: clamp(96px, 10vw, 144px)
    max(var(--v9-gutter), calc((100vw - var(--v10-content)) / 2 + var(--v9-gutter)));
  color: var(--v10-ink);
  background: var(--v10-paper-soft);
}

.insights__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .55fr);
  align-items: end;
  gap: 50px;
  margin: 66px 0 56px;
}

.insights__head h2 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(52px, 5vw, 72px);
  line-height: 1.03;
  letter-spacing: -.035em;
}

.insights__head > p {
  max-width: 50ch;
  margin: 0;
  color: var(--v10-muted);
  font-size: 15px;
  line-height: 1.72;
}

.insights__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(9,37,34,.18);
}

.insight-card {
  min-height: 310px;
  padding: 28px 28px 24px;
  border-right: 1px solid rgba(9,37,34,.18);
  display: flex;
  flex-direction: column;
  transition: color .25s ease, background .25s ease, transform .25s var(--v10-ease);
}

.insight-card:last-child { border-right: 0; }
.insight-card small { color: var(--v10-gold-text); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.insight-card h3 { margin: auto 0 18px; font-size: clamp(27px, 2.3vw, 36px); line-height: 1.05; }
.insight-card p { margin: 0 0 22px; color: var(--v10-muted); font-size: 14px; line-height: 1.65; }
.insight-card span { font-size: 11px; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.insight-card:hover { color: var(--v10-paper); background: var(--v10-ink); transform: translateY(-4px); }
.insight-card:hover p, .insight-card:hover small { color: rgba(255,253,248,.72); }

/* Practice page FAQ and related-team enhancements. */
.practice-related {
  margin: 42px 0 0 clamp(52px, 7vw, 94px);
  padding-top: 24px;
  border-top: 1px solid var(--line);
}

.practice-related > p {
  margin: 0 0 14px;
  color: var(--v10-gold-text);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.practice-related__links { display: flex; flex-wrap: wrap; gap: 8px; }

.practice-related__links a {
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid var(--line);
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  transition: color .2s ease, background .2s ease;
}

.practice-related__links a:hover { color: var(--v10-paper); background: var(--v10-ink); }

.practice-faq {
  padding: clamp(88px, 9vw, 132px)
    max(var(--v9-gutter), calc((100vw - 1180px) / 2 + var(--v9-gutter)));
  background: var(--v10-paper-soft);
}

.practice-faq h2 {
  max-width: 760px;
  margin: 18px 0 54px;
  font-size: clamp(48px, 5vw, 70px);
  line-height: 1.03;
  letter-spacing: -.035em;
}

.practice-faq details { border-top: 1px solid var(--line); }
.practice-faq details:last-child { border-bottom: 1px solid var(--line); }
.practice-faq summary {
  min-height: 72px;
  padding: 20px 52px 20px 0;
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  position: relative;
  font-family: var(--v10-serif);
  font-size: clamp(20px, 2vw, 27px);
}
.practice-faq summary::-webkit-details-marker { display: none; }
.practice-faq summary::after { content: "+"; position: absolute; right: 10px; color: var(--v10-gold-text); font-family: var(--v10-sans); }
.practice-faq details[open] summary::after { content: "−"; }
.practice-faq details p { max-width: 78ch; margin: 0; padding: 0 0 26px; color: var(--v10-muted); font-size: 15px; line-height: 1.72; }

.practice-page__hero::after,
.not-found__orbit {
  display: none !important;
  content: none !important;
}

.preloader__logo img,
.brand__image {
  filter: none !important;
}

.contact__assurance {
  margin-top: 30px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.16);
  color: rgba(255,253,248,.7);
  font-size: 13px;
  line-height: 1.65;
}

.footer__bottom { font-size: 12px; }

.practice-page__index small,
.practice-area__head > small,
.practice-area__head p,
.practice-area__top-link,
.legal-page__article a,
.legal-page__updated {
  color: var(--v10-gold-text);
}

.practice-page__footer {
  color: var(--v10-muted);
  font-size: 12px;
}

@media (max-width: 1280px) {
  .site-header { grid-template-columns: 1fr auto auto; }
  .desktop-nav,
  .header-contact { display: none; }
  .header-phone {
    min-width: 104px;
    min-height: 44px;
    margin-right: 4px;
    padding: 0 14px;
    place-items: center;
    display: grid;
    color: var(--v10-paper);
    border: 1px solid rgba(203,177,138,.4);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 10px;
  }
  .menu-button { justify-self: end; display: flex; }
}

@media (max-width: 1180px) {
  .site-header .brand { width: 114px; }
  .site-header .brand__image { width: 108px; }
  .header-phone { min-width: 104px; padding: 0 14px; }
}

@media (max-width: 1100px) {
  .hero h1 { font-size: clamp(54px, 8.4vw, 78px); }
  .hero__content { padding-top: 126px; }
  .insights__head { grid-template-columns: 1fr; gap: 22px; }
}

@media (max-width: 760px) {
  :root { --v10-header: 74px; --v10-header-compact: 68px; }

  .site-header,
  .site-header--solid {
    height: calc(var(--v10-header) + env(safe-area-inset-top));
  }

  .site-header .brand { width: 98px; height: 64px; }
  .site-header .brand__image { width: 92px; height: 62px; }
  .header-phone { min-width: 82px; border-radius: 2px; }
  .menu-button { min-width: 46px; min-height: 46px; }

  .hero__content {
    padding-top: max(108px, calc(84px + env(safe-area-inset-top)));
  }

  .hero h1 {
    max-width: 680px;
    font-size: clamp(42px, 12.7vw, 58px);
    line-height: .97;
  }

  .hero__bottom { display: block; }
  .hero__bottom p { max-width: 100%; font-size: 14px; }
  .hero-actions { margin-top: 22px; }
  .hero-cta, .hero__bottom .circle-link.hero-cta { min-width: min(190px, calc(50% - 5px)); flex: 1 1 150px; }
  .hero__visual { height: clamp(430px, 112vw, 560px); }
  .hero__signature strong { font-size: clamp(28px, 8vw, 38px); }

  .about__intro h2,
  .expertise__head h2,
  .approach h2,
  .team h2,
  .contact h2,
  .statement h2,
  .insights__head h2,
  .practice-faq h2 {
    font-size: clamp(36px, 10.2vw, 48px);
  }

  .expertise__list { margin-left: 0; }
  .expertise-detail-link { margin-left: 0; }
  .approach__visual { min-height: 420px; }
  .approach__visual::before { left: 7%; right: 7%; font-size: clamp(25px, 7.4vw, 42px); }
  .approach__visual::after { left: 7%; right: 7%; font-size: 9px; letter-spacing: .13em; }

  .insights { padding-inline: var(--v9-gutter); }
  .insights__grid { grid-template-columns: 1fr; }
  .insight-card { min-height: 240px; border-right: 0; border-bottom: 1px solid rgba(9,37,34,.18); }
  .insight-card h3 { margin-top: 48px; }

  .practice-related { margin-left: 0; }
  .practice-faq { padding-inline: var(--v9-gutter); }
  .practice-faq summary { min-height: 66px; font-size: 20px; }
}

@media (max-width: 560px) {
  .menu-panel nav span { font-size: clamp(29px, 8.8vw, 38px); }
  .profile-modal__visual { height: clamp(300px, 39dvh, 360px); min-height: 300px; }
  .profile-modal__content { padding-top: 30px; }
  .person-card__image img,
  .person-card:not(.person-card--portrait) .person-card__image img,
  .person-card:hover .person-card__image img,
  .person-card:not(.person-card--portrait):hover .person-card__image img { transform: scale(1.2) !important; }
  .person-card--portrait .person-card__image img,
  .person-card--portrait:hover .person-card__image img { transform: none !important; }
}

@media (max-width: 380px) {
  .header-phone { display: grid !important; min-width: 72px; font-size: 9px; }
  .hero h1 { font-size: clamp(40px, 12.5vw, 48px); }
  .hero-cta, .hero__bottom .circle-link.hero-cta { width: 100%; min-width: 100%; }
}

@media (hover: none), (pointer: coarse) {
  .insight-card:hover { color: inherit; background: transparent; transform: none; }
  .insight-card:hover p { color: var(--v10-muted); }
  .insight-card:hover small { color: var(--v10-gold-text); }
}

@media (prefers-reduced-motion: reduce) {
  .hero__line,
  .reveal-up,
  [data-reveal],
  .menu-panel,
  .insight-card,
  .hero-cta {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* v10.1 — Faaliyet sayfası üst menü ve marka rengi eşleştirmesi */
:root {
  --practice-header-height: 84px;
}

.practice-page__header {
  position: sticky;
  top: 0;
  z-index: 40;
  width: 100%;
  max-width: none;
  min-height: var(--practice-header-height);
  margin: 0;
  padding-inline: max(
    var(--v9-gutter),
    calc((100vw - var(--v10-content)) / 2 + var(--v9-gutter))
  );
  color: var(--v10-paper);
  background:
    radial-gradient(circle at 76% 38%, rgba(53, 104, 96, .16), transparent 30%),
    rgba(7, 26, 25, .985);
  border-bottom: 1px solid rgba(203, 177, 138, .22);
  box-shadow: 0 10px 30px rgba(0, 15, 14, .16);
  -webkit-backdrop-filter: blur(16px) saturate(120%);
  backdrop-filter: blur(16px) saturate(120%);
}

.practice-page__brand {
  width: 110px;
  height: 72px;
}

.practice-page__brand img {
  width: 104px;
  height: 70px;
  filter: none;
}

.practice-page__header nav a {
  position: relative;
  min-height: 44px;
  color: rgba(255, 253, 248, .76);
  transition: color .25s ease;
}

.practice-page__header nav a::after {
  right: 0;
  bottom: 7px;
  left: 0;
  height: 1px;
  background: var(--v10-gold);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .3s cubic-bezier(.22, 1, .36, 1);
  content: "";
  position: absolute;
}

.practice-page__header nav a:hover,
.practice-page__header nav a:focus-visible {
  color: var(--v10-paper);
}

.practice-page__header nav a:hover::after,
.practice-page__header nav a:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}

.practice-page__hero {
  background:
    radial-gradient(circle at 76% 38%, rgba(53, 104, 96, .28), transparent 25%),
    linear-gradient(115deg, #071a19, #092522 55%, #0c2c29);
}

.practice-page__hero::before {
  opacity: .42;
}

.practice-page__index {
  top: var(--practice-header-height);
}

@media (max-width: 760px) {
  :root {
    --practice-header-height: 74px;
  }

  .practice-page__header {
    min-height: calc(var(--practice-header-height) + env(safe-area-inset-top));
    padding-top: env(safe-area-inset-top);
    padding-inline: max(18px, env(safe-area-inset-left)) max(18px, env(safe-area-inset-right));
  }

  .practice-page__brand {
    width: 94px;
    height: 62px;
  }

  .practice-page__brand img {
    width: 90px;
    height: 60px;
  }

  .practice-page__index {
    top: calc(var(--practice-header-height) + env(safe-area-inset-top));
  }
}

/* --------------------------------------------------------------------------
 * SUERDEM v10.2 — yeni marka kilidi, kontrast ve yerleşim düzeltmeleri
 * ----------------------------------------------------------------------- */

:root {
  /* Yatay marka kilidi: 1613.5 / 298.3 */
  --brand-ratio: 5.409;
  --brand-height: 50px;
  /* Koyu zeminde erişilebilir altın (AA) */
  --gold-on-dark: #cbb18a;
}

/* --- Marka kilidi: sabit kutular kaldırıldı, oran korunur --------------- */
.site-header .brand,
footer .brand,
.practice-page__brand,
.legal-page__brand,
.not-found__header a {
  width: auto;
  height: auto;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.site-header .brand__image,
footer .brand__image,
.practice-page__brand img,
.legal-page__brand img,
.not-found__header img {
  width: auto;
  height: var(--brand-height);
  max-width: 100%;
  object-fit: contain;
  filter: none;
}

/* Eski metin tabanlı yedek logo katmanı yeni kilitle çakışıyordu. */
.site-header .brand::before,
.site-header .brand::after,
.practice-page__brand::before,
.practice-page__brand::after,
.legal-page__brand::before,
.legal-page__brand::after,
.not-found__header a::before,
.not-found__header a::after {
  content: none !important;
}

footer .brand__image { --brand-height: 46px; }
.legal-page__brand img,
.not-found__header img { --brand-height: 46px; }

/* --- Faaliyet listesi taşması ------------------------------------------
 * Derlenmiş katmandaki `max-width:1280px` ile v10'daki `margin-left:14%`
 * birlikte kutuyu aşırı kısıtlıyor; `margin-right:auto` negatife düşüyor ve
 * satırların sağ ucu (artı simgesi dahil) ekran dışında kalıyordu.        */
.expertise__list {
  max-width: none;
  margin-right: 0;
  width: 86%;
}

@media (max-width: 760px) {
  .expertise__list { width: 100%; }
}

/* --- Koyu bölümlerde altın metin kontrastı (2.8:1 -> 8.7:1) ------------- */
.expertise,
.statement {
  --gold-text: var(--gold-on-dark);
  --v10-gold-text: var(--gold-on-dark);
}

/* --- Yaklaşım adım numaraları: 9px / 2.49:1 idi ------------------------- */
.approach .approach-step small,
.approach ol small,
.approach li small,
.approach small {
  font-size: 12px;
  letter-spacing: .18em;
  color: #6f5630;
}

/* --- Dokunma hedefleri (WCAG 2.2 AA: 24px) ----------------------------- */
.contact-form .consent a,
.contact-form label a {
  display: inline-block;
  min-height: 24px;
  padding-block: 4px;
}

.contact-form input[type="checkbox"] {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
}

@media (max-width: 1180px) { :root { --brand-height: 46px; } }
@media (max-width: 900px)  { :root { --brand-height: 42px; } }

/* Dar ekranda alt satır okunmaz boyuta düşmeden önce kompakt kilide geç. */
@media (max-width: 620px) {
  :root { --brand-height: 34px; }
  .site-header .brand__image,
  .practice-page__brand img {
    content: url("/images/brand/suerdem-compact-light.svg");
  }
  footer .brand__image,
  .legal-page__brand img,
  .not-found__header img {
    content: url("/images/brand/suerdem-compact-dark.svg");
  }
}

/* --- Hero çağrı butonları -----------------------------------------------
 * İkincil buton `.circle-link` sınıfını almadığı için kutu stillerini
 * (display:flex ve border-width) hiç almıyordu: çerçevesiz, bloklanmış bir
 * metin olarak çıkıyordu. Kutu stilleri artık `.hero-cta` üzerinde tanımlı. */
.hero-cta,
.hero__bottom .circle-link.hero-cta {
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  height: auto;
  min-height: 52px;
  border: 1px solid rgba(203, 177, 138, .55);
  font-size: 12px;
  letter-spacing: .1em;
  line-height: 1.25;
  text-transform: uppercase;
  text-decoration: none;
}

.hero-cta--secondary {
  border-color: rgba(255, 253, 248, .38);
}

.hero-cta--secondary:hover {
  color: var(--v10-ink-deep);
  background: var(--v10-paper);
  border-color: var(--v10-paper);
}

@media (max-width: 560px) {
  .hero-actions { gap: 12px; }
  .hero-cta,
  .hero__bottom .circle-link.hero-cta {
    width: 100%;
    min-width: 100%;
    flex: 1 1 100%;
  }
}

/* --- İçeriğin JavaScript'e bağımlılığı ---------------------------------
 * Derlenmiş katman `[data-reveal]{opacity:0}` tanımlıyor ve `.is-visible`
 * sınıfını yalnızca React tarafındaki IntersectionObserver ekliyordu. Ölçüldü:
 * script'ler devre dışıyken 30 düğümün 30'u da görünmez kalıyor, yani hero'nun
 * altındaki tüm gövde JavaScript'in inip çalışmasına kilitli.
 * Başlangıç durumu artık `js-ready` sınıfının arkasında: JS yoksa veya
 * yüklenemezse içerik ilk boyamada görünür olur, varsa animasyon korunur. */
[data-reveal] {
  opacity: 1;
  transform: none;
}

html.js-ready [data-reveal] {
  opacity: 0;
  transform: translateY(38px);
}

html.js-ready [data-reveal].is-visible {
  opacity: 1;
  transform: none;
}

/* Hareket azaltma tercihinde açılış durumu hiç uygulanmaz. */
@media (prefers-reduced-motion: reduce) {
  html.js-ready [data-reveal] {
    opacity: 1;
    transform: none;
  }
}

/* --- Erişilebilirlik: ekran okuyucu duyuru alanı ------------------------ */
.sr-live {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* Katlanmış faaliyet paneli yalnızca `inert` özniteliğine güveniyordu;
 * desteklemeyen tarayıcılarda görünmez ama odaklanabilir bağlantı kalıyordu. */
.expertise-row__detail {
  visibility: hidden;
  transition:
    grid-template-rows .55s var(--v10-ease),
    opacity .4s ease,
    visibility 0s linear .55s;
}

.expertise-row.is-active .expertise-row__detail,
.expertise-row__detail[aria-hidden="false"] {
  visibility: visible;
  transition-delay: 0s;
}

/* --- Tanımsız değişkenler --------------------------------------------------
 * `--parallax-x/y` fare efekti kapatıldığında hiç tanımlanmıyor kalmıştı;
 * bunları kullanan `transform` bildirimleri hesaplanmış değer aşamasında
 * geçersiz sayılıyordu. Portre görselinde etki yok (aşağıda `transform:none`
 * ile zaten devre dışı), yalnızca dekoratif ışık katmanını ilgilendiriyor. */
:root {
  --parallax-x: 0px;
  --parallax-y: 0px;
}

/* --- Dekoratif ok karakterleri ----------------------------------------
 * ↗ ve → işaretleri gövde yazı tipinde bulunmadığı için sistem emoji
 * yüzüne düşüyor ve renkli çiziliyordu. Metin sunumuna sabitlenir. */
.not-found__link span[aria-hidden="true"],
.hero-cta span[aria-hidden="true"],
.expertise-detail-link span[aria-hidden="true"],
.insight-card span,
.practice-area__top-link span[aria-hidden="true"],
.footer__bottom a span[aria-hidden="true"] {
  font-family: var(--v10-serif);
  font-variant-emoji: text;
}

/* --- Faaliyet alanları: hub özet kartları ve tekil sayfa ---------------- */
.practice-area--ozet .practice-area__head h2 a {
  color: inherit;
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0 1px;
  background-repeat: no-repeat;
  background-position: 0 90%;
  transition: background-size .35s var(--v10-ease);
}

.practice-area--ozet .practice-area__head h2 a:hover,
.practice-area--ozet .practice-area__head h2 a:focus-visible {
  background-size: 100% 1px;
}

.practice-area__more {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  margin-top: 26px;
  color: var(--v10-gold-text);
  font-size: 13px;
  letter-spacing: .06em;
  text-decoration: none;
  border-bottom: 1px solid rgba(203, 177, 138, .5);
}

.practice-area__more:hover,
.practice-area__more:focus-visible {
  color: var(--v10-ink);
  border-bottom-color: currentColor;
}

.practice-area__more span[aria-hidden="true"] {
  font-family: var(--v10-serif);
  font-variant-emoji: text;
}

/* Tekil alan sayfasında içindekiler çubuğu geçerli sayfayı işaretler. */
.practice-page__index a[aria-current="page"] {
  color: var(--v10-gold);
}

.practice-page--tekil .practice-area {
  border-top: 0;
}

/* --- Ekip fotoğrafları: tümü siyah-beyaz (v14.1) ------------------------
 * Fotoğraflar üç yerde görünüyor: girişteki büyük portre, ekip kartları ve
 * profil pencereleri. Üçünde de, altı kişinin hepsinde siyah-beyaz.
 * Tek kural; daha önce Su Erdem ile diğerleri ayrı davranıyordu ve zamanla
 * ayrışmıştı. Hover dahil ediliyor, yoksa fare üzerine gelince derlenmiş
 * `saturate()` kuralı devreye girip fotoğraf renklenirdi.
 * Kontrast payı, doygunluk kalkınca düzleşen tonları toparlamak için.
 * Fotoğrafların arka planı saydam olduğundan kart ve penceredeki yuvarlak
 * desen fotoğrafın arkasında görünmeye devam eder. */
.hero__portrait-frame img,
.person-card__image img,
.person-card:hover .person-card__image img,
.person-card--portrait .person-card__image img,
.person-card--portrait:hover .person-card__image img,
.profile-modal__visual > img,
.profile-modal__visual--portrait > img {
  filter: grayscale(1) contrast(1.06);
}

/* Kart yerleşimi de ekiple aynı: fotoğraf artık saydam olduğu için diğer
 * üyelerdeki gibi alta hizalanır ve yuvarlak desenin önünde durur. */
.person-card--portrait .person-card__image img {
  object-fit: contain;
  object-position: center bottom;
  width: 100%;
  max-width: 100%;
  height: 100%;
  transform: scale(1.2);
}

.person-card--portrait:hover .person-card__image img {
  transform: scale(1.22);
}

/* ==========================================================================
 * SUERDEM v11.8 — tipografi ölçeği, hareket dili ve sayfa geçişleri
 * ====================================================================== */

:root {
  /* Hareket dili: on farkli sureyi dort adima indirir. */
  --sure-anlik: 120ms;   /* renk, çerçeve, odak */
  --sure-arayuz: 200ms;  /* düğme, bağlantı */
  --sure-panel: 320ms;   /* akordeon, menü */
  --sure-giris: 520ms;   /* bölüm açılışı */
  --egri-arayuz: cubic-bezier(.2, 0, 0, 1);
  --egri-giris: cubic-bezier(.16, 1, .3, 1);
}

/* --- Küçük uçtaki tipografi ---------------------------------------------
 * Ölçüldü: görünür metinlerde 8, 9, 10 ve 11 px yan yana kullanılıyordu.
 * 11 px tasarımın etiket boyutu; altındakiler ona çekilir. Büyük başlıklar
 * `clamp()` ile akışkan tanımlı, onlara dokunulmaz. */
.statement p,
.circle-link span,
.header-phone,
.text-link span,
.contact-form button span,
.mobile-actions a span,
.site-quick-actions a span {
  font-size: 11px;
}

/* --- Satır uzunluğu ------------------------------------------------------ */
.kicker {
  max-width: 42ch;
}

.about__copy p,
.practice-area__copy p,
.profile-modal__bio p,
.insight-card p {
  max-width: 68ch;
}

/* Uzun hukuk terimleri dar ekranda kenar boşluğunu bozuyordu. */
p, li {
  text-wrap: pretty;
}

@media (max-width: 560px) {
  .practice-area__copy p,
  .about__copy p,
  .profile-modal__bio p {
    hyphens: auto;
  }
}

/* --- Bölüm açılışı: mesafe kısaldı, kademe eklendi ----------------------
 * 34 öğenin tamamı aynı anda 38 px aşağıdan geliyordu. */
html.js-ready [data-reveal] {
  transform: translateY(18px);
  transition-duration: var(--sure-giris), var(--sure-giris);
  transition-timing-function: var(--egri-giris), var(--egri-giris);
}

/* --- Bildirilmiş `transition: all` yerine hedefli özellikler ------------- */
.menu-panel {
  transition:
    opacity var(--sure-panel) var(--egri-giris),
    visibility 0s linear var(--sure-panel),
    clip-path .7s cubic-bezier(.76, 0, .24, 1);
}

.menu-panel.is-open {
  transition-delay: 0s;
}

.person-card__arrow {
  transition:
    color var(--sure-arayuz) var(--egri-arayuz),
    background var(--sure-arayuz) var(--egri-arayuz),
    border-color var(--sure-arayuz) var(--egri-arayuz),
    transform var(--sure-arayuz) var(--egri-arayuz);
}

/* --- Üst menü: bağlantı davranışı --------------------------------------- */
.desktop-nav a {
  transition: color var(--sure-arayuz) var(--egri-arayuz);
}

/* --- Sayfalar arası geçiş ------------------------------------------------
 * Yedi faaliyet sayfası artık ayrı adreslerde; destekleyen tarayıcıda
 * yumuşak geçiş, desteklemeyende normal davranış. */
@view-transition {
  navigation: auto;
}

::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: var(--sure-panel);
  animation-timing-function: var(--egri-giris);
}

@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  html.js-ready [data-reveal] { transform: none; }
}

/* --- Baskı: hukuk metinleri yazdırılır ---------------------------------- */
@media print {
  .site-header,
  .menu-panel,
  .mobile-actions,
  .site-quick-actions,
  .scroll-progress,
  .skip-link,
  .hero__visual,
  .practice-page__index,
  .practice-area__top-link,
  .practice-related,
  .profile-modal {
    display: none !important;
  }

  html, body {
    background: #fff;
    color: #000;
    font-size: 11pt;
  }

  main, .site-shell, section, .practice-page__content {
    padding: 0 !important;
    margin: 0 !important;
    background: #fff !important;
    color: #000 !important;
  }

  [data-reveal],
  html.js-ready [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }

  h1, h2, h3 { break-after: avoid; color: #000; }
  p, li { orphans: 3; widows: 3; }

  /* Bağlantı adresleri kâğıtta görünmez; dipnota alınır. */
  .legal-page a[href^="http"]::after,
  .practice-page a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 9pt;
    word-break: break-all;
  }
}

/* Kalan üç küçük metin de etiket boyutuna çekilir. */
.hero__scroll,
.approach__note,
.approach__visual::after {
  font-size: 11px;
}

.approach__visual::before {
  font-size: clamp(25px, 7.4vw, 42px);
}

/* --- Form: görsel hata dili ---------------------------------------------
 * Ekran okuyucu tarafı hazırdı (aria-invalid + aria-describedby + odak);
 * görsel karşılığı eksikti. */
.contact-form [aria-invalid="true"] {
  border-color: var(--crit-line, #8c3a2e);
  box-shadow: 0 0 0 1px var(--crit-line, #8c3a2e);
}

.contact-form [aria-invalid="true"]:focus-visible {
  outline-color: var(--crit-line, #8c3a2e);
}

.contact-form label:has([aria-invalid="true"]) > span {
  color: var(--crit-line, #8c3a2e);
}

/* Alan düzeltilince işaret kalkar: JS `aria-invalid`'i kaldırmıyorsa
 * kullanıcı yazmaya başlayınca da sönmeli. */
.contact-form [aria-invalid="true"]:user-valid {
  border-color: inherit;
  box-shadow: none;
}

/* --- Okuma ilerlemesi: destekleyen tarayıcıda CSS ile ------------------
 * `animation-timeline` varsa JavaScript'in yazdığı --scroll-scale değerine
 * ihtiyaç kalmaz; yoksa mevcut davranış aynen sürer. */
@supports (animation-timeline: scroll()) {
  .scroll-progress {
    transform-origin: 0 50%;
    animation: okuma-ilerlemesi linear;
    animation-timeline: scroll(root block);
  }

  @keyframes okuma-ilerlemesi {
    from { transform: scaleX(0); }
    to   { transform: scaleX(1); }
  }
}

@media (prefers-reduced-motion: reduce) {
  @supports (animation-timeline: scroll()) {
    .scroll-progress { animation: none; }
  }
}

/* --- Üst menü: aşağı inerken çekilir ------------------------------------
 * Uzun faaliyet metinlerinde okuma alanını genişletir. Yukarı kaydırınca,
 * menü açılınca veya sayfanın ilk ekranında her zaman görünür kalır. */
.site-header {
  transition:
    height var(--sure-arayuz) var(--egri-giris),
    background-color var(--sure-arayuz) ease,
    border-color var(--sure-arayuz) ease,
    box-shadow var(--sure-arayuz) ease,
    transform var(--sure-panel) var(--egri-giris);
}

.site-header--cekili {
  transform: translateY(-100%);
}

/* Odak menüye girerse geri gelsin — klavye kullanıcısı kaybolmasın. */
.site-header:focus-within {
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .site-header--cekili { transform: none; }
}

/* ==========================================================================
 * v12.3 — Giriş çağrıları yeniden kuruldu
 *
 * Önceki hâlde iki eylem de aynı çerçeveli kutuydu: hangisinin asıl eylem
 * olduğu okunmuyordu ve `space-between` yüzünden etiketle ok arasında geniş
 * bir boşluk kalıyordu. Sayfanın geri kalanında eylemler ince çizgili metin
 * bağlantıları olarak kurulu; giriş de aynı dile getirildi.
 *
 *   Asıl eylem  → dolu altın blok, içeriğe göre genişler
 *   İkincil     → kutusuz metin bağlantısı, alt çizgi hover'da uzar
 * ====================================================================== */

.hero-actions {
  align-items: center;
  gap: clamp(18px, 3vw, 34px);
  margin-top: 34px;
}

/* --- ortak --- */
.hero-cta,
.hero__bottom .circle-link.hero-cta {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  box-sizing: border-box;
  width: auto;
  min-width: 0;
  height: auto;
  min-height: 0;
  flex: 0 0 auto;
  border: 0;
  border-radius: 0;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .14em;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  transition:
    background var(--sure-arayuz) var(--egri-arayuz),
    color var(--sure-arayuz) var(--egri-arayuz),
    box-shadow var(--sure-arayuz) var(--egri-arayuz);
}

.hero-cta svg,
.hero__bottom .circle-link.hero-cta svg {
  width: 15px;
  height: 15px;
  flex: none;
  transition: transform var(--sure-arayuz) var(--egri-arayuz);
}

/* --- asıl eylem: dolu altın blok --- */
.hero-cta--primary,
.hero__bottom .circle-link.hero-cta--primary {
  padding: 19px 26px;
  color: var(--v10-ink-deep);
  background: var(--v10-gold);
}

.hero-cta--primary:hover,
.hero-cta--primary:focus-visible,
.hero__bottom .circle-link.hero-cta--primary:hover {
  color: var(--v10-ink-deep);
  background: #dcc49f;
  box-shadow: 0 10px 26px rgba(6, 26, 25, .28);
}

.hero-cta--primary:hover svg { transform: translate(3px, -3px); }

/* --- ikincil eylem: kutusuz metin bağlantısı --- */
.hero-cta--secondary {
  padding: 19px 2px;
  color: rgba(255, 253, 248, .9);
  background: none;
  box-shadow: inset 0 -1px 0 rgba(255, 253, 248, .34);
}

.hero-cta--secondary:hover,
.hero-cta--secondary:focus-visible {
  color: #fffdf8;
  background: none;
  box-shadow: inset 0 -1px 0 #fffdf8;
}

.hero-cta--secondary:hover svg { transform: translate(3px, -3px); }

@media (max-width: 560px) {
  .hero-actions {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 14px 26px;
    margin-top: 28px;
  }
  .hero-cta,
  .hero__bottom .circle-link.hero-cta {
    width: auto;
    min-width: 0;
    flex: 0 0 auto;
  }
  .hero-cta--primary { padding: 17px 22px; }
}

/* Giriş metni ile eylemler aynı satırı paylaşınca eylemlere yalnızca 190 px
 * kalıyor ve ikisi alt alta düşüyordu. Eylemler kendi satırını alır. */
.hero__bottom {
  flex-wrap: wrap;
}

.hero__bottom > p {
  flex: 1 1 100%;
}

.hero-actions {
  flex: 1 0 100%;
  flex-wrap: nowrap;
}

@media (max-width: 560px) {
  .hero-actions { flex-wrap: wrap; }
}

/* --- Eylem dili: kutu değil, editoryal bağlantı -------------------------
 * Sitede üç yerde aynı kusur vardı: geniş bir çerçeveli kutu + `space-between`
 * yüzünden metinden çok uzağa savrulmuş ok. Giriş çağrılarında giderildi;
 * kalan iki yer de aynı dile getirilir. */

/* "Tüm faaliyet alanlarını ayrı sayfada görüntüleyin"
 * 1280 px genişlikte kutuydu, ok metinden ~1200 px uzaktaydı ve üstündeki
 * faaliyet satırlarıyla hizalı değildi (73 px'e karşı 251 px). */
.expertise__all {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  width: auto;
  max-width: none;
  min-height: 52px;
  margin-left: 14%;
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgba(203, 177, 138, .45);
  border-radius: 0;
  color: var(--v10-gold);
  font-size: 13px;
  letter-spacing: .1em;
  transition:
    color var(--sure-arayuz) var(--egri-arayuz),
    border-color var(--sure-arayuz) var(--egri-arayuz);
}

.expertise__all:hover,
.expertise__all:focus-visible {
  color: #e6d3b4;
  border-bottom-color: #e6d3b4;
  background: none;
}

.expertise__all svg {
  width: 15px;
  height: 15px;
  flex: none;
  transition: transform var(--sure-arayuz) var(--egri-arayuz);
}

.expertise__all:hover svg { transform: translateX(4px); }

@media (max-width: 760px) {
  .expertise__all { margin-left: 0; }
}

/* Üst menü çağrısı: ok etiketin hemen yanında durur. */
.site-header .header-contact {
  justify-content: center;
  gap: 10px;
  padding-inline: 20px;
}

.site-header .header-contact svg {
  width: 13px;
  height: 13px;
  flex: none;
  transition: transform var(--sure-arayuz) var(--egri-arayuz);
}

.site-header .header-contact:hover svg { transform: translate(2px, -2px); }

/* ==========================================================================
 * v12.6 — İletişim çağrıları
 * ====================================================================== */

/* --- Bölüm sonu çağrısı ---------------------------------------------------
 * 74 px'lik daireye metin + ok sığdırmak için punto 9 px'e düşürülmüştü.
 * Bileşen, içeriğini okunmaz kılıyordu. Sayfadaki asıl eylem diline getirilir:
 * dolu altın blok, okunur punto. */
.statement .circle-link,
.statement__link {
  width: auto;
  height: auto;
  min-height: 56px;
  padding: 19px 28px;
  border: 0;
  border-radius: 0;
  flex-direction: row;
  gap: 12px;
  color: var(--v10-ink-deep);
  background: var(--v10-gold);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .14em;
  transform: none;
  transition:
    background var(--sure-arayuz) var(--egri-arayuz),
    box-shadow var(--sure-arayuz) var(--egri-arayuz);
}

.statement .circle-link::before,
.statement__link::before {
  display: none;
}

.statement .circle-link:hover,
.statement .circle-link:focus-visible,
.statement__link:hover {
  color: var(--v10-ink-deep);
  background: #dcc49f;
  transform: none;
  box-shadow: 0 10px 26px rgba(6, 26, 25, .3);
}

.statement .circle-link svg,
.statement__link svg {
  width: 15px;
  height: 15px;
  transition: transform var(--sure-arayuz) var(--egri-arayuz);
}

.statement .circle-link:hover svg { transform: translate(3px, -3px); }

/* --- Sabit alt çubuk içeriği örtüyordu ----------------------------------
 * `.mobile-actions` 62 px + güvenli alan yüksekliğinde ve `position: fixed`.
 * Sayfada karşılık gelen boşluk yoktu; iletişim bölümünün son satırı
 * (ofis adresi) çubuğun altında kalıyordu. */
@media (max-width: 760px) {
  .site-shell {
    padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
  }
}

/* ==========================================================================
 * v12.8 — Yaklaşım adımlarında başlık/açıklama çakışması
 *
 * Adım satırları `50px 105px 393px` sabit sütunlarla kuruluydu. "Değerlendir"
 * 131 px yer kaplıyor; 105 px'lik hücreden taşıp açıklamanın üstüne biniyordu
 * (mobilde hücre 86 px, taşma 45 px). "Dinle" ve "Takip et" sığdığı için
 * kusur yalnızca tek satırda görünüyordu.
 *
 * Her satır ayrı bir ızgara ve ayıraç çizgileri satır kutusunda olduğu için
 * `display: contents` kullanılamaz. Çözüm: üst kapsayıcı ızgara olur, satırlar
 * `subgrid` ile aynı sütunları paylaşır ve başlık sütunu içeriğe göre
 * genişler — sütunlar hizalı kalır.
 * ====================================================================== */

/* Yedek: subgrid desteklemeyen tarayıcıda en uzun Türkçe etikete yeten
 * sabit genişlik. Hizalama korunur. */
#yaklasim .process > div {
  grid-template-columns: 50px 150px minmax(0, 1fr);
  column-gap: 16px;
}

@supports (grid-template-columns: subgrid) {
  @media (min-width: 761px) {
    #yaklasim .process {
      display: grid;
      grid-template-columns: 50px max-content minmax(0, 1fr);
      column-gap: 16px;
    }

    #yaklasim .process > div {
      grid-column: 1 / -1;
      grid-template-columns: subgrid;
    }
  }
}

/* Dar ekranda üç sütun sıkışıyor: başlık açıklamanın üstüne alınır. */
@media (max-width: 760px) {
  #yaklasim .process > div {
    grid-template-columns: 36px minmax(0, 1fr);
    column-gap: 14px;
    row-gap: 6px;
  }

  #yaklasim .process > div > h3,
  #yaklasim .process > div > p {
    grid-column: 2;
  }
}

/* Başlık hiçbir koşulda hücresini aşmasın. */
#yaklasim .process h3 {
  min-width: 0;
  overflow-wrap: break-word;
}

/* ==========================================================================
 * v12.9 — Sistematik denetim bulguları
 * ====================================================================== */

/* --- Koyu yüzeylerde altın metin ----------------------------------------
 * Oturumun başında koyu bölümlerdeki altın metin kontrastı düzeltilmişti,
 * ancak bölümler elle sayıldığı için `.practice-page__notice` listeye
 * girmemişti: yedi faaliyet sayfasında ve toplu sayfada "Genel bilgilendirme"
 * etiketi 2,8:1 kalıyordu. Koyu yüzeylerin tamamı tek yerde toplanır. */
.expertise,
.statement,
.practice-page__notice,
.practice-page__hero,
.site-header,
.menu-panel,
.mobile-actions,
.site-quick-actions {
  --gold-text: var(--gold-on-dark);
  --v10-gold-text: var(--gold-on-dark);
}

/* --- Faaliyet toplu sayfasındaki kart numaraları ------------------------
 * Ana sayfada 11 px tabanı uygulanmıştı; bu sayfadaki kartlar 10 px'te
 * kalmıştı. */
.practice-area__head small,
.practice-area--ozet .practice-area__head small {
  font-size: 11px;
}

/* Hukuk metni içindeki satır içi bağlantılar dokunma eşiğinin altında
 * kalıyordu (21 px). Satır akışını bozmadan yükseklik kazandırılır. */
.legal-page__article a,
.practice-page__notice a {
  display: inline-block;
  min-height: 24px;
  padding-block: 2px;
}

/* --- Hızlı erişim çubuğu (faaliyet sayfaları) ---------------------------
 * Etiketler doğrudan bağlantı içinde; daha önceki 11 px kuralı `a span`
 * hedeflediği için bu sayfalarda 10 px kalmıştı. */
.site-quick-actions a {
  font-size: 11px;
}

/* Çubuk `position: fixed`; sayfa sonunda karşılık gelen boşluk yoktu ve
 * son satırlar çubuğun altında kalıyordu. */
@media (max-width: 760px) {
  .practice-page,
  .legal-page,
  .not-found {
    padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
  }
}

/* ==========================================================
   v13.2 — Bilgilendirme kartlari: tablet araligi
   761-1023 px arasinda uc sutunlu izgara kartlarin ic
   genisligini 170 px'e dusuruyordu; 27 px'lik baslik puntosu
   "degerlendirme" gibi tek bir kelimede kutuyu 21 px asiyordu.
   Uc sutun 1200 px'in altinda kart icini 247 px'e sikistiriyor
   (1100 px'te basligin kutuya payi yalnizca 6 px kaliyordu);
   bu yuzden esik 1200 px'e tasindi. Altinda iki sutun + tam
   genislikte ucuncu kart: sutun ici 291-460 px araliginda.
   ========================================================== */
@media (min-width: 761px) and (max-width: 1199px) {
  .insights__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .insight-card { min-height: 264px; padding: 24px 24px 22px; }
  .insight-card h3 { font-size: clamp(23px, 3.1vw, 30px); line-height: 1.12; }

  .insight-card:nth-child(1),
  .insight-card:nth-child(2) { border-bottom: 1px solid rgba(9,37,34,.18); }

  .insight-card:nth-child(2) { border-right: 0; }

  .insight-card:nth-child(3) {
    grid-column: 1 / -1;
    min-height: 208px;
    border-right: 0;
  }
}

/* Son care: hicbir baslik kelimesi kutusunu asmasin. Yalnizca
   kelime satira hic sigmadiginda devreye girer. */
.insight-card h3 { overflow-wrap: break-word; }

/* ==========================================================
   v13.3 — Faaliyet sayfalarinda baslik hiyerarsisi
   "Calisma kapsami" basligi h3 idi; sayfada h2 bulunmadigi
   icin ekran okuyucularda h1 -> h3 atlamasi olusuyordu
   (WCAG 1.3.1). Etiket h2'ye alindi; gorunum korunuyor.
   ========================================================== */
.practice-area__scope h2 {
  margin: 0 0 22px;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

/* ==========================================================
   v13.4 — Bilgilendirme serido: uc sutun esigi
   `.practice-page__notice` 961 px'ten itibaren uc sutuna
   (1fr / 250px / 210px) geciyordu. Sabit iki sutun genisligi
   degismedigi icin ilk sutun 1000 px'te 304 px'e iniyor;
   baslik ise 5.6vw ile 55 px'e cikip "degerlendirilir."
   kelimesiyle kutuyu 54 px asiyordu. Esik 1200 px'e alindi.
   ========================================================== */
@media (min-width: 961px) and (max-width: 1199px) {
  .practice-page__notice {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
  .practice-page__notice > a {
    grid-column: 1 / -1;
    width: min(100%, 320px);
  }
}

/* ==========================================================
   v13.5 — Mobil menude kelime ortasindan bolunme
   Derlenmis kural `.menu-panel nav a span` icin
   clamp(32px, 10vw, 48px) veriyordu: 375 px'te 37,5 px.
   "Bilgilendirmeler" bu puntoda 294 px yer istiyor, etiket
   sutunu ise 261 px; overflow-wrap:break-word devreye girip
   kelimeyi "Bilgilendirmel / er" diye ikiye boluyordu.
   Punto en uzun etikete gore olceklendi (7.9vw).
   Not: secici derlenmis kuralla ayni ozgullukte olmali,
   `.menu-panel nav span` yetmiyor.
   ========================================================== */
@media (max-width: 760px) {
  .menu-panel nav a span { font-size: clamp(24px, 7.9vw, 48px); }
}

/* ==========================================================
   v13.6 — Acilinca gorunen icerikte 11 px alti punto
   Daha once tum kucuk puntolari 11 px'e cektim ama bu dort
   oge yalnizca mobil menu ya da faaliyet akordeonu acikken
   olculebiliyor; kapaliyken denetime hic girmemislerdi.
   Bulunanlar: menu basligi 10, menu sira numaralari 10,
   "Ayrintili bilgiyi incele" 10, danisma bagi 9 px.
   ========================================================== */
.menu-panel__intro small,
.menu-panel nav small,
.menu-panel nav a small { font-size: 11px; }

.expertise-consult { font-size: 11px; }

/* ==========================================================
   v13.7 — Ekip profil penceresi: punto ve kontrast
   Pencere yalnizca bir ekip karti tiklaninca olusturuldugu
   icin onceki denetimlerin hicbirine girmemisti. Icerideki
   dort oge hala ilk tokenlari (--gold-deep, --muted)
   kullaniyordu: kontrast 2,77 ve 4,08 — ikisi de AA altinda.
   Punto da 9-10 px'te kalmisti.
   ========================================================== */
.profile-modal__focus span small,
.profile-modal__education > div > small {
  font-size: 11px;
  color: var(--v10-gold-text);
}

.profile-modal__education p { color: var(--v10-muted); }

.profile-modal__contact { font-size: 11px; }

/* ==========================================================
   v13.8 — Form hata renginin koyu zeminde okunmasi
   `--crit-line` hic tanimlanmamis, her yerde #8c3a2e yedegi
   devreye giriyordu. Iletisim formunun zemini rgb(9,37,34)
   oldugu icin hata durumundaki etiketler 2,12:1 kontrastla
   cikiyordu (AA icin 4,5 gerekiyor); ayni renk kenarlikta da
   kullanildigi icin 1.4.11 sinirini da gecmiyordu.
   Degisken koyu yuzey icin acik kirmiziya alindi: 8,44:1.
   Hata yalnizca gonderim denemesinden sonra olustugu icin
   onceki denetimlerin hicbirine girmemisti.
   ========================================================== */
.contact-form { --crit-line: #f0aaa1; }

/* ==========================================================
   v13.9 — Mobil menu kapanmiyordu
   `.site-header` z-index 200 ile menu panelinin (150) uzerinde
   duruyordu. Menu acikken basligin COCUKLARINA
   pointer-events:none veriliyor ama basligin KENDISINE
   verilmiyordu: saydam, 74 px yuksekliginde, tam genislikte
   bir kutu o banttaki her dokunusu yutuyordu. Kapatma (x)
   dugmesi tam o bantta oldugu icin menu kapatilamiyordu;
   hamburger de ayni sebeple ise yaramiyordu (ustelik ikisi
   46x42 px ortusuyor). Panel basligin uzerine alindi ve
   baslik menu acikken dokunusa kapatildi.
   ========================================================== */
.menu-panel { z-index: 210; }

body.menu-open .site-header,
body.menu-open .scroll-progress {
  pointer-events: none;
}

/* ==========================================================
   v14.2 — Faaliyet sayfasi: genis ekranda dagilan yerlesim
   1920 px'te olculenler:
   - Giris bolumu 700 px, icerigi 281 px. Sabit min-height +
     `align-items:end` yuzunden artan bosluk hep uste yigiliyor:
     basligin ustunde 270 px olu alan.
   - Aciklama metni basliktan 120 px sagda, 162 px asagida,
     284 px'lik sutunda 15 px punto — sayfada oksuz duruyor.
   - Nav ile ilk paragraf arasi 216 px.
   - Sol sutun sag kutudan 282 px once bitiyor: kapsam listesi
     dar sutunda her maddeyi iki satira sardigi icin uzuyor.
   - Icerik 1320 px'e kilitli; 1920 px'te 862 px kullanilmiyor.
   Cozum: artan alani ustte biriktirmek yerine ortala, sutunlari
   birbirine yaklastir, kapsam kutusunu maddeler tek satira
   sigacak kadar genislet, cok genis ekranda kabi buyut.
   ========================================================== */
@media (min-width: 1200px) {
  .practice-page__hero {
    min-height: clamp(480px, 40vw, 560px);
    padding-block: clamp(86px, 7vw, 112px);
    align-content: center;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 400px);
    gap: 80px;
  }

  /* Baslikla iliskisi kurulsun: daha genis sutun, okunur punto. */
  .practice-page__hero > p {
    max-width: 44ch;
    font-size: 17px;
    line-height: 1.75;
  }

  .practice-area { padding-block: 96px; }

  /* 1200-1599: oransal. Sabit 660 px burada kapsam sutununu
     385 px'e sikistirip maddeleri iki satira sariyordu. */
  .practice-area__body {
    grid-template-columns: minmax(0, 1.22fr) minmax(360px, 1fr);
    gap: 88px;
  }

  .practice-area__copy > p { font-size: 17px; }
}

/* Cok genis ekranda icerik kabi 1320 -> 1440 px. */
@media (min-width: 1600px) {
  .practice-page__content,
  .practice-page__index { width: min(100%, 1440px); }

  /* Genis ekranda kopya sutunu okunur olcude (~68 karakter)
     sabitlenir, artan genislik kapsam kutusuna gider. */
  .practice-area__body {
    grid-template-columns: minmax(0, 660px) minmax(420px, 1fr);
  }

  .practice-page__hero {
    padding-inline: max(var(--v9-gutter), calc((100vw - 1440px) / 2 + var(--v9-gutter)));
  }
}

/* ==========================================================
   v14.3 — Tekil faaliyet sayfasinda olu girintiler
   `.practice-area__body` hub sayfasinda alanlari birbirinden
   ayirmak icin `margin: 88px 0 0 94px` tasiyor. Tekil sayfada
   ustunde ayrilacak bir sey yok ve soldaki 94 px hicbir seye
   hizalanmiyor: ikisi de saf bosluk. Kaldirilinca kapsam
   sutunu 430 -> 524 px'e cikiyor, maddeler tek satira sigiyor
   ve kutu kisaliyor; sol sutunun altindaki delik kapaniyor.
   ========================================================== */
@media (min-width: 761px) {
  .practice-page--tekil .practice-area__body {
    margin-top: 0;
    margin-left: 0;
  }
}

/* Kapsam listesi: satirlar tek satira indigi icin dikey ritim
   sikilastirildi; kutu gereksiz uzamiyor. */
@media (min-width: 1200px) {
  .practice-area__scope { padding: 36px; }
  .practice-area__scope li { padding-top: 10px; padding-bottom: 10px; }

  /* Ilk paragraf giris cumlesi: hem hiyerarsi kazandiriyor hem
     de sol sutunu sag kutuya yaklastiriyor.
     Yalniz tekil sayfada: hub'da her alanin TEK paragrafi var,
     orada bu kural giris cumlesi degil tum govde metnini
     buyuturdu. */
  .practice-page--tekil .practice-area__copy > p:first-child {
    font-size: 20px;
    line-height: 1.6;
    color: var(--v10-ink-deep);
  }
}

/* İki sütun aynı üst çizgiden başlasın: kapsam kutusunun altın
   üst kenarına karşılık kopya sütununa da ince bir çizgi. Boy
   farkı böyle bilinçli bir asimetri gibi okunur; şu an sütunlar
   birbirine hiçbir yerden bağlanmıyordu. */
@media (min-width: 761px) {
  .practice-page--tekil .practice-area__copy {
    border-top: 1px solid var(--line);
    padding-top: 34px;
  }
}

/* ==========================================================
   v14.7 — 320 px'te gövde kabını 15 px aşıyordu
   Derlenmiş CSS `body{min-width:320px}` veriyor. 320 px genişlikte
   bir pencerede klasik kaydırma çubuğu 15 px alınca kullanılabilir
   genişlik 305 px'e düşüyor, gövde ise 320 px'te ısrar ediyor:
   html 305, body 320. `overflow-x: clip` yatay kaydırmayı
   engellediği için kullanıcı çubuk görmüyor ama tam genişlikteki
   bölümlerin sağından 15 px sessizce kırpılıyor.
   Taban korunuyor, yalnızca kabı aşması engelleniyor.
   (Telefonlarda çubuk üste bindiği için orada zaten oluşmuyordu.)
   ========================================================== */
body { min-width: min(320px, 100%); }
