  :root{
    --cream: #FBF7F3;
    --cream-2: #F5EFE9;
    --plum: #46293F;
    --plum-deep: #2E1B2A;
    --rose: #C77E8D;
    --rose-soft: #E9C9CD;
    --rose-tint: #F4E4E4;
    --ink: #2B2530;
    --ink-soft: #5B5560;
    --gold: #A9834F;
    --line: rgba(43,37,48,0.12);
    --max: 1180px;
  }

  *{ box-sizing: border-box; }
  html{ scroll-behavior: smooth; }
  body{
    margin:0;
    background: var(--cream);
    color: var(--ink);
    font-family: 'Work Sans', sans-serif;
    font-weight: 400;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
  }
  img{ max-width:100%; display:block; }

  h1,h2,h3, .serif{
    font-family: 'Fraunces', serif;
    font-weight: 500;
    color: var(--plum-deep);
    letter-spacing: 0.002em;
  }

  .wrap{ max-width: var(--max); margin: 0 auto; padding: 0 32px; }

  a{ color: inherit; }

  /* language toggling */
  html[data-lang="de"] .lang-tr{ display:none !important; }
  html[data-lang="tr"] .lang-de{ display:none !important; }

  /* ---------- HEADER ---------- */
  header{
    position: sticky; top:0; z-index: 50;
    background: rgba(251,247,243,0.92);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--line);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding: 18px 32px;
    max-width: var(--max); margin:0 auto;
  }
  .brand{ display:flex; align-items:center; gap:12px; text-decoration:none; }
  .brand img{ width:32px; height:auto; flex-shrink:0; }
  .brand-text{ display:flex; flex-direction:column; line-height:1.15; }
  .brand-text strong{ font-family:'Fraunces',serif; font-size:1.05rem; color:var(--plum-deep); font-weight:500;}
  .brand-text span{ font-size:0.72rem; color: var(--ink-soft); letter-spacing:0.02em; }

  nav.links{ display:flex; align-items:center; gap:36px; }
  nav.links a{
    text-decoration:none; color: var(--ink);
    font-size: 0.95rem;
    position:relative;
    padding-bottom:4px;
  }
  nav.links a::after{
    content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
    background: var(--rose); transform: scaleX(0); transform-origin: left;
    transition: transform .25s ease;
  }
  nav.links a:hover::after{ transform: scaleX(1); }

  .lang-toggle{
    display:flex; border:1px solid var(--plum-deep); border-radius:999px;
    overflow:hidden; font-size:0.82rem; flex-shrink:0;
  }
  .lang-toggle button{
    border:none; background:transparent; padding:7px 15px; cursor:pointer;
    font-family:'Work Sans',sans-serif; color: var(--plum-deep); font-weight:500;
  }
  .lang-toggle button.active{ background: var(--plum-deep); color: var(--cream); }

  .links-mobile{
    display:none; gap: 22px; padding: 0 32px 16px;
    max-width: var(--max); margin: 0 auto; overflow-x:auto;
  }
  .links-mobile a{ text-decoration:none; color: var(--ink); font-size:0.9rem; white-space:nowrap; }

  /* ---------- HERO ---------- */
  .hero{
    display:grid; grid-template-columns: 1.05fr 0.95fr; align-items:stretch;
    min-height: 82vh;
  }
  .hero-copy{
    display:flex; flex-direction:column; justify-content:center;
    padding: 64px 64px 64px 32px;
    max-width: 620px;
  }
  .eyebrow{
    font-size:0.95rem; color: var(--rose); font-style:italic; font-family:'Fraunces',serif;
    margin: 0 0 18px;
  }
  .hero h1{
    font-size: clamp(2.4rem, 4.2vw, 3.6rem);
    line-height: 1.08; margin: 0 0 20px;
  }
  .hero .lead{
    font-size:1.15rem; color: var(--ink-soft); max-width: 46ch; margin: 0 0 32px;
  }
  .hero-meta{
    display:flex; gap:28px; margin-top: 8px; padding-top:28px; border-top: 1px solid var(--line);
  }
  .hero-meta div{ font-size:0.85rem; color: var(--ink-soft); }
  .hero-meta strong{ display:block; font-family:'Fraunces',serif; font-size:1.05rem; color:var(--plum-deep); font-weight:500; }

  .hero-image{
    position:relative;
    background: var(--rose-tint);
    overflow:hidden;
  }
  .hero-image img{
    width:100%; height:100%; object-fit:cover; object-position: 60% 20%;
  }
  .hero-image::before{
    content:""; position:absolute; inset:0;
    background: linear-gradient(180deg, rgba(70,41,63,0) 55%, rgba(46,27,42,0.28) 100%);
  }

  .btn{
    display:inline-flex; align-items:center; gap:10px; width: fit-content;
    padding: 14px 26px; border-radius: 999px;
    background: var(--plum-deep); color: var(--cream); text-decoration:none;
    font-size:0.95rem; font-weight:500; border:1px solid var(--plum-deep);
    transition: background .2s ease, color .2s ease;
  }
  .btn:hover{ background: transparent; color: var(--plum-deep); }
  .btn.outline{ background:transparent; color: var(--plum-deep); }
  .btn.outline:hover{ background: var(--plum-deep); color: var(--cream); }

  /* ---------- SECTION GENERIC ---------- */
  section{ padding: 108px 0; }
  .section-head{ max-width: 640px; margin-bottom: 56px; }
  .kicker{
    font-family:'Fraunces',serif; font-style: italic; color: var(--rose);
    font-size:1rem; margin: 0 0 10px;
  }
  .section-head h2{ font-size: clamp(1.9rem, 3vw, 2.6rem); margin:0; line-height:1.15; }

  /* ---------- ABOUT ---------- */
  .about{ background: var(--cream-2); }
  .about-grid{
    display:grid; grid-template-columns: 0.9fr 1.1fr; gap:72px; align-items:start;
  }
  .about-image{
    position:sticky; top: 110px;
    border-radius: 4px; overflow:hidden;
    box-shadow: 0 30px 60px -30px rgba(46,27,42,0.35);
  }
  .about-image img{ width:100%; }
  .about-text p{
    font-size:1.06rem; color: var(--ink); margin: 0 0 22px; max-width: 62ch;
  }
  .about-text p:first-of-type::first-letter{
    font-family:'Fraunces',serif; font-size: 3.2rem; float:left; line-height:0.8;
    padding: 6px 10px 0 0; color: var(--rose); font-weight:500;
  }
  .credentials{
    margin-top: 40px; padding-top: 32px; border-top:1px solid var(--line);
    display:flex; flex-direction:column; gap:18px;
  }
  .credential{ display:flex; gap:18px; align-items:baseline; }
  .credential .year{ font-family:'Fraunces',serif; color: var(--rose); font-size:1.1rem; min-width: 64px; font-weight:500;}
  .credential .desc{ color: var(--ink-soft); font-size:0.98rem; }

  /* ---------- APPROACH / SERVICES ---------- */
  .approach{ background: var(--cream); }
  .approach-list{
    display:grid; grid-template-columns: repeat(2, 1fr); gap: 1px;
    background: var(--line); border: 1px solid var(--line); border-radius: 6px; overflow:hidden;
  }
  .approach-item{
    background: var(--cream); padding: 40px 38px;
    display:flex; flex-direction:column; gap:14px;
  }
  .approach-item .mark{ width:30px; height:30px; }
  .approach-item h3{ font-size:1.28rem; margin:0; font-weight:500; }
  .approach-item p{ margin:0; color: var(--ink-soft); font-size:0.98rem; }

  /* ---------- QUOTE / PHILOSOPHY ---------- */
  .philosophy{
    background: var(--plum-deep); color: var(--cream);
    position:relative; overflow:hidden;
  }
  .philosophy .wrap{ position:relative; z-index:2; }
  .philosophy blockquote{
    font-family:'Fraunces',serif; font-style:italic; font-weight:400;
    font-size: clamp(1.5rem, 3vw, 2.15rem); line-height:1.45;
    max-width: 900px; margin: 0 0 28px; color: var(--cream);
  }
  .philosophy cite{ font-style:normal; color: var(--rose-soft); font-size:0.95rem; }
  .philosophy .petal-bg{
    position:absolute; right:-80px; top:-60px; width:420px; height:auto; opacity:0.14;
  }

  /* ---------- CONTACT ---------- */
  .contact{ background: var(--rose-tint); }
  .contact-grid{
    display:grid; grid-template-columns: 1fr 1fr; gap: 64px;
  }
  .contact-card{
    background: var(--cream); border-radius: 6px; padding: 44px;
    border: 1px solid var(--line);
  }
  .contact-card h3{ margin:0 0 24px; font-size:1.3rem; font-weight:500; }
  .contact-row{
    display:flex; gap:16px; padding: 14px 0; border-top: 1px solid var(--line);
  }
  .contact-row:first-of-type{ border-top:none; }
  .contact-row .label{ min-width: 110px; color: var(--ink-soft); font-size:0.88rem; padding-top:2px;}
  .contact-row a, .contact-row span{ text-decoration:none; font-size:1rem; }
  .contact-row a:hover{ color: var(--rose); }
  .note-box{
    display:flex; flex-direction:column; gap:22px; justify-content:center;
  }
  .note-box h3{ font-size:1.3rem; margin:0; font-weight:500; }
  .note-box p{ color: var(--ink-soft); margin:0; max-width:44ch; }

  /* ---------- FOOTER ---------- */
  footer{
    padding: 48px 0; border-top:1px solid var(--line);
    display:flex; align-items:center; justify-content:space-between; gap:24px;
    flex-wrap:wrap;
  }
  footer .brand img{ width:26px; }
  footer .fine{ color: var(--ink-soft); font-size:0.85rem; }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 920px){
    nav.links{ display:none; }
    .links-mobile{ display:flex; }
    .hero{ grid-template-columns: 1fr; }
    .hero-image{ order:-1; height: 52vh; }
    .hero-copy{ padding: 48px 24px; max-width:none; }
    .about-grid{ grid-template-columns:1fr; }
    .about-image{ position:static; }
    .approach-list{ grid-template-columns: 1fr; }
    .contact-grid{ grid-template-columns:1fr; gap:40px; }
    section{ padding: 72px 0; }
    .wrap{ padding: 0 22px; }
  }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *{ transition:none !important; }
  }

  /* ---------- LEGAL PAGES ---------- */
  .legal-hero{ padding: 64px 0 32px; border-bottom: 1px solid var(--line); }
  .legal-hero h1{ font-size: clamp(1.8rem, 3vw, 2.4rem); margin: 0 0 12px; }
  .legal-hero p{ color: var(--ink-soft); margin:0; }
  .legal-body{ padding: 56px 0 100px; }
  .legal-body .wrap{ max-width: 780px; }
  .legal-body h2{ font-size: 1.35rem; margin: 44px 0 14px; font-weight: 500; }
  .legal-body h2:first-of-type{ margin-top:0; }
  .legal-body p{ margin: 0 0 16px; color: var(--ink); font-size: 1rem; }
  .legal-body ul{ margin: 0 0 16px; padding-left: 20px; color: var(--ink); }
  .legal-body li{ margin-bottom: 8px; }
  .legal-body a{ color: var(--rose); text-decoration: underline; text-underline-offset: 3px; }
  .back-link{
    display:inline-flex; align-items:center; gap:8px; text-decoration:none;
    color: var(--ink-soft); font-size:0.9rem; margin-bottom: 20px;
  }
  .back-link:hover{ color: var(--plum-deep); }

  .legal-nav{ display:flex; gap: 8px; margin-top: 10px; }
  .legal-nav a{
    text-decoration:none; color: var(--ink-soft); font-size: 0.85rem;
  }
  .legal-nav a:hover{ color: var(--plum-deep); }

  footer .legal-links{
    display:flex; gap: 18px; font-size: 0.85rem;
  }
  footer .legal-links a{ text-decoration:none; color: var(--ink-soft); }
  footer .legal-links a:hover{ color: var(--plum-deep); }
  footer .foot-bottom{
    display:flex; justify-content:space-between; align-items:center;
    flex-wrap:wrap; gap:16px; width:100%;
  }

  /* ---------- COOKIE BANNER ---------- */
  #cookie-banner{
    position: fixed; left: 20px; right:20px; bottom: 20px; z-index: 200;
    max-width: 620px; margin: 0 auto;
    background: var(--plum-deep); color: var(--cream);
    border-radius: 10px; padding: 24px 26px;
    box-shadow: 0 24px 60px -18px rgba(0,0,0,0.45);
    display:flex; flex-direction:column; gap:16px;
    transform: translateY(140%); transition: transform .45s ease;
  }
  #cookie-banner.visible{ transform: translateY(0); }
  #cookie-banner p{ margin:0; font-size:0.92rem; line-height:1.55; color: var(--cream); }
  #cookie-banner a{ color: var(--rose-soft); text-decoration: underline; }
  .cookie-actions{ display:flex; gap:12px; flex-wrap:wrap; }
  .cookie-actions button{
    border-radius: 999px; padding: 10px 20px; font-size:0.88rem; cursor:pointer;
    font-family:'Work Sans',sans-serif; font-weight:500; border:1px solid var(--cream);
  }
  .cookie-actions .cookie-accept{ background: var(--cream); color: var(--plum-deep); }
  .cookie-actions .cookie-decline{ background: transparent; color: var(--cream); }

  @media (max-width: 640px){
    #cookie-banner{ left:14px; right:14px; bottom:14px; padding:20px; }
  }
