/* SC Kirpik V4 — gerçek HTML tipografisi, bağımsız fotoğraflar, Bézier maskeler. */
@font-face {
  font-family:"SC Manrope";
  src:url("../assets/fonts/Manrope-Variable.ttf") format("truetype");
  font-weight:200 800;
  font-style:normal;
  font-display:swap
}
@font-face {
  font-family:"SC Six Caps";
  src:url("../assets/fonts/SixCaps.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap
}
@font-face {
  font-family:"SC Cormorant";
  src:url("../assets/fonts/CormorantGaramond-Italic.ttf") format("truetype");
  font-weight:300 700;
  font-style:italic;
  font-display:swap
}
@font-face {
  font-family:"SC Anton";
  src:url("../assets/fonts/Anton-Regular.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap
}
:root {
  --red-deep:#530006;
  --red-satin:#690007;
  --red-mid:#8c000c;
  --red-hot:#8e000d;
  --ink:#0b0b0b;
  --white:#fff;
  --sans:"SC Manrope",Arial,sans-serif;
  --display:"SC Six Caps","Arial Narrow",sans-serif;
  --serif:"SC Cormorant",Georgia,serif;
  --gutter:16px;
  --header-h:70px
}
*,*::before,*::after {
  box-sizing:border-box
}
html {
  scroll-behavior:auto
}
body {
  margin:0;
  background:var(--white);
  color:var(--ink);
  font:400 16px/1.5 var(--sans);
  text-rendering:optimizeLegibility
}
img {
  max-width:100%;
  display:block
}
button {
  font:inherit;
  color:inherit;
  background:transparent;
  border:0;
  padding:0
}
a {
  color:inherit
}
figure,p,h1,h2 {
  margin:0
}
.svg-defs {
  position:absolute;
  width:0;
  height:0;
  overflow:hidden
}
a,button {
  -webkit-tap-highlight-color:transparent
}
a:focus-visible,button:focus-visible {
  outline:2px solid #b30018;
  outline-offset:4px
}
.header a:focus-visible,.header button:focus-visible,.hero a:focus-visible,.strip a:focus-visible,.cta-band a:focus-visible {
  outline-color:#fff
}
.skip {
  position:absolute;
  left:12px;
  top:-80px;
  z-index:50;
  padding:10px 14px;
  min-height:44px;
  background:#fff;
  color:#111
}
.skip:focus {
  top:12px
}
/* Header remains in page flow. The reference has no floating overlay nav. */
.header {
  position:relative;
  z-index:5;
  color:#fff;
  background:linear-gradient(100deg,#98000c,#680006)
}
.header__bar {
  min-height:var(--header-h);
  padding:0 var(--gutter);
  display:flex;
  align-items:center;
  gap:16px
}
.brand {
  min-width:0
}
.brand__name {
  font-family:"SC Anton",var(--sans);
  font-size:30px;
  font-weight:400;
  line-height:1.08;
  letter-spacing:.045em;
  white-space:nowrap
}
.brand__service {
  margin-top:5px;
  font-family:var(--sans);
  font-size:10px;
  font-weight:600;
  line-height:1;
  letter-spacing:.29em;
  white-space:nowrap
}
.menu-btn {
  display:none;
  flex:0 0 44px;
  width:44px;
  height:44px;
  margin-left:auto;
  align-items:center;
  justify-content:center;
  cursor:pointer
}
.menu-btn__icon {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  width:23px;
  height:17px
}
.menu-btn__icon span {
  height:1.5px;
  background:currentColor;
  width:100%;
  display:block
}
.nav {
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:8px var(--gutter) 16px
}
.nav a {
  display:flex;
  align-items:center;
  min-height:44px;
  color:inherit;
  text-decoration:none;
  font-size:12px;
  font-weight:600;
  letter-spacing:.1em
}
.nav a:hover {
  text-decoration:underline;
  text-underline-offset:4px
}
.js .menu-btn {
  display:inline-flex
}
.js .nav:not(.is-open) {
  display:none
}
.js .nav.is-open {
  position:absolute;
  top:100%;
  left:0;
  right:0;
  z-index:6;
  display:flex;
  background:#fff;
  color:#111;
  border-bottom:1px solid #dedede;
  padding:10px var(--gutter) 14px
}
/* Shared imagery: no transform zooming one source into several sections. */
.frame {
  position:relative;
  overflow:hidden;
  background:#b18b76
}
.frame picture,.frame img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block
}
.frame img {
  object-fit:cover
}
.frame.is-broken img {
  opacity:0
}
.frame.is-broken::after {
  content:"Görsel yüklenemedi";
  position:absolute;
  left:16px;
  bottom:16px;
  color:#fff;
  font-size:14px
}
.hero {
  background:var(--red-deep)
}
.frame--hero {
  aspect-ratio:1 / 1.40;
  background:var(--red-deep)
}
.frame--hero img {
  object-position:58% 50%
}
.hero__veil {
  display:none
}
.hero__content {
  position:absolute;
  z-index:1;
  left:0;
  right:0;
  bottom:45px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  color:#fff;
  padding:0 12px
}
.hero__word {
  font-family:var(--display);
  font-weight:400;
  font-size:44vw;
  line-height:.86;
  letter-spacing:.15em;
  white-space:nowrap;
  transform:none;
  margin:0 0 35px;
  padding-left:.15em
}
.hero__italic,.display-serif,.strip h2,.detail h2,.cta-band__italic {
  font-family:var(--serif);
  font-style:italic;
  font-weight:500;
  letter-spacing:-.045em
}
.hero__italic {
  font-size:15.7vw;
  line-height:.96;
  letter-spacing:-.015em;
  white-space:nowrap;
  margin:0 0 16px
}
.cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:44px;
  text-decoration:none;
  color:#fff
}
.cta__pill {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  min-width:202px;
  padding:0 23px;
  border:1px solid currentColor;
  border-radius:99px;
  font-size:13px;
  line-height:1;
  font-weight:600;
  letter-spacing:.12em
}
.cta__arrow {
  display:grid;
  place-items:center;
  flex:0 0 44px;
  width:44px;
  height:44px;
  border:1px solid currentColor;
  border-radius:50%
}
.cta:hover .cta__pill,.cta:hover .cta__arrow {
  background:#fff;
  color:var(--red-deep)
}
.round {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  flex:0 0 44px;
  border:1px solid currentColor;
  border-radius:50%;
  text-decoration:none;
  color:#fff
}
.round--dark {
  color:#111
}
.round:hover {
  background:#fff;
  color:#111
}
.round--dark:hover {
  background:#111;
  color:#fff
}
/* One white wave overlaps the satin. The upper hero image remains intact. */
.collage {
  position:relative;
  background:#fff;
  margin-top:-1px
}
.collage::before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-33px;
  height:35px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 390 36' preserveAspectRatio='none'%3E%3Cpath d='M0 15C80-20 170 42 265 29C323 21 360 18 390 0V36H0Z' fill='white'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  pointer-events:none
}
.collage__inner {
  position:relative;
  aspect-ratio:1 / .86;
  overflow:hidden
}
.collage__copy {
  position:absolute;
  z-index:2;
  left:16px;
  top:6px
}
.display-sans {
  font-family:var(--sans);
  font-weight:800;
  font-size:10.3vw;
  line-height:1.04;
  letter-spacing:-.06em;
  white-space:nowrap
}
.display-serif {
  color:var(--red-hot);
  font-size:10.8vw;
  line-height:.92;
  white-space:nowrap
}
.collage__photos {
  position:absolute;
  inset:0
}
.collage__figure {
  position:absolute;
  bottom:5%;
  height:34%;
  width:37%;
  margin:0
}
.collage__figure:first-child {
  left:4%
}
.collage__figure:nth-child(2) {
  right:3%;
  width:52%;
  height:58%
}
.frame--lid,.frame--gaze {
  width:100%;
  height:100%;
  background:#b28a72
}
.frame--lid {
  clip-path:url(#closed-lobe)
}
.frame--gaze {
  clip-path:url(#open-lobe)
}
.frame--lid img {
  object-position:50% 53%
}
.frame--gaze img {
  object-position:55% 49%
}
/* Low editorial bands: left copy has a separate safe zone. */
.strip {
  background:#fff;
  border-top:4px solid #fff
}
.frame--strip {
  aspect-ratio:1 / .41;
  color:#fff
}
.frame--strip img {
  object-position:64% 50%
}
.strip__shade {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(15,10,7,.82) 0%,rgba(22,14,10,.44) 26%,transparent 48%);
  pointer-events:none
}
.strip__copy {
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
  max-width:43%
}
.strip h2,.detail h2 {
  font-size:9.8vw;
  line-height:.79;
  color:inherit;
  letter-spacing:-.05em
}
.strip__copy .round {
  width:36px;
  height:36px;
  flex-basis:36px;
  position:relative
}
.strip__copy .round::before,.detail__copy .round::before {
  content:"";
  position:absolute;
  inset:-4px
}
.detail {
  background:#fff;
  border-top:4px solid #fff
}
.detail__layout {
  position:relative;
  aspect-ratio:1 / .36;
  overflow:hidden
}
.detail__copy {
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  max-width:49%
}
.detail h2 {
  font-size:9.7vw
}
.detail__copy .round {
  width:36px;
  height:36px;
  flex-basis:36px
}
.frame--detail {
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:82%;
  clip-path:url(#detail-lobe)
}
.frame--detail img {
  object-position:65% 47%
}
/* Gallery intentionally shows two distinct illustrative images. */
.gallery {
  padding:15px 16px 18px;
  background:#fff
}
.gallery__inner {
  max-width:none;
  margin:0
}
.section-head {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:6px;
  margin-bottom:13px
}
.gallery h2 {
  font-family:var(--sans);
  font-size:7.8vw;
  line-height:1.04;
  font-weight:800;
  letter-spacing:-.065em;
  white-space:nowrap
}
.note {
  font-family:var(--serif);
  font-size:12px;
  line-height:1.2;
  font-style:italic;
  font-weight:500;
  letter-spacing:-.04em;
  white-space:nowrap
}
.gallery__grid {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:9px
}
.frame--gallery {
  aspect-ratio:2.65 / 1;
  border-radius:5px;
  background:#b59076
}
.frame--g1 img {
  object-position:50% 53%
}
.frame--g2 img {
  object-position:50% 50%
}
.cta-band {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:174px;
  display:grid;
  place-items:center;
  background:var(--red-deep);
  color:#fff;
  padding:15px 16px 17px
}
.cta-band__bg {
  position:absolute;
  inset:0;
  z-index:-1
}
.cta-band__bg img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%
}
.cta-band__copy {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  text-align:center
}
.cta-band__italic {
  font-size:11.2vw;
  line-height:.78
}
.cta-band .cta__pill {
  min-width:206px
}
/* Compact contact footer: the original real links and full address are retained. */
.footer {
  background:#fff;
  color:#111;
  padding:16px 16px 12px
}
.footer__inner {
  display:grid;
  gap:12px
}
.footer__brand {
  text-align:center
}
.footer__brand .brand__name {
  font-size:21px
}
.footer__brand .brand__service {
  font-size:9px;
  letter-spacing:.25em
}
.footer__address {
  font-style:normal;
  font-size:11px;
  line-height:1.5;
  text-align:center;
  margin:auto;
  max-width:39em
}
.footer__links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:0 15px;
  border-top:1px solid #aaa;
  padding-top:3px
}
.footer__links a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  text-decoration:none;
  font-size:11px;
  line-height:1.2;
  white-space:nowrap
}
.footer__links a:hover {
  text-decoration:underline;
  text-underline-offset:3px
}
@media(max-width:359px) {
  :root {
    --gutter:12px;
    --header-h:64px
  }
  .brand__name {
    font-size:26px
  }
  .hero__content {
    bottom:35px
  }
  .hero__word {
    margin-bottom:30px
  }
  .hero__italic {
    margin-bottom:10px
  }
  .cta {
    gap:8px
  }
  .cta__pill {
    min-width:180px;
    padding:0 15px;
    font-size:12px
  }
  .cta-band .cta__pill {
    min-width:185px
  }
  .gallery {
    padding-left:12px;
    padding-right:12px
  }
  .gallery h2 {
    font-size:7vw
  }
  .note {
    font-size:10px
  }
}
@media(min-width:640px) and (max-width:959px) {
  :root {
    --gutter:28px;
    --header-h:88px
  }
  .header__bar {
    padding-left:28px;
    padding-right:28px
  }
  .brand__name {
    font-size:30px
  }
  .brand__service {
    font-size:12px
  }
  .hero__content {
    bottom:8vw
  }
  .hero__word {
    font-size:44vw;
    margin-bottom:2vw
  }
  .hero__italic {
    font-size:13vw;
    margin-bottom:2.5vw
  }
  .cta__pill {
    font-size:16px;
    min-width:250px;
    min-height:52px
  }
  .cta__arrow {
    width:52px;
    height:52px;
    flex-basis:52px
  }
  .collage__copy,.strip__copy,.detail__copy {
    left:28px
  }
  .strip__copy,.detail__copy {
    gap:16px
  }
  .strip__copy .round,.detail__copy .round {
    width:44px;
    height:44px;
    flex-basis:44px
  }
  .gallery {
    padding:24px 28px 28px
  }
  .section-head {
    margin-bottom:20px
  }
  .note {
    font-size:16px
  }
  .gallery__grid {
    gap:16px
  }
  .cta-band {
    min-height:240px
  }
  .cta-band__italic {
    font-size:9vw
  }
  .footer__address,.footer__links a {
    font-size:14px
  }
}
@media(min-width:960px) {
  :root {
    --gutter:4.2vw;
    --header-h:7.4vw
  }
  .header__bar {
    gap:2.3vw;
    padding:0 3.6vw;
    min-height:var(--header-h)
  }
  .brand {
    display:flex;
    align-items:center;
    gap:2.4vw;
    flex-shrink:0
  }
  .brand__name {
    font-size:3.5vw;
    letter-spacing:.015em;
    line-height:1
  }
  .brand__service {
    border-left:1px solid rgba(255,255,255,.8);
    margin:0;
    padding:7px 0 7px 2.2vw;
    font-size:.93vw;
    font-weight:600;
    letter-spacing:.1em
  }
  .js .menu-btn,.menu-btn {
    display:none
  }
  .nav,.js .nav,.js .nav:not(.is-open),.js .nav.is-open {
    position:static;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-end;
    margin-left:auto;
    gap:2.1vw;
    background:transparent;
    color:#fff;
    padding:0;
    box-shadow:none;
    border:0
  }
  .nav a {
    min-height:44px;
    font-size:.94vw;
    letter-spacing:.06em;
    white-space:nowrap
  }
  .frame--hero {
    aspect-ratio:1 / .94
  }
  .frame--hero img {
    object-position:52% 50%
  }
  .hero__content {
    bottom:6.1vw;
    padding:0 4vw
  }
  .hero__word {
    font-size:39vw;
    line-height:.86;
    letter-spacing:.12em;
    transform:none;
    margin-bottom:7vw;
    padding-left:.12em
  }
  .hero__italic {
    font-size:10.9vw;
    line-height:.92;
    letter-spacing:-.015em;
    margin-bottom:2.2vw
  }
  .cta {
    gap:1.9vw;
    min-height:3.9vw
  }
  .cta__pill {
    min-width:30vw;
    min-height:3.9vw;
    padding:0 3vw;
    border-width:1.5px;
    font-size:1.8vw;
    font-weight:500;
    letter-spacing:.12em
  }
  .cta__arrow {
    width:5.8vw;
    height:5.8vw;
    flex-basis:5.8vw;
    border-width:1.5px
  }
  .cta__arrow svg {
    width:2.4vw;
    height:2.4vw
  }
  .cta__pill {
    min-height:5.5vw
  }
  .collage::before {
    top:-6.4vw;
    height:6.6vw;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0 60C180-45 330 7 520 50C850 125 1170 95 1440 0V100H0Z' fill='white'/%3E%3C/svg%3E")
  }
  .collage__inner {
    aspect-ratio:1 / .42
  }
  .collage__copy {
    left:4vw;
    top:0
  }
  .display-sans {
    font-size:6.3vw;
    line-height:1.02;
    letter-spacing:-.055em
  }
  .display-serif {
    font-size:7.6vw;
    line-height:.85
  }
  .collage__figure {
    width:40%;
    height:43%
  }
  .collage__figure:first-child {
    left:3%
  }
  .collage__figure:nth-child(2) {
    right:3%;
    width:51%;
    height:89%
  }
  .frame--lid img {
    object-position:50% 54%
  }
  .frame--gaze img {
    object-position:52% 48%
  }
  .strip {
    border-top-width:.55vw
  }
  .frame--strip {
    aspect-ratio:1 / .25
  }
  .frame--strip img {
    object-position:65% 50%
  }
  .strip__copy {
    left:6.2vw;
    gap:2vw;
    max-width:36%
  }
  .strip h2,.detail h2 {
    font-size:8.2vw;
    line-height:.8;
    letter-spacing:-.045em
  }
  .strip__copy .round,.detail__copy .round {
    width:5.1vw;
    height:5.1vw;
    flex-basis:5.1vw;
    border-width:1.5px
  }
  .round svg {
    width:2.4vw;
    height:2.4vw
  }
  .detail {
    border-top-width:.6vw
  }
  .detail__layout {
    aspect-ratio:1 / .21
  }
  .detail__copy {
    left:4vw;
    gap:1.25vw;
    max-width:45%
  }
  .detail h2 {
    font-size:8vw
  }
  .frame--detail {
    width:83%
  }
  .frame--detail img {
    object-position:64% 47%
  }
  .gallery {
    padding:2vw 3.4vw 1.8vw
  }
  .section-head {
    margin-bottom:1.8vw;
    gap:3vw
  }
  .gallery h2 {
    font-size:5.5vw;
    line-height:1;
    letter-spacing:-.06em
  }
  .note {
    font-size:2vw
  }
  .gallery__grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.4vw
  }
  .frame--gallery {
    aspect-ratio:2.6 / 1;
    border-radius:.6vw
  }
  .cta-band {
    min-height:0;
    padding:0 3vw 1vw;
    aspect-ratio:1 / .12
  }
  .cta-band__copy {
    gap:.8vw
  }
  .cta-band__italic {
    font-size:6.15vw;
    line-height:.88;
    letter-spacing:-.05em
  }
  .cta-band__italic br {
    display:none
  }
  .cta-band .cta {
    gap:1vw;
    min-height:3.6vw
  }
  .cta-band .cta__pill {
    min-width:21vw;
    min-height:3.6vw;
    font-size:1.6vw;
    padding:0 2vw
  }
  .cta-band .cta__arrow {
    width:3.6vw;
    height:3.6vw;
    flex-basis:3.6vw
  }
  .cta-band .cta__arrow svg {
    width:1.8vw;
    height:1.8vw
  }
  .footer {
    padding:1.5vw 3.6vw 1vw
  }
  .footer__inner {
    grid-template-columns:1fr 1.3fr;
    align-items:center;
    gap:.7vw 2vw
  }
  .footer__brand {
    display:flex;
    align-items:center;
    text-align:left;
    gap:2.4vw
  }
  .footer__brand .brand__name {
    font-size:2.8vw
  }
  .footer__brand .brand__service {
    margin:0;
    padding:4px 0 4px 2.2vw;
    border-left:1px solid #666;
    font-size:1vw;
    letter-spacing:.12em
  }
  .footer__address {
    text-align:right;
    font-size:1.1vw;
    line-height:1.4;
    max-width:none;
    margin:0
  }
  .footer__links {
    grid-column:1 / -1;
    justify-content:flex-end;
    border-top:1px solid #ccc;
    gap:0 2vw;
    padding-top:.35vw
  }
  .footer__links a {
    font-size:1.1vw;
    min-height:36px
  }
}
/* Static open state; no menu animation. */
.menu-btn[aria-expanded="true"] .menu-btn__icon {
  position:relative
}
.menu-btn[aria-expanded="true"] .menu-btn__icon span {
  position:absolute;
  top:8px
}
.menu-btn[aria-expanded="true"] .menu-btn__icon span:first-child {
  transform:rotate(45deg)
}
.menu-btn[aria-expanded="true"] .menu-btn__icon span:nth-child(2) {
  display:none
}
.menu-btn[aria-expanded="true"] .menu-btn__icon span:last-child {
  transform:rotate(-45deg)
}
@media(min-width:768px) and (max-width:959px) {
  .gallery__grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .gallery h2 {
    font-size:5.5vw
  }
  .note {
    font-size:2.2vw
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto;
    transition-duration:0ms!important;
    animation:none!important
  }
}
.footer__pin,.footer__phone {
  display:inline-block;
  width:14px;
  height:14px;
  vertical-align:-2px;
  flex:none;
  margin-right:5px
}
.footer__address {
  line-height:1.6
}
.footer__links a {
  gap:0
}
/* Progressive fallback remains usable when the external script is unavailable. */
html:not(.js) .header__bar {
  flex-wrap:wrap;
  padding-top:12px;
  padding-bottom:12px
}
html:not(.js) .nav {
  flex-basis:100%
}
.js .nav.is-open a:focus-visible {
  outline-color:#111
}
@media(min-width:960px) {
  html:not(.js) .header__bar {
    flex-wrap:nowrap;
    padding-top:0;
    padding-bottom:0
  }
  html:not(.js) .nav {
    flex-basis:auto
  }
  .js .nav.is-open a:focus-visible {
    outline-color:#fff
  }
}

/* The expanded menu exposes a static close icon. */
.menu-btn__icon { position:relative; }
.menu-btn[aria-expanded="true"] .menu-btn__icon span { position:absolute;top:8px; }
.menu-btn[aria-expanded="true"] .menu-btn__icon span:nth-child(1) { transform:rotate(45deg); }
.menu-btn[aria-expanded="true"] .menu-btn__icon span:nth-child(2) { opacity:0; }
.menu-btn[aria-expanded="true"] .menu-btn__icon span:nth-child(3) { transform:rotate(-45deg); }

