:root{
  --paper:#f3ede3;
  --paper-light:#f8f4ed;
  --ink:#292620;
  --muted:#756d63;
  --accent:#ad7d3e;
  --dark:#23231f;
  --header-height:96px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Roboto",Arial,sans-serif;
  font-weight:400;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}

/* HEADER */
.header{
  position:fixed;
  z-index:50;
  top:0;
  left:0;
  width:100%;
  height:var(--header-height);
  padding:0 max(5vw,32px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:rgba(248,244,237,.93);
  border-bottom:1px solid rgba(58,48,38,.08);
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
  transition:height .3s ease,box-shadow .3s ease,background .3s ease;
}
.header.is-scrolled{
  height:82px;
  background:rgba(248,244,237,.97);
  box-shadow:0 12px 38px rgba(45,36,28,.08);
}
.logo{display:flex;flex-direction:column;align-items:flex-start}
.logo strong{
  font-family:"Dancing Script","Segoe Script","Brush Script MT",cursive;
  font-size:clamp(38px,3vw,54px);
  font-weight:600;
  line-height:.9;
  letter-spacing:0;
  white-space:nowrap;
  text-transform:none;
}
.logo span{
  margin-top:9px;
  font-family:"Roboto",Arial,sans-serif;
  font-size:9px;
  font-weight:500;
  letter-spacing:.29em;
  text-transform:uppercase;
}
.header nav,footer nav{
  display:flex;
  align-items:center;
  gap:42px;
  font-size:13px;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.13em;
}
.header nav a{position:relative;padding:11px 0;color:#37332d;opacity:.84;transition:.25s ease}
.header nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:3px;
  height:1px;
  background:var(--accent);
  transition:right .3s ease;
}
.header nav a:hover{opacity:1;color:#8e602a}
.header nav a:hover::after{right:0}
.menu{display:none;border:0;background:none;width:36px;height:36px;padding:7px;cursor:pointer}
.menu span{display:block;height:1px;background:var(--ink);margin:6px 0;transition:.3s ease}

/* HERO */
.hero{
  position:relative;
  isolation:isolate;
  width:min(100%,1440px);
  height:clamp(650px,calc(100vh - var(--header-height)),790px);
  margin:var(--header-height) auto 0;
  overflow:hidden;
  background:
    radial-gradient(circle at 17% 18%,rgba(255,255,255,.58),transparent 31%),
    repeating-linear-gradient(92deg,rgba(91,68,45,.018) 0 1px,transparent 1px 7px),
    var(--paper);
}
.hero-media{
  position:absolute;
  z-index:1;
  inset:0 0 0 31%;
  overflow:hidden;
  background:var(--paper);
}
.hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity 1.35s ease,visibility 1.35s ease;
}
.hero-slide.is-active{opacity:1;visibility:visible}
.hero-slide.is-missing{display:none}
.hero-slide img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:right center;
  transform:scale(1.015);
  transform-origin:70% 50%;
}
.hero-slide.is-active img{animation:heroZoom 8s ease-out both}
@keyframes heroZoom{
  from{transform:scale(1.015) translate3d(0,0,0)}
  to{transform:scale(1.065) translate3d(-.6%,0,0)}
}

