/* Fümehan — Antik design system. Mobile-first. */
@font-face { font-family:'Cormorant Garamond'; src:url('/assets/fonts/cormorant-500-latin.woff2') format('woff2'); font-weight:500; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Cormorant Garamond'; src:url('/assets/fonts/cormorant-500-latin-ext.woff2') format('woff2'); font-weight:500; font-display:swap; unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Cormorant Garamond'; src:url('/assets/fonts/cormorant-600-latin.woff2') format('woff2'); font-weight:600; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Cormorant Garamond'; src:url('/assets/fonts/cormorant-600-latin-ext.woff2') format('woff2'); font-weight:600; font-display:swap; unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Cormorant Garamond'; src:url('/assets/fonts/cormorant-it500-latin.woff2') format('woff2'); font-weight:500; font-style:italic; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Cormorant Garamond'; src:url('/assets/fonts/cormorant-it500-latin-ext.woff2') format('woff2'); font-weight:500; font-style:italic; font-display:swap; unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

:root {
  --parchment:#efe9dd; --parchment-alt:#e9e2d2; --ink:#2e2a22; --brass:#8a7f68;
  --copy:#57503f; --line:#d8cfbc; --wa:#1faa59;
  --serif:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sans:system-ui, -apple-system, 'Segoe UI', sans-serif;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--parchment); color:var(--copy); font-family:var(--sans); font-size:1rem; line-height:1.7; }
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,.serif { font-family:var(--serif); font-weight:500; color:var(--ink); letter-spacing:.06em; }
h1 { font-size:2.2rem; } h2 { font-size:1.6rem; } h3 { font-size:1.25rem; }

.kicker { font-size:.66rem; letter-spacing:.32em; text-transform:uppercase; color:var(--brass); font-weight:600; }
.lead { font-family:var(--serif); font-size:1.05rem; color:var(--copy); }
.center { text-align:center; }
.section { padding:4.5rem 1.25rem; max-width:70rem; margin:0 auto; }
.section-alt { background:var(--parchment-alt); }
.olive-divider { width:7.5rem; margin:1rem auto 0; display:block; opacity:.55; }

/* header */
.site-head { display:flex; justify-content:space-between; align-items:center; padding:.9rem 1.25rem; border-bottom:1px solid var(--line); position:sticky; top:0; background:var(--parchment); z-index:50; }
.wordmark { font-family:var(--serif); font-weight:600; letter-spacing:.28em; font-size:1.1rem; color:var(--ink); }
.wordmark.small { font-size:.95rem; color:var(--parchment); }
.site-nav { display:none; }
.site-nav.open { display:flex; flex-direction:column; position:absolute; top:100%; left:0; right:0; background:var(--parchment); border-bottom:1px solid var(--line); padding:1rem 1.25rem; gap:.9rem; }
.site-nav a { font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; }
.nav-cta { border:1px solid var(--ink); padding:.5rem 1rem; text-align:center; }
.langswitch { opacity:.6; }
.nav-toggle { background:none; border:none; font-size:1.5rem; color:var(--ink); cursor:pointer; }

/* hero */
.hero-logo { text-align:center; padding:2.6rem 1.25rem 2.2rem; background:linear-gradient(180deg,var(--parchment),var(--parchment-alt)); }
.hero-logo img { width:9.5rem; height:9.5rem; object-fit:cover; border-radius:50%; margin:0 auto; box-shadow:0 3px 20px rgba(0,0,0,.15); }
.hero-logo h1 { font-size:2rem; letter-spacing:.28em; margin-top:1rem; }
.hero-plain { padding:3.5rem 1.25rem 0; }
.hero-plain + .section, .hero-plain + section { padding-top:2rem; }
.section.tight { padding-top:2.25rem; padding-bottom:2.25rem; }
/* two portrait photos side by side inside a split column */
.split-img.duo { display:grid; gap:.6rem; grid-template-columns:1fr 1fr; align-items:start; }
.split-img.duo picture { aspect-ratio:3/4; display:block; }
.split-img.duo img { width:100%; height:100%; object-fit:cover; }

