:root{--font-display:'Marcellus';--font-body:'Manrope';}
:root{--ink:#13293d;--tram:#b4232c;--tram-dark:#8f1a22;--brass:#b08d57;--stone:#f3f2ee;--paper:#ffffff;--bs-body-bg:var(--stone);--bs-body-color:var(--ink);--bs-body-font-family:var(--font-body), system-ui, sans-serif;--bs-body-line-height:1.6;--bs-border-color:rgba(19, 41, 61, 0.14);--bs-link-color:var(--tram);--bs-link-hover-color:var(--tram-dark);--bs-link-color-rgb:180, 35, 44;--bs-link-hover-color-rgb:143, 26, 34;}
html{scroll-behavior:smooth;scroll-padding-top:80px;}
h1, h2, h3, h4, .font-display{font-family:var(--font-display), Georgia, serif;font-weight:400;letter-spacing:0.01em;text-wrap:balance;}
p{text-wrap:pretty;}
.eyebrow{font-size:0.75rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--tram);}
.text-ink{color:var(--ink) !important;}
.text-muted-ink{color:rgba(19, 41, 61, 0.68) !important;}
.text-brass{color:var(--brass) !important;}
.bg-ink{background-color:var(--ink) !important;color:var(--stone);}
.bg-paper{background-color:var(--paper) !important;}
.bg-stone{background-color:var(--stone) !important;}
.section{padding-block:5rem;}
@media (min-width: 992px){.section{padding-block:7rem;}}
.btn-tram{--bs-btn-bg:var(--tram);--bs-btn-border-color:var(--tram);--bs-btn-color:var(--paper);--bs-btn-hover-bg:var(--tram-dark);--bs-btn-hover-border-color:var(--tram-dark);--bs-btn-hover-color:var(--paper);--bs-btn-active-bg:var(--tram-dark);--bs-btn-active-border-color:var(--tram-dark);--bs-btn-active-color:var(--paper);--bs-btn-focus-shadow-rgb:180, 35, 44;--bs-btn-padding-x:1.5rem;--bs-btn-padding-y:0.8rem;--bs-btn-font-weight:600;--bs-btn-border-radius:0.25rem;}
.btn-outline-ink{--bs-btn-color:var(--ink);--bs-btn-border-color:var(--ink);--bs-btn-hover-bg:var(--ink);--bs-btn-hover-border-color:var(--ink);--bs-btn-hover-color:var(--stone);--bs-btn-active-bg:var(--ink);--bs-btn-active-color:var(--stone);--bs-btn-padding-x:1.5rem;--bs-btn-padding-y:0.8rem;--bs-btn-font-weight:600;--bs-btn-border-radius:0.25rem;}
.site-nav{transition:background-color 0.3s ease, box-shadow 0.3s ease, padding 0.3s ease;padding-block:1.1rem;}
.site-nav .nav-link, .site-nav .navbar-brand{color:var(--stone);}
.site-nav .nav-link:hover, .site-nav .nav-link:focus-visible{color:var(--paper);}
.site-nav.is-scrolled, .site-nav.is-open{background-color:var(--ink);box-shadow:0 6px 24px rgba(19, 41, 61, 0.18);padding-block:0.6rem;}
.site-nav .navbar-toggler{border-color:rgba(243, 242, 238, 0.4);color:var(--stone);}
.brand-logo{display:block;width:auto;max-height:44px;height:auto;}
.brand-mark{width:2.25rem;height:2.25rem;border:1px solid var(--brass);color:var(--brass);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display), serif;font-size:1.1rem;}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:var(--stone);isolation:isolate;}
.hero-media{position:absolute;inset:0;z-index:-1;}
.hero-media img, .img-frame img, .room-card .room-media img, .fill-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-media::after{content:"";position:absolute;inset:0;}
.hero-title{font-size:clamp(2.75rem, 7vw, 5.5rem);line-height:1.02;}
.taksim{background:linear-gradient(90deg, rgba(0, 0, 0, 0.71) 0%, rgba(19, 41, 61, 0.15) 65%), linear-gradient(180deg, rgba(16, 38, 58, 0) 0%, rgba(19, 41, 61, 0.15) 40%, rgba(0, 0, 0, 0) 100%);padding:8px;}
.booking-bar{background:var(--paper);color:var(--ink);border-radius:0.5rem;box-shadow:0 20px 50px rgba(19, 41, 61, 0.3);}
.booking-bar .form-label{font-size:0.7rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:rgba(19, 41, 61, 0.6);margin-bottom:0.35rem;}
.booking-bar .form-control, .booking-bar .form-select{border-radius:0.25rem;padding-block:0.7rem;}
.form-control:focus, .form-select:focus{border-color:var(--tram);box-shadow:0 0 0 0.2rem rgba(180, 35, 44, 0.18);}
.room-card{background:var(--paper);border:0;border-radius:0.5rem;overflow:hidden;transition:transform 0.35s ease, box-shadow 0.35s ease;}
.room-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(19, 41, 61, 0.14);}
.room-card .room-media{position:relative;aspect-ratio:4 / 3;overflow:hidden;}
.room-card .room-media img{object-fit:cover;transition:transform 0.6s ease;}
.room-card:hover .room-media img{transform:scale(1.05);}
.room-price{font-family:var(--font-display), serif;font-size:1.6rem;}
.tram-route{list-style:none;padding:0;margin:0;position:relative;}
.tram-route::before{content:"";position:absolute;top:0.6rem;bottom:0.6rem;left:0.55rem;width:3px;background:var(--tram);}
.tram-stop{position:relative;padding-left:2.5rem;padding-bottom:1.6rem;}
.tram-stop:last-child{padding-bottom:0;}
.tram-stop::before{content:"";position:absolute;left:0;top:0.3rem;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--stone);border:3px solid var(--tram);}
.tram-stop.is-home::before{background:var(--tram);box-shadow:0 0 0 5px rgba(180, 35, 44, 0.2);}
.tram-time{font-family:var(--font-display), serif;font-size:1.15rem;color:var(--tram);white-space:nowrap;}
.map-frame{border:0;width:100%;height:100%;min-height:360px;border-radius:0.5rem;filter:grayscale(0.35) contrast(1.05);}
.feature-icon{width:3rem;height:3rem;border-radius:50%;border:1px solid var(--brass);color:var(--brass);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.img-frame{position:relative;border-radius:0.5rem;overflow:hidden;}
.img-frame img{object-fit:cover;}
.quote-card{border-top:2px solid var(--brass);padding-top:1.5rem;}
.quote-text{font-family:var(--font-display), serif;font-size:1.3rem;line-height:1.5;}
.footer-link{color:rgba(243, 242, 238, 0.75);text-decoration:none;}
.footer-link:hover{color:var(--paper);}
.footer-divider{border-color:rgba(243, 242, 238, 0.15);opacity:1;}
@keyframes rise{from{opacity:0;transform:translateY(24px);}
to{opacity:1;transform:translateY(0);}}
.rise{opacity:0;animation:rise 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;}
.rise-1{animation-delay:0.1s;}
.rise-2{animation-delay:0.25s;}
.rise-3{animation-delay:0.4s;}
.rise-4{animation-delay:0.6s;}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;}
.rise{opacity:1;animation:none;}
.room-card, .room-card .room-media img{transition:none;}}