/* Fırça izi: görselin içine doğru uzanan, yumuşak ve düzensiz tuval kenarı */
.hero-media::before{
  content:"";
  position:absolute;
  z-index:7;
  left:-1px;
  top:-2%;
  width:34%;
  height:104%;
  background:var(--paper);
  clip-path:polygon(
    0 0,78% 0,70% 4%,83% 8%,71% 13%,86% 18%,67% 23%,81% 29%,72% 35%,88% 40%,69% 46%,84% 52%,66% 58%,82% 64%,70% 70%,87% 76%,68% 82%,80% 88%,72% 94%,84% 100%,0 100%
  );
  pointer-events:none;
}
.hero-media::after{
  content:"";
  position:absolute;
  z-index:8;
  left:17%;
  top:-5%;
  width:25%;
  height:110%;
  background:linear-gradient(90deg,var(--paper) 0%,rgba(243,237,227,.96) 26%,rgba(243,237,227,.70) 56%,rgba(243,237,227,0) 100%);
  filter:blur(13px);
  opacity:.95;
  pointer-events:none;
}
.hero-copy{
  position:relative;
  z-index:12;
  width:44%;
  padding:clamp(125px,16vh,175px) 0 0 max(6vw,62px);
}
.hero-kicker{
  display:block;
  margin-bottom:22px;
  font-size:9px;
  font-weight:600;
  letter-spacing:.28em;
  color:#8c7a64;
}
.hero h1{
  margin:0;
  font-size:clamp(57px,6.3vw,96px);
  font-weight:300;
  line-height:.91;
  letter-spacing:-.045em;
}
.paint-line{
  display:block;
  width:98px;
  height:9px;
  margin:31px 0 26px;
  background:var(--accent);
  clip-path:polygon(0 43%,13% 31%,40% 37%,66% 21%,100% 47%,75% 63%,45% 56%,12% 70%);
}
.hero p{
  max-width:300px;
  margin:0 0 36px;
  color:#5f594f;
  font-size:15px;
  font-weight:400;
  line-height:1.75;
}
.link{
  display:inline-flex;
  align-items:center;
  gap:20px;
  padding-bottom:8px;
  border-bottom:1px solid #8b7b68;
  font-size:10px;
  font-weight:600;
  letter-spacing:.14em;
  transition:color .25s ease,border-color .25s ease,gap .25s ease;
}
.link:hover{color:#946128;border-color:#946128;gap:27px}
.hero-dots{
  position:absolute;
  z-index:15;
  right:34px;
  bottom:28px;
  display:flex;
  gap:9px;
}
.hero-dot{
  width:22px;
  height:2px;
  padding:0;
  border:0;
  background:rgba(55,48,41,.28);
  cursor:pointer;
  transition:width .3s ease,background .3s ease;
}
.hero-dot.is-active{width:42px;background:var(--accent)}

/* KOLEKSİYON KARTLARI */
.art-categories{
  width:min(calc(100% - 64px),1376px);
  min-height:455px;
  margin:30px auto 26px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  overflow:hidden;
  background:#121212;
  box-shadow:0 18px 48px rgba(43,34,26,.14);
}
.art-card{
  position:relative;
  isolation:isolate;
  min-height:455px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  text-align:center;
  border-right:1px solid rgba(255,255,255,.15);
}
.art-card:last-child{border-right:0}
.art-card::before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:-4%;
  background-image:var(--card-bg);
  background-size:cover;
  background-position:center;
  filter:saturate(.78) contrast(1.05);
  transform:scale(1.02);
  transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .7s ease;
}
.art-card::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(180deg,rgba(5,5,5,.18),rgba(5,5,5,.32) 44%,rgba(5,5,5,.74));
  transition:background .5s ease;
}
.art-card__content{width:86%;transform:translateY(17px);transition:transform .5s ease}
.art-card__content small{
  display:block;
  margin-bottom:14px;
  font-size:9px;
  letter-spacing:.30em;
  opacity:0;
  transform:translateY(8px);
  transition:.4s ease;
}
.art-card__content strong{
  display:block;
  font-size:clamp(25px,2.1vw,37px);
  font-weight:600;
  line-height:1.08;
  text-shadow:0 5px 24px rgba(0,0,0,.5);
}
.art-card__content em{
  display:block;
  margin-top:17px;
  font-size:10px;
  font-style:normal;
  font-weight:500;
  letter-spacing:.16em;
}
.art-card__content i{display:block;width:70px;height:2px;margin:17px auto 14px;background:#d27d34;transform:scaleX(.48);transition:.4s ease}
.art-card__content b{display:inline-flex;align-items:center;gap:9px;font-size:9px;letter-spacing:.17em;opacity:0;transform:translateY(8px);transition:.4s ease}
.art-card:hover::before{transform:scale(1.11);filter:saturate(1.05) contrast(1.08)}
.art-card:hover::after{background:linear-gradient(180deg,rgba(5,5,5,.08),rgba(5,5,5,.23) 48%,rgba(5,5,5,.70))}
.art-card:hover .art-card__content{transform:translateY(0)}
.art-card:hover small,.art-card:hover b{opacity:1;transform:translateY(0)}
.art-card:hover i{transform:scaleX(1)}

/* ESERLER */
.works{width:min(100%,1440px);margin:auto;padding:82px max(5vw,32px) 92px;text-align:center;background:var(--paper-light)}
.section-heading span{display:block;margin-bottom:9px;color:#9a7952;font-size:9px;font-weight:600;letter-spacing:.28em}
.section-heading h2{margin:0 0 40px;font-size:20px;font-weight:500;letter-spacing:.16em}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.grid figure{position:relative;margin:0;aspect-ratio:1.15/1;overflow:hidden;background:#ddd4c8}
.grid img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.grid figure:hover img{transform:scale(1.065);filter:saturate(1.05)}
.grid figcaption{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:42px 12px 16px;
  color:#fff;
  font-size:17px;
  font-weight:500;
  background:linear-gradient(transparent,rgba(0,0,0,.76));
  opacity:0;
  transform:translateY(8px);
  transition:.35s ease;
}
.grid figure:hover figcaption{opacity:1;transform:none}
.center{margin-top:34px}

/* HAKKIMDA */
.about{
  width:min(100%,1440px);
  min-height:410px;
  margin:auto;
  display:flex;
  align-items:center;
  color:#f5eee4;
  background:
    linear-gradient(90deg,rgba(38,34,29,.98) 0%,rgba(38,34,29,.90) 37%,rgba(38,34,29,.45) 68%,rgba(38,34,29,.18)),
    url('images/hero.png') right 72%/cover no-repeat;
}
.about-copy{padding:65px max(6vw,62px)}
.about-copy>span{font-size:9px;font-weight:600;letter-spacing:.28em;color:#d2ad80}
.about h2{margin:15px 0 22px;font-size:clamp(35px,4vw,58px);font-weight:300;line-height:1.06;letter-spacing:-.03em}
.about p{max-width:350px;margin:0 0 30px;color:#d9d0c5;font-size:15px;line-height:1.7}
.light{border-color:#d5c2ab}

/* FOOTER */
footer{
  width:min(100%,1440px);
  min-height:235px;
  margin:auto;
  padding:52px max(6vw,42px) 24px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:28px;
  align-items:start;
  color:#ece4d8;
  background:var(--dark);
}
footer .logo strong{font-size:44px}
footer nav{font-size:10px;gap:32px}
footer .social{text-align:right;font-size:20px}
footer small{grid-column:1/-1;text-align:center;color:#969189;font-size:11px}

.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.reveal.in-view{opacity:1;transform:none}

@media(max-width:1000px){
  .hero-media{inset:0 0 0 20%}
  .hero-media::before{width:38%}
  .hero-media::after{left:20%;width:25%}
  .hero-copy{width:51%}
  .art-categories{grid-template-columns:repeat(2,1fr)}
  .art-card{min-height:390px}
  .grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:800px){
  :root{--header-height:78px}

  .header{
    height:78px;
    padding:0 22px;
  }
  .header.is-scrolled{height:72px}

  .logo strong{
    font-size:34px;
    line-height:.88;
  }
  .logo span{
    margin-top:7px;
    font-size:8px;
  }

  .menu{
    display:block;
    position:relative;
    z-index:55;
  }

  .header nav{
    position:absolute;
    top:78px;
    left:0;
    right:0;
    display:flex;
    flex-direction:column;
    gap:0;
    padding:12px 22px 22px;
    background:rgba(248,244,237,.99);
    box-shadow:0 18px 32px rgba(0,0,0,.08);
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px);
    transition:.3s ease;
  }
  .header nav.open{
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .header nav a{
    width:100%;
    padding:15px 0;
    border-bottom:1px solid rgba(0,0,0,.07);
  }

  /* Mobil hero: metin ve görsel artık birbirinin üstüne binmez */
  .hero{
    height:auto;
    min-height:0;
    margin-top:78px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    background:
      radial-gradient(circle at 16% 14%,rgba(255,255,255,.58),transparent 34%),
      repeating-linear-gradient(92deg,rgba(91,68,45,.018) 0 1px,transparent 1px 7px),
      var(--paper);
  }

  .hero-copy{
    order:1;
    position:relative;
    z-index:12;
    width:100%;
    min-height:350px;
    padding:58px 28px 48px;
    background:
      radial-gradient(circle at 12% 15%,rgba(255,255,255,.60),transparent 38%),
      repeating-linear-gradient(92deg,rgba(91,68,45,.016) 0 1px,transparent 1px 7px),
      var(--paper);
  }

  .hero-kicker{
    margin-bottom:17px;
    font-size:8px;
    letter-spacing:.25em;
  }

  .hero h1{
    max-width:360px;
    font-size:clamp(44px,12.3vw,55px);
    line-height:.88;
    letter-spacing:-.052em;
  }

  .paint-line{
    width:92px;
    margin:27px 0 24px;
  }

  .hero p{
    max-width:285px;
    margin-bottom:30px;
    font-size:14px;
    line-height:1.65;
  }

  .hero-media{
    order:2;
    position:relative;
    inset:auto;
    width:100%;
    height:clamp(400px,112vw,520px);
    min-height:400px;
    overflow:hidden;
    background:var(--paper);
  }

  /* Mobilde görsel ekranı doldurur; boşluk ve minik görsel sorunu oluşmaz */
  .hero-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center bottom;
    transform:scale(1.01);
    transform-origin:58% 55%;
  }

  /* Metinden görsele geçen sanatsal fırça/tuval kenarı */
  .hero-media::before{
    display:block;
    left:0;
    top:-1px;
    width:100%;
    height:86px;
    background:var(--paper);
    clip-path:polygon(
      0 0,100% 0,100% 30%,92% 39%,84% 32%,74% 48%,64% 37%,
      53% 54%,43% 39%,32% 51%,21% 42%,10% 56%,0 47%
    );
  }

  .hero-media::after{
    left:0;
    top:0;
    width:100%;
    height:118px;
    background:linear-gradient(
      180deg,
      var(--paper) 0%,
      rgba(243,237,227,.93) 23%,
      rgba(243,237,227,.56) 54%,
      rgba(243,237,227,0) 100%
    );
    filter:blur(4px);
    opacity:.95;
  }

  .hero-dots{
    right:18px;
    bottom:16px;
  }

  .art-categories{
    width:calc(100% - 28px);
    margin-top:18px;
    grid-template-columns:1fr 1fr;
  }
  .art-card{min-height:330px}

  .works{padding:62px 20px 72px}
  .grid{gap:12px}

  .about{
    min-height:390px;
    background-position:62% center;
  }
  .about-copy{padding:55px 28px}

  footer{
    grid-template-columns:1fr;
    text-align:center;
    padding:44px 26px 24px;
  }
  footer .logo{align-items:center}
  footer nav{
    justify-content:center;
    flex-wrap:wrap;
  }
  footer .social{text-align:center}
  footer small{grid-column:1}
}

@media(max-width:540px){
  .hero-copy{
    min-height:342px;
    padding:52px 27px 42px;
  }

  .hero h1{
    max-width:330px;
    font-size:clamp(42px,12.1vw,49px);
  }

  .hero-media{
    height:clamp(405px,118vw,485px);
    min-height:405px;
  }

  .hero-slide img{
    object-position:58% bottom;
  }

  .art-categories{grid-template-columns:1fr}
  .art-card{min-height:315px}

  .grid{grid-template-columns:1fr}
  .grid figure{aspect-ratio:1.35/1}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* =========================================================
   MOBİL HERO — yazılar görselin üzerinde, görsel sağ tarafta
   ========================================================= */
@media (max-width:800px){
  :root{--header-height:78px}

  .hero{
    position:relative;
    display:block;
    width:100%;
    height:calc(100svh - 78px);
    min-height:640px;
    max-height:780px;
    margin-top:78px;
    overflow:hidden;
    background:var(--paper);
  }

  .hero-media{
    position:absolute;
    z-index:1;
    inset:0;
    width:100%;
    height:100%;
    background:var(--paper);
  }

  .hero-slide{
    position:absolute;
    inset:0;
  }

  .hero-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:66% center;
    transform:scale(1.015);
    transform-origin:68% 50%;
  }

  /* Sol tarafta okunabilir alan, sağ tarafta tablo/görsel */
  .hero::before{
    content:"";
    position:absolute;
    z-index:5;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(
        90deg,
        rgba(243,237,227,1) 0%,
        rgba(243,237,227,.99) 30%,
        rgba(243,237,227,.94) 48%,
        rgba(243,237,227,.66) 61%,
        rgba(243,237,227,.18) 74%,
        rgba(243,237,227,0) 88%
      );
  }

  /* Fırça izi hissi: yazı alanı görsele doğru düzensiz uzar */
  .hero::after{
    content:"";
    position:absolute;
    z-index:6;
    left:48%;
    top:-3%;
    width:27%;
    height:106%;
    pointer-events:none;
    background:var(--paper);
    opacity:.55;
    filter:blur(5px);
    clip-path:polygon(
      0 0,58% 0,43% 5%,68% 10%,39% 16%,72% 22%,45% 29%,
      76% 36%,38% 43%,70% 50%,44% 58%,78% 65%,41% 73%,
      68% 80%,47% 88%,74% 94%,54% 100%,0 100%
    );
  }

  .hero-copy{
    position:relative;
    z-index:12;
    width:64%;
    height:100%;
    min-height:0;
    padding:54px 0 42px 28px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    background:none;
  }

  .hero-kicker{
    margin:0 0 17px;
    font-size:8px;
    letter-spacing:.23em;
  }

  .hero h1{
    max-width:250px;
    margin:0;
    font-size:clamp(39px,10.7vw,49px);
    line-height:.88;
    letter-spacing:-.055em;
  }

  .paint-line{
    width:88px;
    margin:24px 0 23px;
  }

  .hero p{
    max-width:215px;
    margin:0 0 27px;
    font-size:13px;
    line-height:1.55;
  }

  .hero .link{
    font-size:9px;
    letter-spacing:.12em;
    white-space:nowrap;
  }

  .hero-media::before,
  .hero-media::after{
    display:none;
  }

  .hero-dots{
    z-index:15;
    right:15px;
    bottom:14px;
  }

  .art-categories{
    margin-top:18px;
  }
}

@media (max-width:540px){
  .hero{
    min-height:620px;
    height:calc(100svh - 78px);
    max-height:735px;
  }

  .hero-slide img{
    object-position:68% center;
  }

  .hero-copy{
    width:65%;
    padding:45px 0 34px 26px;
  }

  .hero h1{
    max-width:230px;
    font-size:clamp(37px,10.5vw,45px);
  }

  .hero p{
    max-width:205px;
    font-size:12.5px;
  }
}

@media (max-width:390px){
  .hero-copy{
    width:68%;
    padding-left:22px;
  }

  .hero h1{
    font-size:37px;
  }

  .hero p{
    max-width:185px;
  }
}