/* fullscreen video hero (2026-08 redesign) */
.hero-video { position:relative; height:100svh; min-height:34rem; overflow:hidden; background:var(--ink); }
.hero-video video, .hero-video .hero-fallback { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-overlay { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:1.25rem; background:linear-gradient(180deg, rgba(20,18,15,.32), rgba(20,18,15,.46) 55%, rgba(20,18,15,.68)); }
.hero-overlay::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 64% 46% at 50% 52%, rgba(20,18,15,.68), rgba(20,18,15,0) 74%); }
.hero-video video, .hero-video .hero-fallback { filter:brightness(.86); }
.hero-overlay > * { position:relative; }
.hero-overlay h1 { color:#f5efe2; font-size:2.6rem; letter-spacing:.3em; text-shadow:0 2px 26px rgba(0,0,0,.8), 0 1px 4px rgba(0,0,0,.5); }
.hero-overlay .kicker { color:#ecdfc2; text-shadow:0 1px 8px rgba(0,0,0,.8); }
.hero-overlay .lead { color:#f2ece0; font-style:italic; text-shadow:0 1px 14px rgba(0,0,0,.85), 0 1px 3px rgba(0,0,0,.5); margin-top:.9rem; }
.hero-overlay .btn { border-color:#efe9dd; color:#f5efe2; }
.hero-scroll { position:absolute; bottom:1.2rem; left:50%; transform:translateX(-50%); color:#efe9dd; font-size:1.4rem; opacity:.8; animation:herodip 2.2s ease-in-out infinite; }
@keyframes herodip { 0%,100% { transform:translate(-50%,0); } 50% { transform:translate(-50%,.45rem); } }
@media (prefers-reduced-motion: reduce) { .hero-scroll { animation:none; } }

/* framed film player */
.film-frame { border:1px solid var(--brass); padding:.45rem; background:var(--parchment-alt); max-width:52rem; margin:1.6rem auto 0; }
.film-poster { position:relative; cursor:pointer; }
.film-poster img { width:100%; height:auto; }
.film-play { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.film-play span { width:4.2rem; height:4.2rem; border-radius:50%; background:rgba(239,233,221,.92); color:var(--ink); display:flex; align-items:center; justify-content:center; font-size:1.5rem; padding-left:.3rem; box-shadow:0 3px 18px rgba(0,0,0,.35); }
.film-frame video { width:100%; height:auto; display:block; }

.btn, .btn-dark, .btn-submit { display:inline-block; padding:.7rem 1.7rem; font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; font-family:var(--sans); cursor:pointer; margin-top:1rem; }
.btn { border:1px solid var(--ink); color:var(--ink); background:none; }
.btn-dark, .btn-submit { background:var(--ink); color:var(--parchment); border:none; }
.wa-btn { display:block; text-align:center; border:1px solid var(--wa); color:var(--wa); padding:.7rem; font-size:.7rem; letter-spacing:.14em; margin-top:.6rem; }

/* full-bleed photo band */
.band { position:relative; min-height:16rem; background-size:cover; background-position:center; background-image:var(--band-m); display:flex; align-items:flex-end; justify-content:center; }
@media (min-width:40rem) { .band { background-image:var(--band,var(--band-m)); } }
.band::before { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,18,15,.25), rgba(20,18,15,.4) 55%, rgba(20,18,15,.92)); }
.band-caption { position:relative; color:#f6f3ec; font-family:var(--serif); font-style:italic; font-size:1.1rem; width:100%; padding:3rem 1.4rem 1.6rem; text-align:center; text-shadow:0 1px 12px rgba(0,0,0,.95), 0 1px 3px rgba(0,0,0,.6); background:linear-gradient(180deg, rgba(20,18,15,0), rgba(20,18,15,.72) 45%, rgba(20,18,15,.9)); }
.band .serif, .band-caption .serif { color:#f2efe9; }

/* split (photo+text) */
.split { display:grid; gap:1.6rem; align-items:center; }
.framed { border:.5rem solid #fff; box-shadow:0 3px 16px rgba(0,0,0,.15); }

/* cards */
.cards { display:grid; gap:1rem; margin-top:1.6rem; }
.card { background:#fff; box-shadow:0 2px 12px rgba(0,0,0,.08); padding-bottom:.9rem; }
.card img { height:11rem; width:100%; object-fit:cover; }
.card .serif { letter-spacing:.14em; margin-top:.7rem; padding:0 1.1rem; }
.card p { font-size:.72rem; color:var(--brass); padding:0 1.1rem; }

/* room detail */
.room-feature { display:grid; grid-template-columns:1fr 1fr; gap:.5rem 1.4rem; font-size:.8rem; margin-top:1.1rem; }
.room-strip { display:flex; gap:.6rem; overflow-x:auto; margin-top:1rem; scroll-snap-type:x mandatory; padding-bottom:.4rem; }
.room-strip img { height:6rem; width:9rem; object-fit:cover; flex-shrink:0; scroll-snap-align:start; }
/* approved mobile pattern: room cards swipe horizontally below 640px */
.cards.four { display:flex; gap:.8rem; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:.4rem; }
.cards.four .card { width:11.5rem; min-width:11.5rem; scroll-snap-align:start; flex-shrink:0; }

/* timeline */
.timeline { border-left:1px solid #b5a988; padding-left:1.6rem; display:grid; gap:1.3rem; text-align:left; }
.tl-item p { font-family:var(--serif); font-size:.92rem; }

/* gallery + lightbox */
.gallery-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.6rem; margin-top:1.6rem; }
.gallery-grid img { height:10rem; width:100%; object-fit:cover; cursor:pointer; }
.gallery-grid picture:only-child { grid-column:1 / -1; }
.gallery-grid picture:only-child img { height:22rem; }
.lightbox { position:fixed; inset:0; background:rgba(20,19,17,.93); display:none; align-items:center; justify-content:center; z-index:100; }
.lightbox.open { display:flex; }
.lightbox img { max-width:92vw; max-height:88vh; object-fit:contain; }
.lightbox button { position:absolute; top:1rem; right:1.2rem; font-size:2rem; color:#fff; background:none; border:none; cursor:pointer; }

/* forms */
.form-grid { display:grid; gap:.7rem; margin-top:1rem; }
.field { width:100%; background:#fff; border:1px solid var(--line); padding:.75rem .9rem; font-size:.85rem; color:var(--ink); font-family:var(--sans); }
.field-label { display:block; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--brass); font-weight:600; margin-bottom:.3rem; }
textarea.field { min-height:6rem; resize:vertical; }
.form-msg { font-size:.8rem; margin-top:.6rem; display:none; }
.form-msg.ok { display:block; color:#1a6b39; } .form-msg.err { display:block; color:#a03a2a; }
.hp-field { position:absolute; left:-6000px; }

/* info strip + footer */
.info-strip { display:grid; grid-template-columns:repeat(2,1fr); gap:.9rem .5rem; text-align:center; padding:1.6rem 1.25rem; font-size:.72rem; }
.info-strip strong { color:var(--ink); display:block; }
.site-foot { background:var(--ink); color:#cfc5ae; padding:2.2rem 1.25rem 5.5rem; font-size:.8rem; }
.foot-grid { display:grid; gap:1.4rem; max-width:70rem; margin:0 auto; }
.foot-note { text-align:center; opacity:.55; margin-top:1.6rem; font-size:.7rem; }

/* sticky bar (phone only) */
.stickybar { position:fixed; bottom:0; left:0; right:0; display:grid; grid-template-columns:1fr 1fr; z-index:60; box-shadow:0 -3px 14px rgba(0,0,0,.2); }
.sb-wa { background:var(--wa); color:#fff; text-align:center; padding:.95rem 0; font-size:.72rem; letter-spacing:.14em; }
.sb-res { background:var(--ink); color:var(--parchment); text-align:center; padding:.95rem 0; font-size:.72rem; letter-spacing:.14em; }

/* ≥640px */
@media (min-width:40rem) {
  h1 { font-size:3rem; }
  .stickybar { display:none; }
  .site-foot { padding-bottom:2.2rem; }
  .site-nav { display:flex; gap:1.3rem; align-items:center; position:static; border:none; padding:0; }
  .nav-toggle { display:none; }
  .cards { grid-template-columns:repeat(2,1fr); }
  /* odd item count (e.g. 3 room cards): last card spans + centers instead of leaving a blank cell.
     :not(.four) scopes this away from the homepage's 5-card .cards.four grid. */
  .cards:not(.four) .card:last-child:nth-child(odd) { grid-column:1 / -1; max-width:22rem; margin:0 auto; }
  .gallery-grid { grid-template-columns:repeat(3,1fr); }
  .info-strip { grid-template-columns:repeat(6,1fr); max-width:70rem; margin:0 auto; }
  .split { grid-template-columns:1fr 1fr; }
  .split.rev > .split-img { order:-1; }
  .foot-grid { grid-template-columns:1.2fr 1fr 1fr; }
}
/* ≥1024px */
@media (min-width:40rem) {
  .cards.four { display:grid; grid-template-columns:repeat(2,1fr); overflow:visible; }
  .cards.four .card { min-width:0; }
}
@media (min-width:64rem) {
  .cards.four { grid-template-columns:repeat(5,1fr); }
  .cards:not(.four) { grid-template-columns:repeat(3,1fr); }
  .cards:not(.four) .card:last-child:nth-child(odd) { grid-column:auto; max-width:none; margin:0; }
  .gallery-grid { grid-template-columns:repeat(4,1fr); }
  .band { min-height:24rem; }
}
