/* ============================================================
   INSAR V3 — SECTIONS B
   Collection · Heritage · Enquiry
   ============================================================ */

/* ============================================================
   4 · THE SARAWAK COLLECTION
   ============================================================ */
.collection{ background:var(--ivory-2); }
.collection__head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:2rem; flex-wrap:wrap; margin-bottom:clamp(2.5rem,4vw,4rem);
}
.collection__head h2{ max-width:14ch; }

/* --- Flagship editorial rows --- */
.flagship{
  display:grid; grid-template-columns:1.15fr 1fr;
  gap:clamp(1.8rem,4vw,4rem); align-items:center;
  margin-bottom:clamp(3rem,6vw,6rem);
}
.flagship--reverse .flagship__media{ order:2; }
.flagship__media{ position:relative; aspect-ratio:4/3; }
.flagship__media .media{ width:100%; height:100%; }
.flagship__tag{
  position:absolute; top:0; left:0; z-index:3;
  background:var(--black); color:var(--gold-2);
  font-size:.58rem; font-weight:500; letter-spacing:.24em; text-transform:uppercase;
  padding:.75rem 1.2rem;
}
.flagship__idx{
  display:flex; align-items:center; gap:.9rem;
  font-size:.64rem; font-weight:500; letter-spacing:.24em; text-transform:uppercase;
  color:#9A7B35; margin-bottom:1.2rem;
}
.flagship__idx b{ font-weight:400; color:rgba(21,20,15,.25); }
.flagship h3{ margin-bottom:1.1rem; }
.flagship p{ color:var(--ink-70); }
.flagship .moment{
  margin-top:1.5rem; padding-left:1.2rem;
  border-left:1px solid rgba(154,123,53,.35);
}
.flagship .moment b{
  display:block; font-size:.6rem; font-weight:500;
  letter-spacing:.24em; text-transform:uppercase;
  color:#9A7B35; margin-bottom:.5rem;
}
.flagship .moment span{ font-size:.92rem; color:var(--ink-70); font-style:italic; }
.flagship__meta{
  display:flex; flex-wrap:wrap; gap:1.4rem;
  margin-block:1.8rem; padding-top:1.3rem;
  border-top:1px solid var(--ink-12);
  font-size:.62rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-45);
}

/* --- Four category cards --- */
/* Three curated cards rather than four: the fourth pairing had no
   photograph that honestly matched it. */
.cards{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:clamp(1rem,2vw,1.8rem);
}
.card{ display:block; }
.card__media{ position:relative; aspect-ratio:4/3.1; margin-bottom:1.4rem; }
.card__media .media{ width:100%; height:100%; }
.card__cat{
  position:absolute; left:0; bottom:0; z-index:3;
  background:var(--black); color:var(--gold-2);
  font-size:.55rem; font-weight:500; letter-spacing:.24em; text-transform:uppercase;
  padding:.6rem 1rem;
}
.card h4{ font-family:var(--serif); font-size:1.1rem; font-weight:400;
  letter-spacing:-.005em; text-transform:none; margin-bottom:.4rem; }
.card p{ font-size:.84rem; color:var(--ink-45); }
.card:hover h4{ color:#5E4A1B; }

/* --- Bespoke close --- */
.bespoke{
  margin-top:clamp(3rem,6vw,5.5rem);
  background:var(--black); color:var(--ivory);
  padding:clamp(2.4rem,5vw,4.2rem);
  display:grid; grid-template-columns:1.6fr auto;
  gap:2.5rem; align-items:center;
  position:relative; overflow:hidden;
}
/* The bespoke block is dark, but it lives inside an ivory
   section — restate the dark-on-light inversions it needs. */
.section--ivory .bespoke h3{ color:var(--ivory-2); }
.section--ivory .bespoke .eyebrow{ color:var(--gold-2); }
.section--ivory .bespoke .eyebrow::before{ background:var(--gold); }
.bespoke h3{ margin-block:.6rem 1rem; max-width:22ch; }
.bespoke p{ color:var(--ivory-50); max-width:52ch; }
.bespoke .meta{
  display:block; margin-top:1.5rem;
  font-size:.62rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ivory-32);
}

/* Section 5 (Fleet) now lives in its own module: css/fleet.css */

/* ============================================================
   6 · HERITAGE — three generations
   ============================================================ */
.heritage{ position:relative; overflow:hidden; }
.heritage__bg{ position:absolute; inset:0; }
.heritage__bg .media{ width:100%; height:100%; }
.heritage__scrim{
  position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(8,8,7,.9) 0%,rgba(8,8,7,.78) 50%,rgba(8,8,7,.95) 100%);
}
.heritage__inner{ position:relative; z-index:2; }
.heritage__head{ text-align:center; max-width:44rem; margin:0 auto clamp(3rem,5vw,4.5rem); }
.heritage__head p{ color:var(--ivory-50); margin-top:1.3rem; }
.gens{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.5rem,3vw,3rem); }
.gen{ position:relative; padding-top:2rem; border-top:1px solid var(--gold-hair); }
.gen__year{
  display:block; font-family:var(--serif); font-size:1.5rem; font-weight:300;
  color:var(--gold-2); margin-bottom:.9rem; line-height:1;
}
.gen h3{ font-size:1.25rem; margin-bottom:.85rem; }
.gen p{ font-size:.88rem; color:var(--ivory-50); }
.gen__sign{
  margin-top:clamp(3rem,5vw,4.5rem); text-align:center;
  padding-top:2.4rem; border-top:1px solid var(--ivory-07);
}
.gen__sign .line{
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:clamp(1.2rem,1rem + .9vw,1.7rem); color:var(--ivory-2);
}
.gen__sign .who{
  display:block; margin-top:.9rem;
  font-size:.6rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-2);
}

