/* Despotes Cunda — Rustik header */
@import url("colors.css");

:root {
    --site-width: 1900px;
    --site-gutter: 56px;
    --line: 1px;
    --font-display: "Cormorant", "Times New Roman", Georgia, serif;
    --font-body: "Open Sans", system-ui, sans-serif;
    --header-h: 118px;
    --logo-height: 96px;
    --float-btn-size: 52px;
    --float-btn-gap: 12px;
    --ease: cubic-bezier(0.25, 1, 0.33, 1);
}

@media (max-width: 960px) {
    :root {
        --mobile-slide-gap: 16px;
        --mobile-slide-peek: 52px;
    }
}

/* Header ile aynı yatay hizalama */
.site-shell {
    width: 100%;
    max-width: var(--site-width);
    margin-inline: auto;
    padding-inline: var(--site-gutter);
    box-sizing: border-box;
}

*, *::before, *::after {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}
a,
button,
input,
textarea,
select,
summary,
[role="button"],
[tabindex]:not([tabindex="-1"]) {
    -webkit-tap-highlight-color: transparent;
    tap-highlight-color: transparent;
    outline: none;
}
a:focus,
a:active,
button:focus,
button:active,
input:focus,
input:active,
textarea:focus,
textarea:active,
select:focus,
select:active,
summary:focus,
summary:active,
[role="button"]:focus,
[role="button"]:active,
[tabindex]:not([tabindex="-1"]):focus,
[tabindex]:not([tabindex="-1"]):active {
    outline: none;
    box-shadow: none;
}
button::-moz-focus-inner {
    border: 0;
    padding: 0;
}
html {
    scroll-behavior: smooth;
    scroll-padding-top: var(--header-h);
    overflow-x: clip;
}
body {
    margin: 0;
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.6;
    color: var(--ink);
    background-color: var(--bg);
    -webkit-font-smoothing: antialiased;
    overflow-x: clip;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }

/* ─── Rustic line helpers ─── */
.rustic-line {
    height: var(--line);
    background: var(--accent);
    opacity: .85;
}
.rustic-line--double {
    height: 5px;
    background:
        linear-gradient(var(--accent), var(--accent)) 0 0 / 100% 1px no-repeat,
        linear-gradient(var(--accent), var(--accent)) 0 4px / 100% 1px no-repeat;
    opacity: .75;
}

/* ─── Header ─── */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: transparent;
}
.site-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 220px;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(
        180deg,
        var(--bg) 0%,
        var(--bg) 14%,
        rgba(248, 237, 221, 0.99) 30%,
        rgba(248, 237, 221, 0.94) 46%,
        rgba(248, 237, 221, 0.88) 62%,
        rgba(248, 237, 221, 0.8) 100%
    );
    -webkit-mask-image: linear-gradient(
        to bottom,
        #000 0%,
        #000 40%,
        rgba(0, 0, 0, 0.88) 58%,
        rgba(0, 0, 0, 0.55) 76%,
        rgba(0, 0, 0, 0.22) 90%,
        transparent 100%
    );
    mask-image: linear-gradient(
        to bottom,
        #000 0%,
        #000 40%,
        rgba(0, 0, 0, 0.88) 58%,
        rgba(0, 0, 0, 0.55) 76%,
        rgba(0, 0, 0, 0.22) 90%,
        transparent 100%
    );
}
.site-header__top-line {
    height: 3px;
    background: repeating-linear-gradient(
        90deg,
        var(--accent) 0,
        var(--accent) 18px,
        transparent 18px,
        transparent 22px
    );
    opacity: .55;
}
.header-inner {
    max-width: var(--site-width);
    margin: 0 auto;
    padding: 18px var(--site-gutter) 16px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    column-gap: 72px;
}
.header-nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    width: 100%;
}
.header-nav--left {
    justify-content: flex-start;
    padding-right: 24px;
}
.header-nav--right {
    justify-content: flex-end;
    padding-left: 24px;
}

.nav-link {
    position: relative;
    padding: 10px 18px;
    font-family: var(--font-display);
    font-size: 1.24rem;
    font-weight: 500;
    letter-spacing: .02em;
    text-transform: lowercase;
    color: var(--ink);
    transition: color .3s var(--ease);
}
.nav-link::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 3px;
    height: 1px;
    background: var(--accent);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s var(--ease);
}
.nav-link:hover,
.nav-link.is-active { color: var(--accent); }
.nav-link:hover::after,
.nav-link.is-active::after { transform: scaleX(1); }

.nav-link--menu {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.nav-menu-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
    color: inherit;
    animation: menuIconFloat 3s ease-in-out infinite;
}
.nav-menu-icon__svg {
    display: block;
}
.nav-menu-icon__line {
    transform-origin: center;
    animation: menuLinePulse 3s ease-in-out infinite;
}
.nav-menu-icon__line--2 { animation-delay: .15s; }
.nav-menu-icon__line--3 { animation-delay: .3s; }
.nav-link--menu:hover .nav-menu-icon {
    animation: menuIconLift .55s var(--ease);
}
.nav-link--menu:hover .nav-menu-icon__page {
    animation: menuPageTilt .55s var(--ease);
}
@keyframes menuIconFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-2px); }
}
@keyframes menuLinePulse {
    0%, 100% { opacity: .55; transform: scaleX(1); }
    50% { opacity: 1; transform: scaleX(1.06); }
}
@keyframes menuIconLift {
    0%, 100% { transform: translateY(0); }
    45% { transform: translateY(-3px); }
}
@keyframes menuPageTilt {
    0%, 100% { transform: rotate(0deg); }
    45% { transform: rotate(-4deg); }
}
@media (prefers-reduced-motion: reduce) {
    .nav-menu-icon,
    .nav-menu-icon__line,
    .nav-link--menu:hover .nav-menu-icon,
    .nav-link--menu:hover .nav-menu-icon__page {
        animation: none;
    }
}

.nav-btn {
    margin-left: 8px;
    padding: 11px 22px;
    font-family: var(--font-body);
    font-size: .84rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #fff;
    background: var(--btn);
    border: none;
    border-radius: 999px;
    transition: background .3s var(--ease), transform .2s var(--ease);
}
.nav-btn::after { display: none; }
.nav-btn:hover {
    background: var(--btn-hover);
    color: #fff;
    transform: translateY(-1px);
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: 8px;
}
.nav-actions .nav-btn { margin-left: 0; }
.nav-actions .nav-lang { margin-left: 0; }
.header-nav--right > .nav-lang { margin-left: 8px; }
.header-nav--right .nav-reservation .nav-btn { margin-left: 0; }

/* Rezervasyon menüsü — iletişim gibi tıklama */
.nav-reservation {
    position: relative;
    display: inline-block;
}
.nav-reservation--mobile {
    display: none;
}
.nav-reservation__trigger {
    cursor: pointer;
}
.nav-reservation__trigger::after { display: none; }

.contact-tooltip,
.reservation-tooltip {
    border: 1px solid rgba(0, 56, 99, 0.22);
    border-radius: 10px;
    overflow: visible;
    box-shadow: 0 10px 28px rgba(0, 56, 99, 0.08);
}
.contact-tooltip__grid,
.reservation-tooltip__grid {
    overflow: hidden;
    border-radius: 9px;
    background: #fff;
}

.reservation-tooltip {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    right: 0;
    z-index: 1100;
    width: 100%;
    box-sizing: border-box;
    padding: 0;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
}
.nav-reservation.is-open .reservation-tooltip {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}
.reservation-tooltip__close {
    position: absolute;
    top: -11px;
    right: -11px;
    z-index: 2;
    width: 22px;
    height: 22px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    line-height: 1;
    color: var(--accent);
    background: #fff;
    border: 1px solid rgba(0, 56, 99, 0.22);
    border-radius: 50%;
    cursor: pointer;
    transition: background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
}
.reservation-tooltip__close:hover {
    background: var(--accent);
    color: #fff;
    border-color: var(--accent);
}
.reservation-tooltip__grid {
    display: grid;
    grid-template-columns: 1fr;
}
.reservation-tooltip__cell {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 18px 16px;
    text-align: center;
    color: var(--ink);
    cursor: pointer;
    transition: background .2s var(--ease), color .2s var(--ease);
}
.reservation-tooltip__cell + .reservation-tooltip__cell {
    border-top: 1px solid rgba(0, 56, 99, 0.1);
}
.reservation-tooltip__cell:hover {
    background: var(--bg);
    color: var(--accent);
}
.reservation-tooltip__cell:hover .reservation-tooltip__label {
    color: var(--accent);
}
.reservation-tooltip__cell:active {
    background: rgba(0, 56, 99, .08);
}
.reservation-tooltip__label {
    font-family: var(--font-body);
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted);
}
.reservation-tooltip__value {
    font-family: var(--font-display);
    font-size: 1.08rem;
    font-weight: 600;
    line-height: 1.3;
}

/* İletişim tooltip */
.nav-contact-range {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
}
.nav-contact-group {
    display: flex;
    align-items: center;
    gap: 4px;
}
.nav-contact {
    position: static;
}
.nav-contact__trigger {
    background: none;
    border: none;
    cursor: pointer;
    font: inherit;
}

.contact-tooltip {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    right: 0;
    z-index: 1100;
    width: 100%;
    box-sizing: border-box;
    padding: 0;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
}
.nav-contact-range:has(.nav-contact.is-open) .contact-tooltip {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}
.nav-contact.is-open .nav-contact__trigger {
    color: var(--accent);
}
.nav-contact.is-open .nav-contact__trigger::after {
    transform: scaleX(1);
}
.contact-tooltip__close {
    position: absolute;
    top: -11px;
    right: -11px;
    z-index: 2;
    width: 22px;
    height: 22px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    line-height: 1;
    color: var(--accent);
    background: #fff;
    border: 1px solid rgba(0, 56, 99, 0.22);
    border-radius: 50%;
    cursor: pointer;
    transition: background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
}
.contact-tooltip__close:hover {
    background: var(--accent);
    color: #fff;
    border-color: var(--accent);
}
.contact-tooltip__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.contact-tooltip__cell {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 22px 20px 18px;
    text-align: center;
    color: var(--ink);
    cursor: pointer;
    white-space: nowrap;
    transition: background .2s var(--ease), color .2s var(--ease);
}
.contact-tooltip__cell + .contact-tooltip__cell {
    border-left: 1px solid rgba(0, 56, 99, 0.1);
}
.contact-tooltip__cell:hover {
    background: var(--bg);
    color: var(--accent);
}
.contact-tooltip__cell:hover .contact-tooltip__label {
    color: var(--accent);
}
.contact-tooltip__cell:active {
    background: rgba(0, 56, 99, .08);
}
.contact-tooltip__label {
    font-family: var(--font-body);
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted);
}
.contact-tooltip__value {
    font-family: var(--font-display);
    font-size: 1.08rem;
    font-weight: 600;
    line-height: 1.3;
    white-space: nowrap;
}

.nav-lang {
    margin-left: 0;
    padding: 10px 14px;
    font-family: var(--font-body);
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--accent);
    background: transparent;
    border: none;
    border-radius: 999px;
}
.nav-lang::after { display: none; }
.nav-lang:hover {
    background: transparent;
    color: var(--btn);
}

/* Logo */
.header-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    flex-shrink: 0;
}
.header-logo__img {
    display: block;
    height: var(--logo-height);
    width: auto;
    object-fit: contain;
    transform-origin: center;
    transition: transform .35s var(--ease);
    -webkit-user-drag: none;
    user-select: none;
}
.header-logo:hover .header-logo__img {
    transform: scale(1.06);
}

.site-header__bottom {
    padding: 0 28px 14px;
}
.site-header__bottom .rustic-line--double {
    max-width: 1440px;
    margin: 0 auto;
}

/* Mobile toggle & icon buttons */
.header-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border-radius: 50%;
    flex-shrink: 0;
    cursor: pointer;
    transition: background .3s var(--ease), transform .2s var(--ease), border-color .3s var(--ease);
}
.header-icon-btn svg { display: block; }

.menu-toggle {
    display: none;
    background: rgba(248, 237, 221, 0.88);
    border: var(--line) solid var(--accent);
    color: var(--ink);
}
.menu-toggle:hover {
    background: var(--bg);
    transform: scale(1.05);
}

.header-mobile-btn {
    display: none;
    background: var(--btn);
    border: none;
    color: #fff;
}
.header-mobile-btn:hover {
    background: var(--btn-hover);
    transform: scale(1.05);
}

