/* ---- Shared page layout (contact & faq) ---- */
:root {
  --ct-ink: #1d1d1d;
  --ct-paper: #f6f5f2;
  --ct-line: #e7e3dd;
  --ct-line-dark: rgba(255, 255, 255, .12);
  --ct-accent-soft: rgba(196, 156, 116, .14);
  --ct-muted: #6b6660;
  --ct-muted-dark: #b9b3aa;
  --ct-radius: 18px;
  --ct-radius-lg: 26px;
  --ct-shadow-md: 0 20px 60px -32px rgba(20, 16, 12, .55);
  --ct-maxw: 1120px;
  --ct-gutter: clamp(18px, 4vw, 48px);
}

.ct-wrap {
  width: 100%;
  max-width: var(--ct-maxw);
  margin-inline: auto;
  padding-inline: var(--ct-gutter);
}

/* Eyebrow */
.ct-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--accent);
}
.ct-eyebrow::before {
  content: '';
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 2px;
  background: var(--accent);
}

/* Hero */
.ct-hero {
  position: relative;
  min-height: 64vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.ct-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.ct-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ct-hero__bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(165deg, rgba(20, 16, 12, .88), rgba(20, 16, 12, .5));
}
.ct-hero__inner {
  position: relative;
  z-index: 1;
  padding-block: clamp(80px, 10vw, 140px);
}
.ct-hero__inner h1 {
  font-size: clamp(2.2rem, 5vw, 4rem);
  line-height: 1.05;
  letter-spacing: -.03em;
  font-weight: 700;
  color: #fff;
  margin: 22px 0 0;
  max-width: 22ch;
  text-wrap: balance;
}
.ct-hero .ct-lead {
  color: rgba(255, 255, 255, .9);
  font-size: clamp(1rem, 1.5vw, 1.28rem);
  line-height: 1.62;
  max-width: 54ch;
  margin-top: 22px;
}

/* Section */
.ct-section {
  padding-block: clamp(64px, 9vw, 120px);
}

/* Section head */
.ct-section-head {
  max-width: 60ch;
  margin-bottom: 28px;
}
.ct-section-head h2 {
  font-size: clamp(1.5rem, 2.6vw, 2.1rem);
  line-height: 1.08;
  letter-spacing: -.02em;
  font-weight: 700;
  margin: 14px 0 0;
  text-wrap: balance;
}

/* Flag image utility */
.ct-flag {
  width: 1.05rem;
  height: auto;
  vertical-align: middle;
  border-radius: 2px;
}
