/* =============================================
   pages.css — Per-page layout styles
   ============================================= */

/* ── Shared: Inner Page Hero ── */
.page-hero { min-height: 320px; display: flex; align-items: flex-end; padding: 52px 60px 48px; position: relative; overflow: hidden; }
.page-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.page-hero-ov { position: absolute; inset: 0; background: linear-gradient(160deg, rgba(10,9,7,.84) 0%, rgba(10,9,7,.44) 100%); }
.page-hero-content { position: relative; z-index: 2; }
.page-hero-badge {
  font-size: .56rem; letter-spacing: .44em; text-transform: uppercase; color: var(--gd);
  display: flex; align-items: center; gap: 10px; margin-bottom: 12px;
}
.page-hero-badge::after { content: ''; flex: 1; height: 1px; background: rgba(201,169,110,.3); max-width: 60px; }
.page-hero-title { font-family: var(--font-serif); font-size: clamp(2.4rem,6vw,4.2rem); color: var(--cr); font-weight: 300; line-height: 1.04; }
.page-hero-title em { font-style: italic; color: var(--gl); }

/* ── HOME — Hero ── */
.hero { height: 100vh; min-height: 680px; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; background: var(--dp); }
.hero-bg {
  position: absolute; inset: 0;
  background: url('https://iili.io/qaigRmx.jpg') center/cover no-repeat;
  opacity: .45; transform: scale(1.05); transition: transform 9s ease, opacity .8s;
}
.hero-bg.zoom   { transform: scale(1); }
.hero-overlay   { position: absolute; inset: 0; background: linear-gradient(160deg, rgba(10,9,7,.72) 0%, rgba(10,9,7,.28) 55%, rgba(10,9,7,.62) 100%); }
.hero-content   { position: relative; z-index: 2; text-align: center; padding: 0 24px; }
.hero-eyebrow   { font-size: .58rem; letter-spacing: .55em; text-transform: uppercase; color: var(--gd); display: block; margin-bottom: 16px; }
.hero-h1        { font-family: var(--font-serif); font-size: clamp(3rem,8vw,6rem); color: var(--cr); font-weight: 300; line-height: 1.02; letter-spacing: .06em; margin-bottom: 18px; }
.hero-h1 em     { font-style: italic; color: var(--gl); }
.hero-p         { font-size: .88rem; color: rgba(250,246,240,.68); font-weight: 300; max-width: 400px; margin: 0 auto 34px; line-height: 1.88; }
.hero-btns      { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.hero-scroll    { position: absolute; bottom: 36px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 10px; color: rgba(250,246,240,.45); font-size: .58rem; letter-spacing: .3em; text-transform: uppercase; animation: scrollBounce 2s infinite; }
.hero-scroll-line { width: 1px; height: 48px; background: linear-gradient(to bottom, var(--gd), transparent); }

/* HOME — Feature split */
.feat-split { display: grid; grid-template-columns: 1fr 1fr; }
.feat-left  { padding: 80px 64px; background: var(--iv); }
.feat-right { min-height: 480px; background: url('https://iili.io/qEGA1lp.jpg') center/cover; position: relative; }
.feat-right-ov { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(201,169,110,.1), transparent); }

/* ── ABOUT ── */
.about-split    { display: grid; grid-template-columns: 1fr 1fr; }
.about-txt      { padding: 72px 60px; background: var(--cr); }
.about-img-wrap { position: relative; min-height: 400px; overflow: hidden; }
.about-img-wrap img { width: 100%; height: 100%; object-fit: cover; }
.about-caption  { position: absolute; bottom: 30px; right: 30px; background: var(--ch); color: var(--gl); padding: 20px 24px; font-family: var(--font-serif); font-size: .92rem; font-style: italic; font-weight: 300; max-width: 210px; line-height: 1.55; border-left: 2px solid var(--gd); }

/* ── SERVICES ── */
.svc-rows-wrap { padding: 0 60px 72px; background: var(--cr); }
.svc-row       { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--iv); padding: 60px 0; }
.svc-row:last-child { border-bottom: none; padding-bottom: 0; }
.svc-row-img   { aspect-ratio: 4/3; overflow: hidden; position: relative; }
.svc-row-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s; }
.svc-row:hover .svc-row-img img { transform: scale(1.05); }
.svc-tag       { position: absolute; top: 22px; left: 22px; background: var(--gd); color: var(--dp); font-size: .54rem; letter-spacing: .3em; text-transform: uppercase; padding: 6px 14px; }
.svc-txt       { padding: 56px 50px; display: flex; flex-direction: column; justify-content: center; }
.svc-txt h2    { font-family: var(--font-serif); font-size: 2.2rem; font-weight: 300; margin-bottom: 14px; line-height: 1.2; }
.svc-txt p     { font-size: .86rem; color: var(--wg); line-height: 1.9; font-weight: 300; margin-bottom: 12px; }
.inc-label     { font-size: .56rem; letter-spacing: .32em; text-transform: uppercase; color: var(--gd); margin: 18px 0 10px; display: block; }
.inc-tags      { display: flex; flex-wrap: wrap; gap: 7px; }
.inc-tag       { background: var(--iv); border: 1px solid rgba(201,169,110,.35); padding: 5px 12px; font-size: .7rem; color: var(--wg); font-weight: 300; }

/* ── CAREERS ── */
.careers-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }

/* ── BOOKING ── */
.book-grid    { display: grid; grid-template-columns: 1.1fr 1fr; gap: 60px; align-items: start; }
.bstep        { display: flex; gap: 16px; margin-bottom: 24px; align-items: flex-start; }
.bstep-n      { font-family: var(--font-serif); font-size: 1.7rem; color: var(--gl); line-height: 1; flex-shrink: 0; width: 30px; }
.bstep h4     { font-family: var(--font-serif); font-size: 1.05rem; font-weight: 400; margin-bottom: 4px; }
.bstep p      { font-size: .75rem; color: var(--wg); line-height: 1.68; font-weight: 300; }

/* ── CONTACT ── */
.contact-grid   { display: grid; grid-template-columns: 1fr 1.1fr; gap: 60px; align-items: start; }
.contact-hours  { margin-top: 36px; }
.contact-hours h3 { font-family: var(--font-serif); font-size: 1.5rem; font-weight: 300; margin-bottom: 18px; }
.contact-hours h3 em { font-style: italic; color: var(--gk); }