.mobile-nav {
    display: flex;
    flex-direction: column;
    position: fixed;
    inset: 0;
    z-index: 1100;
    background: var(--bg);
    padding: 24px;
    overflow-y: auto;
    transform: translateX(-100%);
    visibility: hidden;
    pointer-events: none;
    transition: transform .45s var(--ease), visibility 0s linear .45s;
}
.mobile-nav.is-visible {
    visibility: visible;
    pointer-events: auto;
    transition: transform .45s var(--ease), visibility 0s;
}
.mobile-nav.is-open {
    transform: translateX(0);
}
.mobile-close {
    align-self: flex-end;
    background: none;
    border: none;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    color: var(--ink);
    margin-bottom: 24px;
}
.mobile-nav__links {
    display: flex;
    flex-direction: column;
    gap: 0;
    flex: 1;
}
.mobile-nav__links .nav-link {
    padding: 14px 0;
    font-size: 1.1rem;
    font-weight: 600;
    border-bottom: var(--line) solid rgba(0, 56, 99, .18);
}
.mobile-nav__links .nav-link::after { display: none; }
.mobile-nav__footer {
    display: flex;
    justify-content: center;
    margin-top: auto;
    padding-top: 28px;
}
.mobile-nav__lang {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 56px;
    padding: 12px 20px;
    font-size: .82rem;
    letter-spacing: .18em;
    border: var(--line) solid rgba(0, 56, 99, .22);
    border-radius: 999px;
}
.mobile-nav__lang:hover {
    border-color: var(--accent);
    color: var(--btn);
}

/* ─── Hero (slider) ─── */
.hero {
    position: relative;
    width: 100%;
    height: 100svh;
    height: 100dvh;
    max-height: 100dvh;
    min-height: 100svh;
    overflow: hidden;
    background-color: var(--bg);
}
.hero--slider {
    touch-action: manipulation;
}
@media (max-width: 960px) {
    .hero--slider {
        height: var(--hero-mobile-h, 100svh);
        max-height: var(--hero-mobile-h, 100svh);
        min-height: var(--hero-mobile-h, 100svh);
    }
    .hero--slider .hero__viewport {
        position: absolute;
        inset: 0;
        height: 100%;
        width: 100%;
    }
    .hero--slider .hero__lines {
        bottom: calc(clamp(18px, 4.5vw, 32px) + env(safe-area-inset-bottom, 0px));
    }
    .hero__overlay {
        padding-bottom: clamp(36px, 8vw, 52px);
    }
}
.hero--slider.is-touch-pending,
.hero__viewport.is-touch-pending,
.hero__viewport.is-dragging {
    touch-action: none;
}
.hero__viewport {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    cursor: grab;
    -webkit-user-select: none;
    user-select: none;
}
.hero__viewport.is-dragging {
    cursor: grabbing;
    touch-action: none;
}
.hero__track {
    display: flex;
    height: 100%;
    will-change: transform;
    transition: transform .85s var(--ease);
}
.hero__track.is-dragging {
    transition: none !important;
}
.hero__track--instant {
    transition: none !important;
}
.hero__slide {
    position: relative;
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    height: 100%;
}
.hero__media {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
}
.hero__img,
.hero__video {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: translateZ(0);
    backface-visibility: hidden;
    pointer-events: none;
    -webkit-user-drag: none;
    user-select: none;
}
.hero__lines {
    position: absolute;
    left: 50%;
    bottom: clamp(24px, 4.5vw, 42px);
    z-index: 6;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transform: translateX(-50%);
    pointer-events: auto;
}
.hero__line {
    width: 32px;
    height: 2px;
    padding: 0;
    border: none;
    border-radius: 1px;
    background: rgba(255, 255, 255, 0.42);
    cursor: pointer;
    transition: width .45s var(--ease), background .45s var(--ease), opacity .3s var(--ease);
    box-shadow: 0 1px 8px rgba(0, 24, 44, 0.22);
}
.hero__line.is-active {
    width: 56px;
    background: #fff;
}
.hero__line:hover {
    background: rgba(255, 255, 255, 0.72);
}
.hero__line.is-active:hover {
    background: #fff;
}
.hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--site-gutter);
    pointer-events: none;
}
.hero__overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at center, rgba(0, 24, 44, 0.28) 0%, rgba(0, 24, 44, 0.08) 42%, rgba(0, 24, 44, 0) 72%);
    pointer-events: none;
}
.hero__menu-card {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(18px, 3.5vw, 28px);
    max-width: min(92vw, 560px);
    pointer-events: auto;
    text-align: center;
}
.hero__menu-tagline {
    margin: 0;
    padding: 0 clamp(8px, 2vw, 16px);
    font-family: "Allison", "Sacramento", cursive;
    font-size: clamp(3rem, 9.5vw, 5.2rem);
    font-weight: 400;
    line-height: 1.06;
    letter-spacing: .015em;
    color: #fff;
    text-shadow:
        0 3px 22px rgba(0, 18, 36, 0.58),
        0 1px 0 rgba(0, 56, 99, 0.22),
        0 0 1px rgba(255, 255, 255, 0.35);
}
.hero__menu-tagline::after {
    content: "";
    display: block;
    width: min(200px, 46vw);
    height: 1px;
    margin: clamp(14px, 2.6vw, 20px) auto 0;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.92), transparent);
    opacity: .92;
}
.hero__menu-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: clamp(14px, 3vw, 22px);
    min-width: clamp(210px, 52vw, 280px);
    min-height: clamp(58px, 12vw, 72px);
    padding: clamp(14px, 2.8vw, 18px) clamp(28px, 5vw, 40px);
    font-family: var(--font-display);
    font-size: clamp(1.05rem, 2.8vw, 1.28rem);
    font-weight: 600;
    font-style: italic;
    letter-spacing: .24em;
    text-indent: .24em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--accent);
    background:
        linear-gradient(180deg, rgba(255, 252, 246, 0.98) 0%, rgba(248, 237, 221, 0.96) 100%);
    border: 1px solid rgba(255, 255, 255, 0.72);
    outline: 1px solid rgba(0, 56, 99, 0.22);
    outline-offset: -5px;
    border-radius: 2px;
    box-shadow:
        0 18px 42px rgba(0, 24, 44, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.85);
    transition: transform .28s var(--ease), box-shadow .28s var(--ease), background .28s var(--ease);
}
.hero__menu-btn__label {
    position: relative;
    z-index: 1;
}
.hero__menu-btn__ornament {
    flex: 0 0 clamp(28px, 8vw, 42px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(0, 56, 99, 0.55), transparent);
}
.hero__menu-btn:hover {
    color: var(--accent);
    transform: translateY(-2px);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(252, 244, 232, 0.98) 100%);
    box-shadow:
        0 24px 48px rgba(0, 24, 44, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.95);
}
.hero__menu-btn:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 4px;
}
@media (max-width: 767px) {
    .hero__menu-tagline {
        font-size: clamp(2.6rem, 11vw, 3.6rem);
        line-height: 1.1;
    }
    .hero__menu-btn {
        min-width: min(100%, 260px);
        letter-spacing: .2em;
        text-indent: .2em;
    }
}

/* ─── Hikayemiz ─── */
.story {
    position: relative;
    z-index: 1;
    background: var(--bg);
    padding: clamp(72px, 10vw, 120px) 0 0;
    text-align: center;
}
.story__inner {
    max-width: var(--site-width);
    margin: 0 auto;
    padding-inline: var(--site-gutter);
}
.story__title {
    margin: 0 0 clamp(28px, 4vw, 40px);
    font-family: var(--font-display);
    font-size: clamp(2rem, 4.8vw, 3.35rem);
    font-weight: 500;
    line-height: 1.22;
    letter-spacing: .01em;
    color: var(--accent);
}
.story__body {
    position: relative;
    max-width: 760px;
    margin: 0 auto clamp(36px, 5vw, 52px);
}
.story__watermark {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
    width: min(118%, 560px);
    transform: translate(-50%, -50%);
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
}
.story__watermark-img {
    display: block;
    width: 100%;
    height: auto;
    opacity: 0.022;
    filter: saturate(0.25);
}
.story__body-copy {
    position: relative;
    z-index: 1;
}
.story__text {
    margin: 0 0 1.35em;
    font-family: var(--font-body);
    font-size: clamp(1.02rem, 1.7vw, 1.12rem);
    font-weight: 400;
    line-height: 1.85;
    color: rgba(0, 56, 99, 0.78);
}
.story__text:last-child {
    margin-bottom: 0;
}
.story__line {
    width: 1px;
    height: clamp(48px, 8vw, 72px);
    margin: 0 auto clamp(36px, 5vw, 52px);
    background: rgba(0, 56, 99, 0.22);
}
.story__media {
    width: 100%;
    margin: 0 auto;
    padding: 0 0 clamp(48px, 6vw, 80px);
    overflow: hidden;
}
.story__media-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: var(--site-width);
    margin: 0 auto;
    min-height: clamp(280px, 42vw, 460px);
    padding-inline: var(--site-gutter);
}
.story__frame {
    position: relative;
    z-index: 2;
    width: min(100%, 720px);
    margin: 0;
}
.story__img {
    width: 100%;
    max-height: min(46vh, 480px);
    margin: 0 auto;
    object-fit: cover;
    object-position: center;
}
.story__ghost {
    position: absolute;
    top: 50%;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    transform: translateY(-50%);
    transition: opacity 1.2s var(--ease) .45s;
}
.story__ghost img {
    display: block;
    width: auto;
    height: clamp(140px, 16vw, 260px);
    opacity: .55;
    filter: saturate(.35);
}
.story__ghost--left {
    left: clamp(12px, 4vw, 64px);
}
.story__ghost--right {
    right: clamp(12px, 4vw, 64px);
}
.story__media.is-revealed .story__ghost {
    opacity: .11;
}

@media (max-width: 768px) {
    .story__watermark {
        width: min(100%, 300px);
    }
    .story__watermark-img {
        opacity: 0.018;
    }
    .story__frame {
        width: min(100%, 92vw);
    }
    .story__img {
        max-height: min(38vh, 320px);
    }
    .story__ghost img {
        height: clamp(72px, 22vw, 110px);
    }
    .story__media.is-revealed .story__ghost {
        opacity: .07;
    }
    }
}

/* ─── Mutfak ikon şeridi ─── */
.kitchen-marquee {
    position: relative;
    z-index: 1;
    background: var(--bg);
    overflow: hidden;
    width: 100%;
    max-width: 100vw;
}
.kitchen-marquee__bar {
    max-width: var(--site-width);
    margin-inline: auto;
    padding: clamp(12px, 2vw, 20px) var(--site-gutter);
    overflow: hidden;
    width: 100%;
    box-sizing: border-box;
}
.kitchen-marquee__track {
    display: flex;
    width: max-content;
    will-change: transform;
    animation: kitchenMarqueeScroll 90s linear infinite;
}
.kitchen-marquee__group {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
    width: min(calc(var(--site-width) - (var(--site-gutter) * 2)), calc(100vw - (var(--site-gutter) * 2)));
    padding-inline: 0;
    box-sizing: border-box;
}
.kitchen-marquee__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: clamp(22px, 2.4vw, 28px);
    height: clamp(22px, 2.4vw, 28px);
    color: rgba(0, 56, 99, 0.4);
    transition: color .35s var(--ease), transform .35s var(--ease);
}
.kitchen-marquee__svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}
@keyframes kitchenMarqueeScroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
    .kitchen-marquee__track {
        animation: none;
    }
}