/* Section 7 (Testimonials) removed - the quotes were prototype copy,
   not real traveller reviews. Re-add once verified reviews exist. */

/* ============================================================
   8 · ENQUIRY
   ============================================================ */
.enq{ position:relative; overflow:hidden; }
.enq__bg{ position:absolute; inset:0; }
.enq__bg .media{ width:100%; height:100%; }
.enq__scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(100deg,rgba(8,8,7,.97) 0%,rgba(8,8,7,.92) 48%,rgba(8,8,7,.88) 100%),
    linear-gradient(180deg,var(--black) 0%,transparent 22%,transparent 78%,var(--black) 100%);
}
.enq__inner{ position:relative; z-index:2; }
.enq__grid{
  display:grid; grid-template-columns:1fr 1.02fr;
  gap:clamp(2.5rem,5vw,5rem); align-items:start;
}
.enq h2{ margin-bottom:1.4rem; max-width:16ch; }
.enq__copy > p{ color:var(--ivory-50); max-width:44ch; }
.micro{ display:flex; flex-direction:column; gap:.95rem; margin-top:2.4rem; }
.micro span{ display:flex; align-items:center; gap:.75rem; font-size:.8rem; color:var(--ivory-50); }
.micro svg{ width:15px; height:15px; color:var(--gold); flex:none; }

.enq__direct{
  margin-top:2.8rem; padding-top:2.2rem;
  border-top:1px solid var(--ivory-07);
  display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1.5rem;
}

/* --- Form panel --- */
.panel{
  background:rgba(11,11,10,.82);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border:1px solid var(--gold-hair);
  padding:clamp(1.8rem,3.4vw,3rem);
}
.panel h3{ margin-bottom:.55rem; }
.panel .sub{ font-size:.84rem; color:var(--ivory-50); margin-bottom:2rem; }
.field{ margin-bottom:1.2rem; }
.field label{
  display:block; font-size:.6rem; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold-2); margin-bottom:.6rem;
}
.field label em{
  font-style:normal; text-transform:none; letter-spacing:.02em;
  color:var(--ivory-32); font-size:.92em; margin-left:.45rem;
}
.field.is-invalid input,
.field.is-invalid select{ border-bottom-color:#C4756A; }
.field.is-invalid label{ color:#D08A7E; }

.field input,.field select{
  width:100%; background:transparent;
  border:0; border-bottom:1px solid var(--ivory-12);
  padding:.75rem 0; font-size:.94rem; color:var(--ivory-2);
  transition:border-color .4s var(--ease);
  border-radius:0;
}
.field select{ appearance:none; cursor:pointer; padding-right:1.5rem;
  background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),
                   linear-gradient(135deg,var(--gold) 50%,transparent 50%);
  background-position:calc(100% - 10px) 1.35rem,calc(100% - 5px) 1.35rem;
  background-size:5px 5px,5px 5px; background-repeat:no-repeat; }
.field select option{ background:var(--black-3); color:var(--ivory-2); }
.field input::placeholder{ color:var(--ivory-32); }
.field input:focus,.field select:focus{ outline:0; border-bottom-color:var(--gold); }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.panel .btn{ margin-top:1.2rem; }
.formnote{
  margin-top:1.3rem; font-size:.72rem; color:var(--ivory-32); text-align:center;
}
.formnote a{
  display:inline-block; padding-block:.5rem;
  color:var(--gold-2); border-bottom:1px solid var(--gold-dim);
}

/* Success state */
.form-ok{ display:none; text-align:center; padding-block:2rem; }
.form-ok.show{ display:block; }
.form-ok .tick{
  width:58px; height:58px; margin:0 auto 1.6rem; border-radius:50%;
  border:1px solid var(--gold-dim); display:grid; place-items:center; color:var(--gold-2);
}
.form-ok .sub{ margin-top:.8rem; max-width:38ch; margin-inline:auto; }
.form-ok__act{
  display:flex; flex-direction:column; gap:.7rem;
  margin-top:1.8rem;
}
.form-ok__act .btn{ width:100%; }
.form-ok__act svg{ flex:none; }

/* Clarifies what INSAR provides at these destinations (transport)
   versus what is arranged separately (guides, permits, boats). */
.collection__note{
  margin-top:1.15rem; max-width:60ch;
  font-size:.88rem; line-height:1.7; color:var(--ink-45);
}