/* ─── Showcase strip (Monteverdi-style gallery) ─── */
.showcase-strip {
    position: relative;
    z-index: 1;
    background: var(--bg);
    padding: clamp(40px, 6vw, 72px) 0 clamp(28px, 4vw, 48px);
    overflow: hidden;
}
.showcase-strip__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "eyebrow eyebrow"
        "title title"
        "lead nav";
    align-items: end;
    gap: 0 clamp(20px, 3vw, 40px);
    max-width: var(--site-width);
    margin: 0 auto clamp(28px, 4vw, 40px);
    padding-inline: var(--site-gutter);
    text-align: left;
}
.showcase-strip__eyebrow {
    grid-area: eyebrow;
    margin: 0 0 12px;
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--accent);
    opacity: .72;
}
.showcase-strip__title {
    grid-area: title;
    margin: 0 0 clamp(14px, 2vw, 20px);
    max-width: 14ch;
    font-family: var(--font-display);
    font-size: clamp(2rem, 4.2vw, 3.2rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: .02em;
    text-transform: lowercase;
    color: var(--accent);
}
.showcase-strip__lead {
    grid-area: lead;
    margin: 0;
    max-width: 42ch;
    font-family: var(--font-body);
    font-size: clamp(.98rem, 1.55vw, 1.08rem);
    font-weight: 400;
    line-height: 1.82;
    color: rgba(0, 56, 99, 0.72);
}
.showcase-strip__nav {
    grid-area: nav;
    display: flex;
    align-items: center;
    gap: clamp(12px, 2vw, 20px);
    align-self: end;
    padding-bottom: 2px;
}
.showcase-strip__nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--accent);
    cursor: pointer;
    opacity: .72;
    transition: opacity .3s var(--ease), transform .2s var(--ease);
}
.showcase-strip__nav-btn:hover {
    opacity: 1;
    transform: translateY(-1px);
}
.showcase-strip__nav-btn:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
}
.showcase-strip__nav-btn svg {
    display: block;
    width: clamp(28px, 3.2vw, 36px);
    height: clamp(28px, 3.2vw, 36px);
}
.showcase-strip__nav.is-hidden {
    display: none;
}
@media (max-width: 960px) {
    .showcase-strip__head {
        grid-template-areas:
            "eyebrow eyebrow"
            "title nav"
            "lead lead";
        align-items: center;
        gap: 0 clamp(12px, 3vw, 20px);
    }
    .showcase-strip__title {
        margin-bottom: clamp(12px, 2vw, 16px);
    }
    .showcase-strip__nav {
        align-self: center;
        padding-bottom: clamp(12px, 2vw, 16px);
    }
}
.showcase-strip__viewport {
    overflow: hidden;
    width: 100%;
    padding-inline: var(--site-gutter);
    box-sizing: border-box;
    touch-action: pan-y;
    overscroll-behavior-x: contain;
    cursor: grab;
    -webkit-user-select: none;
    user-select: none;
    -webkit-overflow-scrolling: touch;
    --showcase-gap: clamp(10px, 1.4vw, 16px);
    --showcase-cell-w: 160px;
}
.showcase-strip__viewport.is-dragging {
    cursor: grabbing;
    touch-action: none;
}
.showcase-strip__track {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    width: max-content;
    gap: var(--showcase-gap);
    will-change: transform;
    transition: transform .45s cubic-bezier(.25, .8, .25, 1);
}
.showcase-strip__track.is-dragging {
    transition: none !important;
    cursor: grabbing;
}
.showcase-strip__track--instant {
    transition: none !important;
}
.showcase-strip__cell {
    position: relative;
    flex: 0 0 var(--showcase-cell-w);
    width: var(--showcase-cell-w);
    min-width: var(--showcase-cell-w);
    margin: 0;
    aspect-ratio: 5 / 7;
    overflow: hidden;
    background: rgba(0, 56, 99, 0.06);
    padding: 0;
    border: none;
    cursor: grab;
    -webkit-tap-highlight-color: transparent;
}
.showcase-strip__cell:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}
.showcase-strip__img,
.showcase-strip__video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    pointer-events: none;
    -webkit-user-drag: none;
    user-select: none;
}
@media (max-width: 767px) {
    .showcase-strip__viewport {
        padding-inline: var(--site-gutter);
        --showcase-gap: 12px;
        --showcase-cell-w: clamp(132px, 38vw, 168px);
        touch-action: manipulation;
    }
    .showcase-strip__viewport.is-touch-pending,
    .showcase-strip__viewport.is-dragging {
        touch-action: none;
    }
    .showcase-strip__cell {
        flex: 0 0 var(--showcase-cell-w);
        width: var(--showcase-cell-w);
        min-width: var(--showcase-cell-w);
        border-radius: 2px;
    }
    .showcase-strip__track {
        flex-wrap: nowrap;
        width: max-content;
        transition-duration: .38s;
        transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    }
}
@media (min-width: 768px) {
    .showcase-strip__cell {
        flex-basis: clamp(200px, 22vw, 280px);
        width: clamp(200px, 22vw, 280px);
    }
}
@media (min-width: 1200px) {
    .showcase-strip__cell {
        flex-basis: clamp(220px, 16vw, 300px);
        width: clamp(220px, 16vw, 300px);
    }
}

/* ─── Yorumlar ─── */
.reviews {
    position: relative;
    z-index: 1;
    background: var(--bg);
    padding: 0;
}
.reviews__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    max-width: var(--site-width);
    margin: 0 auto;
    padding-inline: var(--site-gutter);
    gap: clamp(48px, 7vw, 96px);
    min-height: clamp(640px, 72vh, 860px);
}
.reviews__media {
    margin: 0;
    align-self: stretch;
    display: flex;
    align-items: center;
    height: 100%;
    padding: clamp(24px, 4vw, 40px) clamp(12px, 2vw, 28px) clamp(24px, 4vw, 40px) 0;
    box-sizing: border-box;
    overflow: hidden;
}
.reviews__media img {
    display: block;
    width: 100%;
    height: clamp(520px, 65vh, 720px);
    min-height: clamp(520px, 65vh, 720px);
    object-fit: cover;
    object-position: center 42%;
}
.reviews__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    text-align: left;
    padding: clamp(48px, 6vw, 80px) 0 clamp(48px, 6vw, 80px) clamp(16px, 3vw, 40px);
    min-width: 0;
}
.reviews__eyebrow {
    margin: 0 0 12px;
    width: 100%;
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--accent);
}
.reviews__title {
    margin: 0 0 clamp(10px, 1.6vw, 14px);
    width: 100%;
    font-family: var(--font-display);
    font-size: clamp(2.4rem, 5vw, 3.6rem);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: .02em;
    color: var(--accent);
}
.reviews__lead {
    margin: 0 0 clamp(24px, 3.5vw, 32px);
    max-width: 34rem;
    font-family: var(--font-body);
    font-size: clamp(.88rem, 1.5vw, .98rem);
    line-height: 1.6;
    color: rgba(0, 56, 99, 0.58);
}
.reviews__slider {
    width: 100%;
    max-width: 100%;
}
.reviews__viewport {
    overflow: hidden;
    touch-action: pan-y;
    min-height: clamp(180px, 24vw, 240px);
    cursor: grab;
    -webkit-user-select: none;
    user-select: none;
}
.reviews__viewport.is-dragging {
    cursor: grabbing;
    touch-action: none;
}
.reviews__track {
    display: flex;
    gap: clamp(12px, 2vw, 16px);
    will-change: transform;
    transition: transform 1s var(--ease);
}
.reviews__track--instant {
    transition: none !important;
}
.reviews__slide {
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    margin: 0;
    -webkit-user-select: none;
    user-select: none;
}
.reviews__card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    height: 100%;
    padding: clamp(18px, 3vw, 24px);
    border: 1px solid rgba(0, 56, 99, 0.1);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 10px 28px rgba(0, 36, 72, 0.06);
    box-sizing: border-box;
}
.reviews__card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.reviews__card-identity {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.reviews__card-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(0, 56, 99, 0.08);
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 600;
    color: var(--accent);
}
.reviews__card-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}
.reviews__card-author {
    font-family: var(--font-body);
    font-size: .92rem;
    font-weight: 600;
    color: var(--accent);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.reviews__stars {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}
.reviews__star {
    font-size: .82rem;
    line-height: 1;
    color: rgba(0, 56, 99, 0.16);
}
.reviews__star.is-filled {
    color: #e8b923;
}
.reviews__card-date {
    font-size: .72rem;
    color: rgba(0, 56, 99, 0.48);
}
.reviews__badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(0, 56, 99, 0.05);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgba(0, 56, 99, 0.62);
}
.reviews__badge-icon {
    display: block;
    flex-shrink: 0;
}
.reviews__card-text {
    margin: 0;
    font-family: var(--font-body);
    font-size: clamp(.94rem, 1.45vw, 1.02rem);
    line-height: 1.75;
    color: rgba(0, 56, 99, 0.76);
    -webkit-user-select: none;
    user-select: none;
}
.reviews__google-link {
    display: inline-block;
    margin-top: clamp(14px, 2vw, 18px);
    font-family: var(--font-body);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    color: rgba(0, 56, 99, 0.62);
    transition: color .25s var(--ease);
}
.reviews__google-link:hover {
    color: var(--accent);
}
.reviews__lines {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    margin-top: clamp(28px, 4vw, 36px);
}
.reviews__line {
    width: 32px;
    height: 2px;
    padding: 0;
    border: none;
    border-radius: 1px;
    background: rgba(0, 56, 99, 0.22);
    cursor: pointer;
    transition: width .45s var(--ease), background .45s var(--ease), opacity .3s var(--ease);
}
.reviews__line.is-active {
    width: 56px;
    background: var(--accent);
}
.reviews__line:hover {
    background: rgba(0, 56, 99, 0.45);
}
.reviews__line.is-active:hover {
    background: var(--accent);
}
.reviews__btn {
    display: inline-block;
    position: relative;
    margin-top: clamp(24px, 3.5vw, 32px);
    padding-bottom: 4px;
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--accent);
    transition: color .3s var(--ease);
}
.reviews__btn::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(.55);
    transform-origin: left;
    transition: transform .35s var(--ease);
}
.reviews__btn:hover {
    color: var(--accent);
}
.reviews__btn:hover::after {
    transform: scaleX(1);
}

@media (min-width: 961px) {
    .reviews__slide {
        flex: 0 0 calc(50% - 8px);
        width: calc(50% - 8px);
        min-width: calc(50% - 8px);
    }
    .reviews__slide:only-child {
        flex-basis: 100%;
        width: 100%;
        min-width: 100%;
    }
}

@media (max-width: 960px) {
    .reviews__inner {
        grid-template-columns: 1fr;
        min-height: 0;
        gap: 0;
    }
    .reviews__media {
        padding: clamp(16px, 3vw, 24px) 0 0;
    }
    .reviews__media img {
        height: clamp(360px, 68vw, 500px);
        min-height: clamp(360px, 68vw, 500px);
        object-position: center 40%;
    }
    .reviews__content {
        padding: clamp(20px, 4vw, 28px) 0 clamp(40px, 6vw, 56px);
    }
    .reviews__slider {
        width: 100%;
    }
}

@media (max-width: 960px) {
    .reviews__track {
        gap: var(--mobile-slide-gap);
        transition-duration: .42s;
        transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    }
    .reviews__slide {
        flex: 0 0 calc(100% - var(--mobile-slide-peek));
        width: calc(100% - var(--mobile-slide-peek));
        min-width: calc(100% - var(--mobile-slide-peek));
    }
}

@media (prefers-reduced-motion: reduce) {
    .reviews__track {
        transition: none;
    }
}

/* ─── Etkinlikler ─── */
.events {
    position: relative;
    z-index: 1;
    background: var(--bg);
    padding: clamp(56px, 7vw, 88px) 0 clamp(64px, 8vw, 96px);
}
.events__head {
    max-width: var(--site-width);
    margin: 0 auto clamp(36px, 5vw, 52px);
    padding: 0 var(--site-gutter);
    text-align: left;
}
.events__title {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(2rem, 4.2vw, 3.1rem);
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: .02em;
    text-transform: lowercase;
    color: var(--accent);
}
.events__title-vip {
    position: relative;
    display: inline-block;
    padding-bottom: 4px;
    font-weight: 600;
}
.events__title-vip::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s var(--ease);
}
.events__title:hover .events__title-vip::after {
    transform: scaleX(1);
}
.events__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 24px);
    max-width: var(--site-width);
    margin: 0 auto;
    padding: 0 var(--site-gutter);
}
.events__card {
    margin: 0;
}
.events__card-link {
    display: block;
    position: relative;
    overflow: hidden;
    color: inherit;
    text-decoration: none;
}
.events__media {
    position: relative;
    margin: 0;
    overflow: hidden;
    min-height: clamp(400px, 48vh, 560px);
}
.events__media img {
    display: block;
    width: 100%;
    height: clamp(400px, 48vh, 560px);
    min-height: clamp(400px, 48vh, 560px);
    object-fit: cover;
    object-position: center top;
    transform: scale(1.1);
    transform-origin: center top;
    transition: transform .85s var(--ease);
}
.events__card:first-child .events__media img {
    object-position: center top;
}
.events__card:last-child .events__media img {
    object-position: center top;
}
.events__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0, 18, 36, 0.82) 0%,
        rgba(0, 18, 36, 0.48) 34%,
        rgba(0, 18, 36, 0.08) 62%,
        transparent 100%
    );
    pointer-events: none;
}
.events__content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    padding: clamp(28px, 4vw, 40px) clamp(24px, 3.5vw, 36px);
}
.events__name {
    margin: 0 0 clamp(12px, 1.8vw, 16px);
    font-family: var(--font-display);
    font-size: clamp(1.25rem, 2.2vw, 1.65rem);
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: .03em;
    text-transform: lowercase;
    color: #fff;
}
.events__cta {
    display: inline-block;
    position: relative;
    padding-bottom: 4px;
    font-family: var(--font-body);
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: lowercase;
    color: #fff;
}
.events__cta::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(.55);
    transform-origin: left;
    transition: transform .35s var(--ease);
}
.events__card-link:hover .events__media img {
    transform: scale(1.14);
}
.events__card-link:hover .events__cta::after {
    transform: scaleX(1);
}

@media (max-width: 960px) {
    .events {
        padding: 48px 0 56px;
    }
    .events__head {
        margin-bottom: 28px;
    }
    .events__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .events__media {
        min-height: clamp(300px, 56vw, 420px);
    }
    .events__media img {
        height: clamp(300px, 56vw, 420px);
        min-height: clamp(300px, 56vw, 420px);
    }
}

/* ─── Rezervasyon ─── */
.booking {
    position: relative;
    z-index: 1;
    background: var(--bg);
    padding: 0;
    overflow: hidden;
}
.booking__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(16px, 2vw, 24px);
    max-width: var(--site-width);
    width: 100%;
    margin: 0 auto;
    padding: clamp(56px, 7vw, 88px) var(--site-gutter);
}
.booking__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    order: 1;
    padding: 0;
    min-width: 0;
    max-width: 100%;
}
.booking__eyebrow {
    margin: 0 0 12px;
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--accent);
}
.booking__title {
    margin: 0 0 clamp(16px, 2.5vw, 24px);
    font-family: var(--font-display);
    font-size: clamp(2.4rem, 5vw, 3.6rem);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: var(--accent);
}
.booking__body {
    max-width: 520px;
    margin-bottom: clamp(24px, 3.5vw, 32px);
}
.booking__text {
    margin: 0 0 1.25em;
    font-family: var(--font-body);
    font-size: clamp(1.02rem, 1.65vw, 1.12rem);
    font-weight: 400;
    line-height: 1.85;
    color: rgba(0, 56, 99, 0.78);
}
.booking__text:last-child {
    margin-bottom: 0;
}
.booking__text--emphasis {
    font-weight: 300;
    font-style: italic;
    letter-spacing: .01em;
}
.booking-marquee {
    width: 100%;
    max-width: 100%;
    margin: 0 0 clamp(20px, 3vw, 28px);
    overflow: hidden;
}
.booking-marquee__bar {
    overflow: hidden;
    width: 100%;
}
.booking-marquee__track {
    display: flex;
    width: max-content;
    will-change: transform;
    animation: bookingMarqueeScroll 42s linear infinite;
}
.booking-marquee__group {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: clamp(18px, 3vw, 28px);
    padding-right: clamp(18px, 3vw, 28px);
}
.booking-marquee__phrase {
    font-family: var(--font-display);
    font-size: clamp(.95rem, 1.5vw, 1.08rem);
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(0, 56, 99, 0.42);
    white-space: nowrap;
}
.booking-marquee__dot {
    font-size: .85rem;
    color: rgba(0, 56, 99, 0.28);
    line-height: 1;
}
@keyframes bookingMarqueeScroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
    .booking-marquee__track {
        animation: none;
    }
}
.booking__btn {
    display: inline-block;
    position: relative;
    padding-bottom: 4px;
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--accent);
    transition: color .3s var(--ease);
}
.booking__btn::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(.55);
    transform-origin: left;
    transition: transform .35s var(--ease);
}
.booking__btn:hover {
    color: var(--accent);
}
.booking__btn:hover::after {
    transform: scaleX(1);
}
.booking__btn--open {
    border: none;
    background: none;
    cursor: pointer;
    font: inherit;
}
.booking__hours {
    margin: 0 0 1.25rem;
    font-size: .82rem;
    letter-spacing: .06em;
    color: rgba(0, 56, 99, 0.62);
}
.booking__notice {
    margin: 0 0 1rem;
    padding: 12px 14px;
    border-radius: 8px;
    font-size: .88rem;
    line-height: 1.5;
}
.booking__notice--success {
    background: rgba(46, 125, 50, 0.1);
    color: #2e7d32;
}
.booking__notice--error {
    background: rgba(198, 40, 40, 0.08);
    color: #c62828;
}
.booking__form {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 520px;
}
.booking__honeypot {
    position: absolute;
    left: -9999px;
    opacity: 0;
    pointer-events: none;
}
.booking__form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.booking__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.booking__field--narrow {
    max-width: 100px;
}
.booking__label {
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(0, 56, 99, 0.65);
}
.booking__input,
.booking__textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid rgba(0, 56, 99, 0.18);
    border-radius: 6px;
    font: inherit;
    font-size: .92rem;
    color: var(--accent);
    background: rgba(255, 255, 255, 0.72);
}
.booking__textarea {
    resize: vertical;
    min-height: 72px;
}
.booking__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin-top: 4px;
}
.booking__link-wa {
    font-size: .78rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(0, 56, 99, 0.72);
    text-decoration: none;
}
.booking__link-wa:hover {
    text-decoration: underline;
}
.booking__media {
    order: 2;
    margin: 0;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 0;
    box-sizing: border-box;
    overflow: hidden;
}
.booking__video {
    display: block;
    width: 100%;
    max-width: 100%;
    height: clamp(400px, 48vh, 560px);
    min-height: clamp(400px, 48vh, 560px);
    object-fit: cover;
    object-position: center center;
    background: rgba(0, 56, 99, 0.06);
}

@media (max-width: 960px) {
    .booking__inner {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
        padding: 48px var(--site-gutter) 56px;
        gap: 20px;
        overflow: hidden;
    }
    .booking__content {
        order: 2;
        width: 100%;
        padding: 0;
    }
    .booking__media {
        order: 1;
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
    }
    .booking__video {
        width: 100%;
        max-width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 10;
        object-fit: cover;
        object-position: center center;
    }
}

/* ─── Rezervasyon modal ─── */
body.book-modal-open {
    overflow: hidden;
}
.book-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(16px, 4vw, 32px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .35s var(--ease), visibility .35s var(--ease);
}
.book-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.book-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 24, 48, 0.55);
    backdrop-filter: blur(6px);
}
.book-modal__dialog {
    position: relative;
    width: min(100%, 480px);
    max-height: min(92vh, 720px);
    overflow: auto;
    padding: clamp(28px, 5vw, 40px);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 64px rgba(0, 36, 72, 0.22);
    transform: translateY(16px) scale(.98);
    transition: transform .4s var(--ease);
}
.book-modal.is-open .book-modal__dialog {
    transform: translateY(0) scale(1);
}
.book-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    background: rgba(0, 56, 99, 0.06);
    color: var(--accent);
    font-size: 1.4rem;
    line-height: 1;
    cursor: pointer;
    transition: background .25s var(--ease);
}
.book-modal__close:hover {
    background: rgba(0, 56, 99, 0.12);
}
.book-modal__head {
    margin-bottom: clamp(20px, 3vw, 28px);
}
.book-modal__eyebrow {
    padding-right: 36px;
    margin: 0 0 8px;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: rgba(0, 56, 99, 0.55);
}
.book-modal__title {
    margin: 0 0 16px;
    padding-right: 36px;
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 4vw, 2rem);
    font-weight: 500;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--accent);
}
.book-modal__steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
}
.book-modal__step {
    width: 100%;
    min-width: 0;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-align: center;
    color: rgba(0, 56, 99, 0.45);
    background: rgba(0, 56, 99, 0.06);
    transition: background .25s var(--ease), color .25s var(--ease);
}
.book-modal__step.is-active {
    color: #fff;
    background: var(--accent);
}
.book-modal__field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}
.book-modal__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 12px;
    margin-bottom: 16px;
}
.book-modal__row .book-modal__field {
    margin-bottom: 0;
}
.book-modal__label {
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(0, 56, 99, 0.65);
}
.book-modal__input {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid rgba(0, 56, 99, 0.16);
    border-radius: 10px;
    font: inherit;
    font-size: .95rem;
    color: var(--accent);
    background: rgba(255, 255, 255, 0.9);
    transition: border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.book-modal__input:focus {
    outline: none;
    border-color: rgba(0, 56, 99, 0.45);
    box-shadow: 0 0 0 3px rgba(0, 56, 99, 0.08);
}
.book-modal__input::placeholder,
.book-modal__textarea::placeholder {
    color: rgba(0, 56, 99, 0.42);
}

.phone-input {
    display: flex;
    align-items: stretch;
    width: 100%;
    border: 1px solid rgba(0, 56, 99, 0.16);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.9);
    overflow: hidden;
    transition: border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.phone-input:focus-within {
    border-color: rgba(0, 56, 99, 0.45);
    box-shadow: 0 0 0 3px rgba(0, 56, 99, 0.08);
}
.phone-input__prefix {
    display: flex;
    align-items: center;
    padding: 0 12px;
    font-size: .95rem;
    font-weight: 600;
    color: rgba(0, 56, 99, 0.72);
    background: rgba(0, 56, 99, 0.05);
    border-right: 1px solid rgba(0, 56, 99, 0.12);
    white-space: nowrap;
}
.phone-input__control {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    padding: 12px 14px;
    font: inherit;
    font-size: .95rem;
    color: var(--accent);
}
.phone-input__control:focus {
    outline: none;
}
.phone-input .book-modal__input {
    border: none;
    box-shadow: none;
    padding: 12px 14px;
}
.phone-input:focus-within .book-modal__input {
    box-shadow: none;
}
.phone-input--contact {
    border-radius: 2px;
    border-color: rgba(0, 56, 99, 0.16);
    background: rgba(255, 255, 255, 0.35);
}
.phone-input--contact .phone-input__control {
    padding: 14px 16px;
    font-size: 1rem;
}
.phone-input--contact:focus-within {
    border-color: rgba(0, 56, 99, 0.42);
    background: rgba(255, 255, 255, 0.55);
    box-shadow: 0 0 0 3px rgba(0, 56, 99, 0.06);
}
.book-modal__slots {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    max-height: 220px;
    overflow-y: auto;
    padding: 2px;
}
.book-modal__slot {
    padding: 10px 8px;
    border: 1px solid rgba(0, 56, 99, 0.14);
    border-radius: 8px;
    background: #fff;
    font: inherit;
    font-size: .82rem;
    font-weight: 500;
    color: var(--accent);
    cursor: pointer;
    transition: border-color .2s var(--ease), background .2s var(--ease), color .2s var(--ease);
}
.book-modal__slot:hover {
    border-color: rgba(0, 56, 99, 0.35);
    background: rgba(0, 56, 99, 0.04);
}
.book-modal__slot.is-selected {
    border-color: var(--accent);
    background: var(--accent);
    color: #fff;
}
.book-modal__slot.is-reserved {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    min-height: 52px;
    border-color: rgba(0, 56, 99, 0.1);
    background: rgba(0, 56, 99, 0.04);
    color: rgba(0, 56, 99, 0.45);
    cursor: not-allowed;
    opacity: .88;
}
.book-modal__slot.is-reserved:hover {
    border-color: rgba(0, 56, 99, 0.1);
    background: rgba(0, 56, 99, 0.04);
}
.book-modal__slot-time {
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .02em;
}
.book-modal__slot-note {
    font-size: .62rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(198, 40, 40, 0.72);
}
.book-modal__slots-hint {
    margin: 12px 0 0;
    font-size: .78rem;
    line-height: 1.55;
    color: rgba(0, 56, 99, 0.62);
}
.book-modal__slots-hint-link {
    color: var(--accent);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.book-modal__slots-hint-link:hover {
    opacity: .85;
}
.book-modal__error {
    margin: 0 0 12px;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: .86rem;
    line-height: 1.45;
    color: #c62828;
    background: rgba(198, 40, 40, 0.08);
}
.book-modal__confirm[hidden] {
    display: none !important;
}
.book-modal__confirm:not([hidden]) {
    margin: 0 0 14px;
    padding: 14px 16px;
    border-radius: 10px;
    background: rgba(0, 56, 99, 0.05);
    border: 1px solid rgba(0, 56, 99, 0.1);
}
.book-modal__confirm-text {
    margin: 0 0 14px;
    font-size: .9rem;
    line-height: 1.6;
    color: rgba(0, 56, 99, 0.82);
}
.book-modal__confirm-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}
.book-modal__footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 8px;
}
.book-modal__btn {
    padding: 12px 22px;
    border: none;
    border-radius: 999px;
    font: inherit;
    font-size: .76rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #fff;
    background: var(--accent);
    cursor: pointer;
    transition: opacity .25s var(--ease), transform .25s var(--ease);
}
.book-modal__btn:hover:not(:disabled) {
    opacity: .92;
}
.book-modal__btn:disabled {
    opacity: .6;
    cursor: wait;
}
.book-modal__btn--ghost {
    color: var(--accent);
    background: rgba(0, 56, 99, 0.08);
}
.book-modal__honeypot {
    position: absolute;
    left: -9999px;
    opacity: 0;
    pointer-events: none;
}
.book-modal__dialog--success {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: min(420px, 72vh);
    text-align: center;
}

.book-modal__dialog--success .book-modal__head {
    display: none;
}

.book-modal__success[hidden] {
    display: none !important;
}
.book-modal__success:not([hidden]) {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 340px;
    margin: 0 auto;
    padding: clamp(24px, 5vw, 36px) 12px;
    text-align: center;
}

.book-modal__success-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    color: #fff;
    background: #2e7d32;
    box-shadow: 0 10px 28px rgba(46, 125, 50, 0.22);
}

.book-modal__success-badge {
    margin: 0 0 14px;
    padding: 0;
    border: none;
    background: none;
    font-family: var(--font-body);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: rgba(0, 56, 99, 0.52);
}
.book-modal__success-badge::after {
    content: "";
    display: block;
    width: 36px;
    height: 1px;
    margin: 12px auto 0;
    background: rgba(0, 56, 99, 0.16);
}

.book-modal__success h3 {
    margin: 0 0 12px;
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 4vw, 1.55rem);
    font-weight: 500;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: var(--accent);
}

.book-modal__success-text {
    margin: 0 0 28px;
    max-width: 28ch;
    font-size: .94rem;
    line-height: 1.65;
    color: rgba(0, 56, 99, 0.72);
}

.book-modal__btn--success {
    min-width: 148px;
    margin: 0 auto;
}
@media (max-width: 480px) {
    .book-modal__row {
        grid-template-columns: 1fr;
    }
    .book-modal__picker-row {
        grid-template-columns: 1fr;
    }
}

.book-modal__section {
    margin-bottom: 8px;
}

.book-modal__section-label {
    margin: 0 0 12px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(0, 56, 99, 0.55);
}

.book-modal__picker-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.ios-picker-trigger {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    width: 100%;
    min-height: 64px;
    padding: 14px 16px;
    border: 1px solid rgba(0, 56, 99, 0.12);
    border-radius: 14px;
    background: rgba(0, 56, 99, 0.04);
    text-align: left;
    cursor: pointer;
    transition: background .25s var(--ease), border-color .25s var(--ease), transform .2s var(--ease);
}

.ios-picker-trigger:hover {
    background: rgba(0, 56, 99, 0.07);
    border-color: rgba(0, 56, 99, 0.2);
}

.ios-picker-trigger:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

.ios-picker-trigger--full {
    min-height: 68px;
}

.ios-picker-trigger--guest-row {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.ios-picker-trigger--guest-row .ios-picker-trigger__hint {
    margin: 0;
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: none;
    color: rgba(0, 56, 99, 0.58);
    flex: 1 1 auto;
}

.ios-picker-trigger--guest-row .ios-picker-trigger__value {
    width: auto;
    flex: 0 0 auto;
    font-size: 1.08rem;
    font-weight: 600;
    text-align: right;
    white-space: nowrap;
}

.ios-picker-trigger__hint {
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(0, 56, 99, 0.48);
}

.ios-picker-trigger__value {
    display: block;
    width: 100%;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: .02em;
    color: var(--accent);
}

.book-picker-value {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
}

.book-picker-value__main {
    font-family: var(--font-body);
    font-size: .98rem;
    font-weight: 500;
    letter-spacing: .01em;
    color: var(--accent);
    text-align: left;
}

.book-picker-value__suffix {
    font-family: var(--font-body);
    font-size: .76rem;
    font-weight: 400;
    letter-spacing: .06em;
    text-transform: none;
    color: rgba(0, 56, 99, 0.52);
    text-align: right;
    flex: 0 0 auto;
    min-width: 4.8em;
}

.book-picker-value--date .book-picker-value__main {
    font-size: .96rem;
}

body.ios-picker-open {
    overflow: hidden;
}

.ios-picker-sheet {
    position: fixed;
    inset: 0;
    z-index: 12000;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity .28s ease, visibility .28s ease;
}

.ios-picker-sheet.is-open {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
}

.ios-picker-sheet__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.28);
}

.ios-picker-sheet__panel {
    position: relative;
    width: min(100%, 480px);
    background: #f2f2f7;
    border-radius: 14px 14px 0 0;
    overflow: hidden;
    transform: translateY(100%);
    transition: transform .34s cubic-bezier(.32, .72, 0, 1);
    box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.18);
}

.ios-picker-sheet.is-open .ios-picker-sheet__panel {
    transform: translateY(0);
}

.ios-picker-sheet--anchored {
    align-items: flex-start;
    justify-content: flex-start;
}

.ios-picker-sheet--anchored .ios-picker-sheet__backdrop {
    background: rgba(0, 24, 48, 0.18);
}

.ios-picker-sheet--anchored .ios-picker-sheet__panel {
    transform: translateY(10px);
    opacity: 0;
    transition: transform .28s cubic-bezier(.32, .72, 0, 1), opacity .28s ease;
    box-shadow: 0 18px 48px rgba(0, 36, 72, 0.24);
}

.ios-picker-sheet--anchored.is-open .ios-picker-sheet__panel {
    transform: translateY(0);
    opacity: 1;
}

.ios-picker-sheet__toolbar {
    display: grid;
    grid-template-columns: 88px 1fr 88px;
    align-items: center;
    min-height: 44px;
    padding: 0 8px;
    background: #fff;
    border-bottom: 1px solid rgba(60, 60, 67, 0.12);
}

.ios-picker-sheet__title {
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
    font-size: .88rem;
    font-weight: 600;
    text-align: center;
    color: #1c1c1e;
}

.ios-picker-sheet__action {
    border: none;
    background: transparent;
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
    font-size: 1rem;
    cursor: pointer;
    padding: 10px 8px;
}

.ios-picker-sheet__action--cancel {
    justify-self: start;
    color: #8e8e93;
}

.ios-picker-sheet__action--done {
    justify-self: end;
    color: #007aff;
    font-weight: 600;
}

.ios-picker-sheet__wheel-wrap {
    position: relative;
    background: #fff;
}

.ios-picker-sheet__highlight {
    position: absolute;
    top: 50%;
    left: 16px;
    right: 16px;
    height: 44px;
    transform: translateY(-50%);
    border-radius: 10px;
    background: rgba(120, 120, 128, 0.12);
    pointer-events: none;
}

.ios-picker-sheet__wheel {
    position: relative;
    z-index: 1;
    height: 220px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scroll-snap-type: y mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.ios-picker-sheet__wheel::-webkit-scrollbar {
    display: none;
}

.ios-picker-sheet__pad {
    flex-shrink: 0;
}

.ios-picker-sheet__item {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    scroll-snap-align: center;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 400;
    color: rgba(0, 56, 99, 0.58);
    transition: color .15s ease;
}

.ios-picker-sheet__item-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    width: min(100%, 292px);
    padding: 0 10px;
    box-sizing: border-box;
}

.ios-picker-sheet__item-main {
    font-family: var(--font-body);
    font-size: .98rem;
    font-weight: 500;
    letter-spacing: .01em;
    color: inherit;
    text-align: left;
    flex: 1 1 auto;
}

.ios-picker-sheet__item-suffix {
    font-family: var(--font-body);
    font-size: .74rem;
    font-weight: 400;
    letter-spacing: .05em;
    color: rgba(0, 56, 99, 0.46);
    text-align: right;
    flex: 0 0 auto;
    min-width: 4.8em;
}

.ios-picker-sheet__item-row--date .ios-picker-sheet__item-main {
    font-size: .96rem;
}

.ios-picker-sheet__item[data-selected="true"] {
    color: var(--accent);
    font-weight: 500;
}

.ios-picker-sheet__item[data-selected="true"] .ios-picker-sheet__item-main {
    font-weight: 600;
    color: var(--accent);
}

.ios-picker-sheet__item[data-selected="true"] .ios-picker-sheet__item-suffix {
    color: rgba(0, 56, 99, 0.62);
    font-weight: 500;
}

/* ─── Mutfak slider ─── */
.kitchen-slider {
    position: relative;
    z-index: 1;
    background: var(--bg);
    overflow: hidden;
    max-width: 100%;
}
.kitchen-slider__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
    min-height: clamp(640px, 72vh, 860px);
    max-width: var(--site-width);
    margin: 0 auto;
    padding-inline: var(--site-gutter);
    gap: clamp(48px, 7vw, 96px);
    overflow: hidden;
}
.kitchen-slider__content {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(48px, 6vw, 80px) clamp(12px, 2vw, 28px) clamp(48px, 6vw, 80px) 0;
    overflow: hidden;
    touch-action: pan-y;
    cursor: grab;
    -webkit-user-select: none;
    user-select: none;
}
@media (hover: hover) and (pointer: fine) {
    .kitchen-slider__content,
    .kitchen-slider__photo-viewport {
        -webkit-user-select: none;
        user-select: none;
    }
}
.kitchen-slider__content.is-dragging {
    cursor: grabbing;
    touch-action: none;
}
.kitchen-slider__pattern {
    position: absolute;
    top: 50%;
    left: 54%;
    transform: translate(-50%, -50%);
    width: min(82%, 540px);
    height: min(68%, 400px);
    pointer-events: none;
    background:
        linear-gradient(rgba(0, 56, 99, 0.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 56, 99, 0.055) 1px, transparent 1px),
        linear-gradient(rgba(0, 56, 99, 0.028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 56, 99, 0.028) 1px, transparent 1px);
    background-size: 32px 32px, 32px 32px, 128px 128px, 128px 128px;
    -webkit-mask-image: radial-gradient(ellipse at center, #000 36%, transparent 78%);
    mask-image: radial-gradient(ellipse at center, #000 36%, transparent 78%);
}
.kitchen-slider__frame {
    position: absolute;
    border: 1px solid rgba(0, 56, 99, 0.14);
}
.kitchen-slider__frame--1 {
    top: 50%;
    left: 58%;
    width: clamp(72px, 10vw, 120px);
    height: clamp(72px, 10vw, 120px);
    transform: translate(calc(-50% + 88px), calc(-50% - 72px));
}
.kitchen-slider__frame--2 {
    top: 50%;
    left: 54%;
    width: clamp(96px, 14vw, 160px);
    height: clamp(96px, 14vw, 160px);
    border-style: dashed;
    opacity: .7;
    transform: translate(calc(-50% - 96px), calc(-50% + 64px));
}
.kitchen-slider__frame--3 {
    top: 50%;
    left: 54%;
    width: clamp(48px, 7vw, 72px);
    height: clamp(48px, 7vw, 72px);
    opacity: .55;
    transform: translate(calc(-50% + 24px), calc(-50% + 8px)) rotate(12deg);
}
.kitchen-slider__stage {
    position: relative;
    z-index: 1;
    overflow: hidden;
    width: 100%;
    min-width: 0;
    min-height: clamp(260px, 32vh, 360px);
}
.kitchen-slider__panel-track {
    display: flex;
    gap: 0;
    height: 100%;
    will-change: transform;
    transition: transform .85s var(--ease);
}
.kitchen-slider__panel-track.is-dragging,
.kitchen-slider__photo-track.is-dragging {
    transition: none !important;
    cursor: grabbing;
}
.kitchen-slider__panel {
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.kitchen-slider__eyebrow {
    margin: 0 0 18px;
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: rgba(0, 56, 99, 0.78);
}
.kitchen-slider__title {
    margin: 0 0 clamp(22px, 3vw, 30px);
    font-family: var(--font-display);
    font-size: clamp(3rem, 7vw, 4.6rem);
    font-weight: 500;
    line-height: .95;
    letter-spacing: .02em;
    color: var(--accent);
}
.kitchen-slider__text {
    margin: 0 0 clamp(28px, 4vw, 36px);
    font-family: var(--font-body);
    font-size: clamp(1.02rem, 1.65vw, 1.12rem);
    font-weight: 400;
    line-height: 1.85;
    color: rgba(0, 56, 99, 0.78);
}
.kitchen-slider__cta {
    display: inline-block;
    position: relative;
    padding-bottom: 4px;
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--accent);
}
.kitchen-slider__cta::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(.55);
    transform-origin: left;
    transition: transform .35s var(--ease);
}
.kitchen-slider__cta:hover::after {
    transform: scaleX(1);
}
.kitchen-slider__nav {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: clamp(28px, 4vw, 40px);
}
.kitchen-slider__tab {
    padding: 0 0 3px;
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(0, 56, 99, 0.45);
    background: none;
    border: none;
    border-bottom: 1px solid transparent;
    cursor: pointer;
    transition: color .3s var(--ease), border-color .3s var(--ease);
}
.kitchen-slider__tab.is-active {
    color: var(--accent);
    border-bottom-color: var(--accent);
}
.kitchen-slider__tab:hover {
    color: var(--accent);
}
.kitchen-slider__visual {
    position: relative;
    display: flex;
    align-items: stretch;
    margin: 0;
    min-height: 100%;
    min-width: 0;
    padding: clamp(24px, 4vw, 40px) 0 clamp(24px, 4vw, 40px) clamp(16px, 3vw, 40px);
    box-sizing: border-box;
    overflow: hidden;
}
.kitchen-slider__photo-viewport {
    width: 100%;
    min-width: 0;
    height: clamp(520px, 65vh, 720px);
    min-height: clamp(520px, 65vh, 720px);
    overflow: hidden;
    touch-action: pan-y;
    cursor: grab;
    -webkit-user-select: none;
    user-select: none;
}
.kitchen-slider__photo-viewport.is-dragging {
    cursor: grabbing;
    touch-action: none;
}
.kitchen-slider__photo-track {
    display: flex;
    gap: 0;
    height: 100%;
    will-change: transform;
    transition: transform .85s var(--ease);
}
.kitchen-slider__photo {
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    margin: 0;
    height: 100%;
}
.kitchen-slider__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
.kitchen-slider__photo--ekip img {
    object-position: center 32%;
}
.kitchen-slider__track--instant {
    transition: none !important;
}

@media (max-width: 960px) {
    .kitchen-slider__inner {
        display: flex;
        flex-direction: column;
        position: relative;
        min-height: 0;
        overflow: hidden;
        gap: 0;
    }
    .kitchen-slider__visual {
        order: 0;
        min-height: 0;
        width: 100%;
        padding: clamp(16px, 3vw, 24px) 0 0;
    }
    .kitchen-slider__inner {
        padding-inline: var(--site-gutter);
    }
    .kitchen-slider__content {
        order: 1;
        display: flex;
        flex-direction: column;
        width: 100%;
        min-width: 0;
        padding: 0;
        overflow: hidden;
    }
    .kitchen-slider__pattern {
        display: none;
    }
    .kitchen-slider__stage {
        order: 1;
        min-height: clamp(220px, 48vw, 280px);
        padding: clamp(16px, 3.5vw, 22px) 0 0;
        max-width: 100%;
    }
    .kitchen-slider__panel {
        padding-inline: 0;
    }
    .kitchen-slider__nav {
        order: 2;
        padding: clamp(16px, 3vw, 22px) 0 0;
        margin-top: 0;
    }
    .kitchen-slider__photo-viewport {
        height: clamp(360px, 68vw, 500px);
        min-height: clamp(360px, 68vw, 500px);
    }
    .kitchen-slider__panel-track,
    .kitchen-slider__photo-track {
        gap: var(--mobile-slide-gap);
        transition-duration: .42s;
        transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    }
    .kitchen-slider__panel {
        flex: 0 0 calc(100% - var(--mobile-slide-peek));
        width: calc(100% - var(--mobile-slide-peek));
        min-width: calc(100% - var(--mobile-slide-peek));
        max-width: calc(100% - var(--mobile-slide-peek));
    }
    .kitchen-slider__photo {
        flex: 0 0 calc(100% - var(--mobile-slide-peek));
        width: calc(100% - var(--mobile-slide-peek));
        min-width: calc(100% - var(--mobile-slide-peek));
        border-radius: 2px;
        overflow: hidden;
    }
    .kitchen-slider__frame--1 {
        transform: translate(calc(-50% + 64px), calc(-50% - 56px));
    }
    .kitchen-slider__frame--2 {
        transform: translate(calc(-50% - 72px), calc(-50% + 48px));
    }
    .kitchen-slider__frame--3 {
        left: 50%;
        transform: translate(calc(-50% + 18px), calc(-50% + 6px)) rotate(12deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .kitchen-slider__panel-track,
    .kitchen-slider__photo-track {
        transition: none;
    }
}

/* Scroll reveal */
[data-reveal] {
    opacity: 0;
    transform: translateY(56px);
    transition:
        opacity .95s var(--ease),
        transform .95s var(--ease);
    transition-delay: var(--reveal-delay, 0s);
}
[data-reveal].is-revealed {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    [data-reveal] {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

.header-mobile-btn { display: none; }

/* ─── Responsive ─── */
@media (max-width: 1200px) {
    :root {
        --site-gutter: 32px;
    }
    .header-inner {
        column-gap: 40px;
    }
}
@media (max-width: 1100px) {
    .header-nav--left .nav-link:nth-child(n+4) { display: none; }
}
@media (max-width: 960px) {
    :root {
        --site-gutter: 20px;
        --logo-height: 72px;
    }
    .header-inner {
        grid-template-columns: 1fr auto 1fr;
        padding-top: 14px;
        padding-bottom: 12px;
        column-gap: 12px;
    }
    .header-nav--left,
    .header-nav--right { display: none; }
    .menu-toggle { display: inline-flex; }
    .nav-reservation--mobile { display: inline-block; }
    .header-logo {
        grid-column: 2;
        justify-self: center;
        padding: 0;
    }
    .menu-toggle {
        grid-column: 1;
        justify-self: start;
    }
    .nav-reservation--mobile {
        grid-column: 3;
        justify-self: end;
    }
    .nav-reservation--mobile .header-mobile-btn {
        display: inline-flex;
    }
    .nav-reservation--mobile .reservation-tooltip {
        top: calc(100% + 28px);
        left: auto;
        right: 0;
        width: 220px;
    }
    .header-logo__img { height: var(--logo-height); }
}

/* ─── Inner pages ─── */
body.page-inner {
    background: var(--bg);
}

/* ─── Detail pages (VIP, Etkinlikler) ─── */
.vip-page {
    background: var(--bg);
}
.vip-intro {
    padding: calc(var(--header-h) + clamp(24px, 4vw, 48px)) 0 clamp(32px, 5vw, 48px);
}
.vip-intro__inner {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 var(--site-gutter);
    text-align: center;
}
.vip-intro__eyebrow {
    margin: 0 0 14px;
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--accent);
}
.vip-intro__title {
    margin: 0 0 clamp(24px, 4vw, 32px);
    font-family: var(--font-display);
    font-size: clamp(2.6rem, 5.5vw, 4rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: .02em;
    color: var(--accent);
}
.vip-intro__body {
    max-width: 680px;
    margin: 0 auto;
}
.vip-intro__text {
    margin: 0 0 1.35em;
    font-family: var(--font-body);
    font-size: clamp(1.02rem, 1.65vw, 1.12rem);
    font-weight: 400;
    line-height: 1.85;
    color: rgba(0, 56, 99, 0.78);
}
.vip-intro__text:last-child {
    margin-bottom: 0;
}
.vip-intro__back {
    display: inline-block;
    position: relative;
    margin-top: clamp(28px, 4vw, 36px);
    padding-bottom: 4px;
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--accent);
}
.vip-intro__back::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(.55);
    transform-origin: left;
    transition: transform .35s var(--ease);
}
.vip-intro__back:hover::after {
    transform: scaleX(1);
}
.vip-gallery {
    padding: 0 0 clamp(56px, 7vw, 80px);
}
.vip-gallery__inner {
    width: 100%;
    max-width: var(--site-width);
    margin: 0 auto;
    padding: 0 var(--site-gutter);
}
.vip-gallery__list {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(28px, 4.5vw, 48px);
    max-width: min(100%, 980px);
    margin: 0 auto;
}
.vip-gallery__item {
    width: min(100%, 720px);
    margin: 0;
}
.vip-gallery__item--center {
    align-self: center;
}
.vip-gallery__item--left {
    align-self: flex-start;
    width: min(86%, 640px);
    margin-left: clamp(0px, 3vw, 32px);
}
.vip-gallery__item--right {
    align-self: flex-end;
    width: min(86%, 640px);
    margin-right: clamp(0px, 3vw, 32px);
}
.vip-gallery__item--wide {
    align-self: center;
    width: min(100%, 860px);
}
.vip-gallery__item--inset-left {
    align-self: flex-start;
    width: min(74%, 540px);
    margin-left: 0;
}
.vip-gallery__item--inset-right {
    align-self: flex-end;
    width: min(74%, 540px);
    margin-right: 0;
}
.vip-gallery__item--tall {
    align-self: center;
    width: min(58%, 420px);
}
.vip-gallery__item--landscape {
    align-self: center;
    width: min(94%, 800px);
}
.vip-gallery__trigger {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    cursor: zoom-in;
    overflow: hidden;
    transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
.vip-gallery__trigger:hover {
    transform: translateY(-2px);
}
.vip-gallery__img {
    display: block;
    width: 100%;
    height: auto;
    min-height: clamp(200px, 30vw, 320px);
    max-height: min(46vh, 480px);
    object-fit: cover;
    object-position: center center;
}
.vip-gallery__item--wide .vip-gallery__img,
.vip-gallery__item--wide .vip-gallery__placeholder {
    aspect-ratio: 5 / 3;
    min-height: clamp(220px, 34vw, 380px);
    max-height: min(50vh, 500px);
}
.vip-gallery__item--tall .vip-gallery__img,
.vip-gallery__item--tall .vip-gallery__placeholder {
    aspect-ratio: 3 / 4;
    min-height: clamp(280px, 46vw, 520px);
    max-height: min(62vh, 580px);
}
.vip-gallery__item--landscape .vip-gallery__img,
.vip-gallery__item--landscape .vip-gallery__placeholder {
    aspect-ratio: 16 / 9;
    min-height: clamp(180px, 26vw, 300px);
    max-height: min(42vh, 420px);
}
.vip-gallery__item--left .vip-gallery__img,
.vip-gallery__item--right .vip-gallery__img,
.vip-gallery__item--inset-left .vip-gallery__img,
.vip-gallery__item--inset-right .vip-gallery__img,
.vip-gallery__item--left .vip-gallery__placeholder,
.vip-gallery__item--right .vip-gallery__placeholder,
.vip-gallery__item--inset-left .vip-gallery__placeholder,
.vip-gallery__item--inset-right .vip-gallery__placeholder {
    min-height: clamp(210px, 32vw, 360px);
}
.vip-gallery__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: clamp(220px, 38vw, 360px);
    max-height: min(46vh, 480px);
    padding: 24px;
    box-sizing: border-box;
    background:
        linear-gradient(rgba(0, 56, 99, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 56, 99, 0.04) 1px, transparent 1px),
        rgba(0, 56, 99, 0.025);
    background-size: 24px 24px, 24px 24px, auto;
    border: 1px dashed rgba(0, 56, 99, 0.18);
    font-family: var(--font-body);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    text-align: center;
    color: rgba(0, 56, 99, 0.42);
}
.vip-lightbox {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(16px, 3vw, 32px);
    box-sizing: border-box;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .35s var(--ease), visibility .35s;
}
.vip-lightbox.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.vip-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 18, 36, 0.9);
}
.vip-lightbox__close {
    position: absolute;
    top: clamp(16px, 3vw, 28px);
    right: clamp(16px, 3vw, 28px);
    z-index: 2;
    width: 44px;
    height: 44px;
    padding: 0;
    border: none;
    background: transparent;
    font-size: 2rem;
    line-height: 1;
    color: #fff;
    cursor: pointer;
}
.vip-lightbox__nav {
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 50%;
    background: rgba(0, 18, 36, 0.35);
    color: #fff;
    cursor: pointer;
    transition: background .3s var(--ease), border-color .3s var(--ease);
}
.vip-lightbox__nav:hover {
    background: rgba(0, 18, 36, 0.55);
    border-color: rgba(255, 255, 255, 0.65);
}
.vip-lightbox__nav--prev {
    left: clamp(12px, 2.5vw, 24px);
}
.vip-lightbox__nav--next {
    right: clamp(12px, 2.5vw, 24px);
}
.vip-lightbox__viewport {
    position: relative;
    z-index: 1;
    width: min(100%, 920px);
    overflow: hidden;
    touch-action: pan-y;
    cursor: grab;
    -webkit-user-select: none;
    user-select: none;
}
.vip-lightbox__viewport:active,
.vip-lightbox__viewport.is-dragging {
    cursor: grabbing;
    touch-action: none;
}
.vip-lightbox__track {
    display: flex;
    will-change: transform;
    transition: transform .75s var(--ease);
}
.vip-lightbox__track--instant {
    transition: none !important;
}
.vip-lightbox__slide {
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: clamp(280px, 62vh, 640px);
}
.vip-lightbox__img {
    display: block;
    width: 100%;
    max-height: min(78vh, 720px);
    object-fit: contain;
}
.vip-lightbox__video {
    display: block;
    width: 100%;
    max-height: min(78vh, 720px);
    object-fit: contain;
    background: #000;
}
.vip-lightbox__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(100%, 720px);
    min-height: clamp(280px, 52vh, 480px);
    padding: 32px;
    box-sizing: border-box;
    border: 1px dashed rgba(255, 255, 255, 0.28);
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
}
.vip-cta {
    padding: 0 0 clamp(72px, 9vw, 96px);
}
.vip-cta__inner {
    max-width: 720px;
    margin: 0 auto;
    padding: clamp(32px, 5vw, 48px) var(--site-gutter);
    text-align: center;
    border-top: 1px solid rgba(0, 56, 99, 0.12);
}
.vip-cta__text {
    margin: 0 0 clamp(20px, 3vw, 28px);
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 2.4vw, 1.75rem);
    font-weight: 500;
    line-height: 1.35;
    color: var(--accent);
}
.vip-cta__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px 24px;
}
.vip-cta__btn {
    display: inline-block;
    padding: 12px 28px;
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    text-decoration: none;
    color: #fff;
    background: var(--btn);
    border-radius: 999px;
    transition: background .3s var(--ease), transform .2s var(--ease);
}
.vip-cta__btn:hover {
    background: var(--btn-hover);
    color: #fff;
    transform: translateY(-1px);
}
.vip-cta__link {
    display: inline-block;
    position: relative;
    padding-bottom: 4px;
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--accent);
}
.vip-cta__link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(.55);
    transform-origin: left;
    transition: transform .35s var(--ease);
}
.vip-cta__link:hover::after {
    transform: scaleX(1);
}

@media (max-width: 960px) {
    .vip-cta__actions {
        flex-direction: column;
    }
    .vip-lightbox__nav {
        display: none;
    }
    .vip-gallery__item,
    .vip-gallery__item--center,
    .vip-gallery__item--left,
    .vip-gallery__item--right,
    .vip-gallery__item--wide,
    .vip-gallery__item--inset-left,
    .vip-gallery__item--inset-right,
    .vip-gallery__item--tall,
    .vip-gallery__item--landscape {
        align-self: center;
        width: min(100%, 720px);
        margin-left: auto;
        margin-right: auto;
    }
}

/* ─── Legal pages ─── */
.legal-page {
    background: var(--bg);
    padding: calc(var(--header-h) + clamp(24px, 4vw, 48px)) 0 clamp(48px, 6vw, 72px);
}
.legal-page__inner {
    max-width: var(--site-width);
    margin: 0 auto;
    padding: 0 var(--site-gutter);
}
.legal-page__head {
    max-width: 760px;
    margin: 0 auto clamp(32px, 5vw, 48px);
    text-align: center;
}
.legal-page__eyebrow {
    margin: 0 0 14px;
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--accent);
    opacity: .72;
}
.legal-page__title {
    margin: 0 0 clamp(16px, 2.5vw, 24px);
    font-family: var(--font-display);
    font-size: clamp(2.2rem, 4.8vw, 3.4rem);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: .02em;
    color: var(--accent);
}
.legal-page__lead {
    margin: 0;
    font-family: var(--font-body);
    font-size: clamp(1rem, 1.6vw, 1.1rem);
    line-height: 1.8;
    color: rgba(0, 56, 99, 0.72);
}
.legal-page__content {
    max-width: 760px;
    margin: 0 auto;
}
.legal-page__section + .legal-page__section {
    margin-top: clamp(28px, 4vw, 40px);
    padding-top: clamp(28px, 4vw, 40px);
    border-top: 1px solid rgba(0, 56, 99, 0.12);
}
.legal-page__heading {
    margin: 0 0 14px;
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 2.4vw, 1.65rem);
    font-weight: 500;
    color: var(--accent);
}
.legal-page__text {
    margin: 0 0 1em;
    font-family: var(--font-body);
    font-size: clamp(.98rem, 1.5vw, 1.05rem);
    line-height: 1.85;
    color: rgba(0, 56, 99, 0.78);
}
.legal-page__text:last-child {
    margin-bottom: 0;
}
.legal-page__list {
    margin: 0;
    padding: 0 0 0 1.25em;
    font-family: var(--font-body);
    font-size: clamp(.98rem, 1.5vw, 1.05rem);
    line-height: 1.85;
    color: rgba(0, 56, 99, 0.78);
}
.legal-page__list li + li {
    margin-top: .45em;
}
.legal-page__back,
.contact-page__back {
    display: inline-block;
    position: relative;
    margin: clamp(36px, 5vw, 48px) auto 0;
    padding-bottom: 4px;
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--accent);
}
.legal-page__back {
    display: block;
    width: fit-content;
}
.legal-page__back::after,
.contact-page__back::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(.55);
    transform-origin: left;
    transition: transform .35s var(--ease);
}
.legal-page__back:hover::after,
.contact-page__back:hover::after {
    transform: scaleX(1);
}

/* ─── Contact page ─── */
.contact-page {
    background: var(--bg);
    padding: calc(var(--header-h) + clamp(32px, 5vw, 56px)) 0 clamp(56px, 7vw, 88px);
}
.contact-page__inner {
    max-width: var(--site-width);
    margin: 0 auto;
    padding: 0 var(--site-gutter);
}
.contact-page__head {
    max-width: 640px;
    margin: 0 auto clamp(40px, 5vw, 56px);
    text-align: center;
}
.contact-page__eyebrow {
    margin: 0 0 14px;
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--accent);
    opacity: .72;
}
.contact-page__title {
    margin: 0 0 clamp(14px, 2vw, 20px);
    font-family: var(--font-display);
    font-size: clamp(2.4rem, 5vw, 3.6rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: .02em;
    text-transform: lowercase;
    color: var(--accent);
}
.contact-page__lead {
    margin: 0 auto;
    max-width: 46ch;
    font-family: var(--font-body);
    font-size: clamp(1rem, 1.6vw, 1.1rem);
    line-height: 1.82;
    color: rgba(0, 56, 99, 0.72);
}
.contact-page__channels {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 3vw, 32px);
    max-width: 980px;
    margin: 0 auto clamp(40px, 5vw, 56px);
    padding-bottom: clamp(32px, 4vw, 44px);
    border-bottom: 1px solid rgba(0, 56, 99, 0.14);
    text-align: center;
}
.contact-page__channel {
    position: relative;
    padding: 0 clamp(12px, 2vw, 20px);
}
.contact-page__channel + .contact-page__channel::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8%;
    bottom: 8%;
    width: 1px;
    background: rgba(0, 56, 99, 0.14);
}
.contact-page__channel-label {
    margin: 0 0 10px;
    font-family: var(--font-body);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: rgba(0, 56, 99, 0.55);
}
.contact-page__channel-value {
    margin: 0;
    font-family: var(--font-body);
    font-size: clamp(.94rem, 1.45vw, 1.04rem);
    line-height: 1.65;
    color: var(--accent);
}
.contact-page__channel-link {
    text-decoration: none;
    transition: opacity .3s var(--ease);
}
.contact-page__channel-link:hover {
    opacity: .72;
}
.contact-page__channel-link--map {
    display: inline-block;
}
.contact-page__location-hint {
    display: block;
    margin-top: 6px;
    font-size: .78rem;
    font-style: italic;
    font-weight: 400;
    letter-spacing: .06em;
    color: rgba(0, 56, 99, 0.62);
}
.contact-page__channel-link--map:hover .contact-page__location-hint {
    color: var(--accent);
}
.contact-page__form-section {
    max-width: 760px;
    margin: 0 auto;
}
.contact-page__form-title {
    margin: 0 0 clamp(24px, 3vw, 32px);
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 2.8vw, 2rem);
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: .02em;
    text-align: center;
    text-transform: lowercase;
    color: var(--accent);
}
.contact-page__notice {
    margin: 0 auto clamp(20px, 3vw, 24px);
    max-width: 560px;
    padding: 14px 18px;
    font-family: var(--font-body);
    font-size: .92rem;
    line-height: 1.6;
    text-align: center;
}
.contact-page__notice--success {
    background: rgba(0, 56, 99, 0.06);
    color: var(--accent);
    border: 1px solid rgba(0, 56, 99, 0.12);
}
.contact-page__notice--error {
    background: rgba(160, 40, 40, 0.06);
    color: #8a2828;
    border: 1px solid rgba(160, 40, 40, 0.16);
}
.contact-page__form {
    display: flex;
    flex-direction: column;
    gap: clamp(18px, 2.5vw, 22px);
}
.contact-page__form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(16px, 2.5vw, 22px);
}
.contact-page__honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.contact-page__field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.contact-page__label {
    font-family: var(--font-body);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(0, 56, 99, 0.58);
}
.contact-page__optional {
    font-weight: 400;
    letter-spacing: .04em;
    text-transform: none;
    opacity: .75;
}
.contact-page__input,
.contact-page__textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid rgba(0, 56, 99, 0.16);
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.35);
    font-family: var(--font-body);
    font-size: 1rem;
    color: var(--accent);
    transition: border-color .3s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease);
}
.contact-page__input:focus,
.contact-page__textarea:focus {
    outline: none;
    border-color: rgba(0, 56, 99, 0.42);
    background: rgba(255, 255, 255, 0.55);
    box-shadow: 0 0 0 3px rgba(0, 56, 99, 0.06);
}
.contact-page__textarea {
    resize: vertical;
    min-height: 140px;
}
.contact-page__submit-wrap {
    display: flex;
    justify-content: center;
    padding-top: clamp(8px, 1.5vw, 12px);
}
.contact-page__submit {
    min-width: min(100%, 220px);
    padding: 15px 40px;
    border: none;
    border-radius: 2px;
    background: var(--accent);
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--bg);
    cursor: pointer;
    transition: opacity .3s var(--ease), transform .2s var(--ease), box-shadow .3s var(--ease);
}
.contact-page__submit:hover {
    opacity: .9;
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(0, 56, 99, 0.14);
}
.contact-page__back {
    display: block;
    width: fit-content;
    margin: clamp(40px, 5vw, 52px) auto 0;
}

@media (max-width: 960px) {
    .contact-page__channels {
        grid-template-columns: 1fr;
        gap: 0;
        max-width: 420px;
        padding-bottom: 28px;
    }
    .contact-page__channel {
        padding: 18px 0;
        border-bottom: 1px solid rgba(0, 56, 99, 0.1);
    }
    .contact-page__channel:last-child {
        border-bottom: none;
    }
    .contact-page__channel + .contact-page__channel::before {
        display: none;
    }
    .contact-page__form-row {
        grid-template-columns: 1fr;
    }
    .contact-page__title {
        font-size: clamp(2rem, 8vw, 2.6rem);
    }
    .contact-page__lead {
        font-size: .94rem;
        line-height: 1.78;
    }
}

/* ─── Footer ─── */
.site-footer {
    position: relative;
    z-index: 2;
    background: var(--bg);
    color: var(--accent);
}
.site-footer__line {
    height: 1px;
    background: rgba(0, 56, 99, 0.22);
}
.site-footer__line--thin {
    opacity: .85;
}
.site-footer__inner {
    max-width: var(--site-width);
    margin: 0 auto;
    padding-inline: var(--site-gutter);
    box-sizing: border-box;
}
.site-footer__main {
    padding: clamp(40px, 5vw, 56px) 0;
}
.site-footer__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: clamp(20px, 3vw, 40px);
}
.site-footer__logo {
    grid-column: 1;
    justify-self: start;
    display: inline-flex;
    flex-shrink: 0;
    transition: opacity .35s var(--ease), transform .35s var(--ease);
}
.site-footer__logo:hover {
    opacity: .82;
    transform: translateY(-1px);
}
.site-footer__logo-img {
    display: block;
    height: var(--logo-height);
    width: auto;
    object-fit: contain;
}
.site-footer__nav {
    grid-column: 2;
    justify-self: center;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: clamp(18px, 2.8vw, 32px);
    max-width: 100%;
}
.site-footer__link {
    position: relative;
    padding-bottom: 2px;
    font-family: var(--font-body);
    font-size: clamp(.78rem, 1.15vw, .86rem);
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: lowercase;
    color: rgba(0, 56, 99, 0.78);
    white-space: nowrap;
    transition: color .3s var(--ease);
}
.site-footer__link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s var(--ease);
}
.site-footer__link:hover {
    color: var(--accent);
}
.site-footer__link:hover::after {
    transform: scaleX(1);
}
.site-footer__contact {
    grid-column: 3;
    justify-self: end;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    max-width: min(100%, 300px);
    text-align: right;
}
.site-footer__contact-line {
    font-family: var(--font-body);
    font-size: clamp(.8rem, 1.1vw, .9rem);
    line-height: 1.55;
    color: rgba(0, 56, 99, 0.68);
    transition: color .3s var(--ease);
}
.site-footer__contact-line:hover {
    color: var(--accent);
}
.site-footer__contact-line--address {
    color: rgba(0, 56, 99, 0.82);
}
.site-footer__contact-hint {
    display: block;
    margin-top: 3px;
    font-size: .68rem;
    font-style: italic;
    letter-spacing: .06em;
    color: rgba(0, 56, 99, 0.52);
    transition: color .3s var(--ease);
}
.site-footer__contact-line--address:hover .site-footer__contact-hint {
    color: var(--accent);
}
.site-footer__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px 24px;
    flex-wrap: wrap;
    padding: clamp(16px, 2.2vw, 20px) 0 clamp(24px, 3vw, 32px);
}
.site-footer__copy {
    margin: 0;
    font-family: var(--font-body);
    font-size: .74rem;
    letter-spacing: .06em;
    color: rgba(0, 56, 99, 0.52);
}
.site-footer__copy-sep {
    margin: 0 .45em;
    color: rgba(0, 56, 99, 0.32);
}
.site-footer__credit {
    color: rgba(0, 56, 99, 0.52);
    transition: color .3s var(--ease);
}
.site-footer__credit:hover {
    color: var(--accent);
}
.site-footer__legal {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(14px, 2vw, 24px);
}
.site-footer__legal-link {
    font-family: var(--font-body);
    font-size: .74rem;
    letter-spacing: .06em;
    color: rgba(0, 56, 99, 0.52);
    transition: color .3s var(--ease);
}
.site-footer__legal-link:hover {
    color: var(--accent);
}

/* ─── WhatsApp & back to top ─── */
.wa-float-wrap {
    position: fixed;
    right: calc((100vw - min(100vw, var(--site-width))) / 2 + var(--site-gutter));
    bottom: clamp(16px, 3vw, 28px);
    z-index: 980;
}
.wa-float {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--float-btn-size);
    height: var(--float-btn-size);
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    box-shadow: 0 10px 28px rgba(0, 56, 99, 0.18);
    transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
.wa-float:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px rgba(0, 56, 99, 0.22);
}
.back-top {
    position: fixed;
    right: calc((100vw - min(100vw, var(--site-width))) / 2 + var(--site-gutter));
    bottom: calc(clamp(16px, 3vw, 28px) + var(--float-btn-size) + var(--float-btn-gap));
    z-index: 980;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--float-btn-size);
    height: var(--float-btn-size);
    padding: 0;
    border: 1px solid rgba(0, 56, 99, 0.14);
    border-radius: 50%;
    background: rgba(248, 237, 221, 0.96);
    color: var(--accent);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .35s var(--ease), visibility .35s var(--ease), transform .35s var(--ease), background .35s var(--ease);
    backdrop-filter: blur(6px);
}
.back-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.back-top:hover {
    background: var(--bg);
}

@media (max-width: 960px) {
    .site-footer__top {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
        gap: 28px;
    }
    .site-footer__logo-img {
        height: var(--logo-height);
    }
    .site-footer__logo,
    .site-footer__nav,
    .site-footer__contact {
        grid-column: 1;
        justify-self: center;
    }
    .site-footer__contact {
        align-items: center;
        text-align: center;
        max-width: 100%;
    }
    .site-footer__bar {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .site-footer__legal {
        justify-content: center;
    }
}

/* ─── Mobile typography ─── */
@media (max-width: 960px) {
    body {
        font-size: 14px;
    }
    .story__title {
        font-size: clamp(1.62rem, 6.8vw, 2rem);
    }
    .story__text {
        font-size: .86rem;
        line-height: 1.76;
    }
    .reviews__eyebrow,
    .booking__eyebrow,
    .kitchen-slider__eyebrow {
        font-size: .7rem;
        letter-spacing: .2em;
    }
    .reviews__title {
        font-size: clamp(1.95rem, 8.2vw, 2.45rem);
    }
    .reviews__card-text {
        font-size: .94rem;
        line-height: 1.78;
    }
    .reviews__btn,
    .booking__btn,
    .kitchen-slider__cta,
    .events__cta {
        font-size: .72rem;
        letter-spacing: .2em;
    }
    .events__title {
        font-size: clamp(1.72rem, 7.2vw, 2.2rem);
    }
    .events__name {
        font-size: clamp(1.08rem, 4.2vw, 1.28rem);
    }
    .events__content {
        padding: clamp(20px, 4vw, 28px) clamp(18px, 3.5vw, 24px);
    }
    .booking__title {
        font-size: clamp(1.95rem, 8.2vw, 2.45rem);
    }
    .booking__text {
        font-size: .94rem;
        line-height: 1.78;
    }
    .kitchen-slider__title {
        font-size: clamp(2.2rem, 9.5vw, 2.85rem);
    }
    .kitchen-slider__text {
        font-size: .94rem;
        line-height: 1.78;
    }
    .kitchen-slider__tab {
        font-size: .7rem;
        letter-spacing: .14em;
    }
    .showcase-strip__eyebrow {
        font-size: .7rem;
        letter-spacing: .2em;
    }
    .showcase-strip__title {
        font-size: clamp(1.62rem, 6.8vw, 1.95rem);
        max-width: none;
    }
    .showcase-strip__lead {
        font-size: .82rem;
        line-height: 1.72;
        font-style: italic;
        font-weight: 300;
    }
    .mobile-nav__links .nav-link {
        font-size: 1rem;
        padding: 12px 0;
    }
    .mobile-nav__lang {
        font-size: .76rem;
    }
    .site-footer__link {
        font-size: .72rem;
        letter-spacing: .12em;
    }
    .site-footer__contact-line {
        font-size: .82rem;
    }
    .site-footer__copy,
    .site-footer__legal-link,
    .site-footer__credit {
        font-size: .68rem;
    }
    .vip-intro__title {
        font-size: clamp(2rem, 8.5vw, 2.6rem);
    }
    .vip-intro__text {
        font-size: .94rem;
        line-height: 1.78;
    }
    .vip-cta__text {
        font-size: clamp(1.15rem, 4.8vw, 1.45rem);
    }
}

/* ─── Geri bildirim / googleyorumlar sayfası ─── */
body.page-feedback {
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
    min-height: 100svh;
    background: var(--bg);
}
@supports (-webkit-touch-callout: none) {
    body.page-feedback {
        min-height: -webkit-fill-available;
    }
}
body.page-feedback .feedback-page {
    flex: 1 0 auto;
    width: 100%;
}
body.page-feedback .site-footer {
    flex-shrink: 0;
    margin-top: auto;
}
.feedback-page {
    background: var(--bg);
    padding: calc(var(--header-h) + clamp(28px, 4vw, 48px)) var(--site-gutter) clamp(32px, 4vw, 48px);
    box-sizing: border-box;
}
.feedback-page__card {
    width: min(820px, 100%);
    margin: 0 auto;
    text-align: center;
}
.feedback-page__head {
    margin-bottom: clamp(20px, 3.5vw, 32px);
}
.feedback-page__title {
    margin: 0 0 10px;
    font-family: var(--font-display);
    font-size: clamp(1.55rem, 3.8vw, 2.25rem);
    font-weight: 500;
    line-height: 1.18;
    letter-spacing: .02em;
    color: var(--accent);
}
.feedback-page__lead {
    margin: 0 auto;
    max-width: 580px;
    font-family: var(--font-body);
    font-size: clamp(.88rem, 2vw, 1rem);
    line-height: 1.62;
    color: rgba(9, 48, 44, .68);
}
.feedback-page__choices {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(10px, 2vw, 14px);
    margin-bottom: clamp(18px, 3vw, 24px);
}
.feedback-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: clamp(96px, 16vw, 118px);
    padding: 12px 8px;
    border: none;
    border-radius: 16px;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease;
    font-family: var(--font-body);
    font-size: clamp(.78rem, 1.8vw, .92rem);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #fff;
}
.feedback-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(9, 48, 44, .16);
}
.feedback-btn:active {
    transform: translateY(0);
}
.feedback-btn__face {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(46px, 9vw, 54px);
    height: clamp(46px, 9vw, 54px);
    border-radius: 50%;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
}
.feedback-btn__face svg {
    display: block;
    width: clamp(34px, 7vw, 40px);
    height: auto;
}
.feedback-btn--mukemmel { background: #2e7d32; }
.feedback-btn--iyi { background: #689f38; }
.feedback-btn--okay { background: #b8860b; }
.feedback-btn--kotu { background: #e65100; }
.feedback-page__thanks {
    margin: 0;
    font-family: var(--font-body);
    font-size: clamp(.78rem, 1.8vw, .88rem);
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--accent);
    opacity: .85;
}
.feedback-page__form-wrap {
    width: min(640px, 100%);
    margin: 0 auto clamp(8px, 2vw, 16px);
    padding: clamp(20px, 4vw, 32px) 0 0;
}
.feedback-page__field-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(10px, 2.5vw, 20px);
    margin-bottom: clamp(16px, 3vw, 24px);
}
.feedback-page__field-row .feedback-page__field {
    margin-bottom: 0;
}
.feedback-page__sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.feedback-page__form {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.feedback-page__rating {
    margin: 0 0 clamp(20px, 3vw, 28px);
    padding: 0;
    border: 0;
}
.feedback-page__rating .feedback-page__label {
    margin-bottom: 12px;
    text-align: center;
}
.feedback-stars {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(4px, 1.2vw, 10px);
}
.feedback-stars__star {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    border: 0;
    background: none;
    color: rgba(9, 48, 44, .18);
    cursor: pointer;
    line-height: 0;
    transition: color .16s ease, transform .16s ease;
}
.feedback-stars__star:hover,
.feedback-stars__star:focus-visible {
    transform: scale(1.06);
}
.feedback-stars__star.is-active {
    color: #c9a227;
}
.feedback-stars__icon {
    display: block;
    width: clamp(32px, 7vw, 40px);
    height: clamp(32px, 7vw, 40px);
}
.feedback-page__field {
    margin-bottom: clamp(20px, 3.5vw, 28px);
}
.feedback-page__label {
    display: block;
    margin-bottom: 8px;
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(9, 48, 44, .58);
}
.feedback-page__optional {
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    opacity: .75;
}
.feedback-page__input,
.feedback-page__textarea,
.feedback-page .phone-input--feedback .phone-input__control {
    width: 100%;
    padding: 12px 14px;
    border: none;
    border-radius: 10px;
    font-family: var(--font-body);
    font-size: clamp(.9rem, 2vw, 1.02rem);
    line-height: 1.5;
    color: var(--accent);
    background: rgba(255, 255, 255, .55);
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
    transition: background .28s var(--ease);
}
.feedback-page__input::placeholder,
.feedback-page__textarea::placeholder,
.feedback-page .phone-input--feedback .phone-input__control::placeholder {
    color: rgba(9, 48, 44, .42);
    font-weight: 400;
}
.feedback-page__input:focus,
.feedback-page__textarea:focus,
.feedback-page .phone-input--feedback:focus-within {
    outline: none;
}
.feedback-page__input:focus,
.feedback-page__textarea:focus {
    background: rgba(255, 255, 255, .78);
    box-shadow: none;
}
.feedback-page__textarea {
    resize: none;
    min-height: 108px;
}
.feedback-page .phone-input.phone-input--feedback {
    display: flex;
    align-items: stretch;
    width: 100%;
    border: none;
    border-radius: 10px;
    background: rgba(255, 255, 255, .55);
    overflow: hidden;
    box-shadow: none;
    transition: background .28s var(--ease);
}
.feedback-page .phone-input.phone-input--feedback:focus-within {
    background: rgba(255, 255, 255, .78);
    box-shadow: none;
}
.feedback-page .phone-input.phone-input--feedback .phone-input__prefix {
    display: flex;
    align-items: center;
    padding: 0 0 0 12px;
    background: transparent;
    border: 0;
    font-size: clamp(.9rem, 2vw, 1.02rem);
    font-weight: 500;
    color: rgba(9, 48, 44, .62);
    white-space: nowrap;
}
.feedback-page .phone-input.phone-input--feedback .phone-input__control {
    flex: 1;
    min-width: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    padding: 12px 12px 12px 8px;
}
.feedback-page__form-actions {
    display: flex;
    gap: 12px;
    justify-content: stretch;
    margin-top: clamp(8px, 2vw, 16px);
    padding-top: 4px;
}
.feedback-page__back,
.feedback-page__submit {
    flex: 1;
    padding: 14px 20px;
    border-radius: 999px;
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), transform .2s var(--ease);
}
.feedback-page__back {
    background: transparent;
    border: 1px solid rgba(9, 48, 44, .2);
    color: var(--accent);
}
.feedback-page__back:hover {
    border-color: var(--accent);
    background: rgba(9, 48, 44, .04);
}
.feedback-page__submit {
    border: 1px solid var(--accent);
    background: var(--accent);
    color: #fff;
}
.feedback-page__submit:hover {
    transform: translateY(-1px);
    background: #072f2b;
    border-color: #072f2b;
}
body.feedback-thanks-open {
    overflow: hidden;
}
.feedback-thanks-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: grid;
    place-items: center;
    padding: 20px;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity .28s var(--ease), visibility .28s var(--ease);
}
.feedback-thanks-modal.is-open {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
}
.feedback-thanks-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(9, 48, 44, .42);
}
.feedback-thanks-modal__dialog {
    position: relative;
    width: min(420px, 100%);
    padding: clamp(28px, 5vw, 36px) clamp(24px, 4vw, 32px);
    border-radius: 16px;
    background: var(--bg);
    text-align: center;
    box-shadow: 0 24px 60px rgba(9, 48, 44, .18);
    transform: translateY(12px) scale(.98);
    transition: transform .32s var(--ease);
}
.feedback-thanks-modal.is-open .feedback-thanks-modal__dialog {
    transform: translateY(0) scale(1);
}
.feedback-thanks-modal__title {
    margin: 0 0 12px;
    font-family: var(--font-display);
    font-size: clamp(1.45rem, 3.5vw, 1.85rem);
    font-weight: 500;
    color: var(--accent);
}
.feedback-thanks-modal__text {
    margin: 0 0 16px;
    font-size: clamp(.92rem, 2vw, 1rem);
    line-height: 1.62;
    color: rgba(9, 48, 44, .72);
}
.feedback-thanks-modal__redirect {
    margin: 0;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(9, 48, 44, .48);
}
.feedback-page__honeypot {
    position: absolute;
    left: -9999px;
    opacity: 0;
    pointer-events: none;
}
.feedback-page__done-text {
    margin: 0 0 14px;
    font-size: .98rem;
    color: var(--accent);
}
.feedback-page__home-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 22px;
    border-radius: 999px;
    background: var(--accent);
    color: #fff;
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
}
@media (max-width: 720px) {
    .feedback-page__choices {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .feedback-btn {
        min-height: 104px;
    }
}
