/* ═══════════════════════════════════════════════════════════════════
   ISLAND VITALITY · shared stylesheet (all three pages)
   Organized section-by-section for later Framer porting.
   ═══════════════════════════════════════════════════════════════════ */

/* ─── BASE ─── */
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
.iv {
  font-family: 'Karla', sans-serif;
  background: #0e0e0c;
  color: #e2ddd4;
  overflow-x: hidden;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid rgba(212,175,55,0.7);
  outline-offset: 3px;
}
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100;
  background: #D4AF37;
  color: #0e0e0c;
  padding: 10px 18px;
  font-family: 'Karla', sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
}
.skip-link:focus { left: 0; }

/* ─── NAV ─── */
.iv-nav {
  position: absolute;
  top: 0; left: 0; right: 0;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 28px 52px;
}
.iv-wordmark {
  font-family: 'Playfair Display', serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #f0ebe0;
  text-decoration: none;
}
.iv-wordmark span { color: #D4AF37; }
.iv-nav-links {
  display: flex;
  align-items: center;
  gap: 32px;
}
.iv-nav-link {
  font-family: 'Karla', sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(226,221,212,0.65);
  text-decoration: none;
  transition: color 0.2s ease;
}
.iv-nav-link:hover,
.iv-nav-link[aria-current] { color: #f0ebe0; }
.iv-nav-book {
  font-family: 'Karla', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #D4AF37;
  text-decoration: none;
  border-bottom: 1px solid rgba(212,175,55,0.4);
  padding-bottom: 2px;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.iv-nav-book:hover { color: #E8C84A; border-bottom-color: #E8C84A; }
.iv-nav-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 10px 6px;
}
.iv-nav-toggle span {
  display: block;
  width: 22px;
  height: 1px;
  background: #f0ebe0;
  margin: 6px 0;
}

/* ─── BUTTONS ─── */
.iv-btn-primary {
  background: #D4AF37;
  color: #0e0e0c;
  font-family: 'Karla', sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 15px 38px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background 0.2s ease;
}
.iv-btn-primary:hover { background: #E8C84A; }
.iv-btn-ghost {
  font-family: 'Karla', sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(226,221,212,0.65);
  text-decoration: none;
  border-bottom: 1px solid rgba(226,221,212,0.25);
  padding-bottom: 2px;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.iv-btn-ghost:hover { color: #f0ebe0; border-bottom-color: rgba(226,221,212,0.6); }

/* ─── HERO (shared base + per-page backgrounds) ─── */
.iv-hero {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 52px;
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(to bottom, rgba(14,14,12,0.4) 0%, rgba(14,14,12,0.92) 100%),
    radial-gradient(ellipse at top right, rgba(212,175,55,0.08), transparent 60%),
    #0e0e0c;
}
/* Ken Burns — Home hero only. Slow scale + subtle drift on the kelp image.
   Scoped to .iv-hero--home so Careers/Partners heroes are unaffected. */
.iv-hero--home { background: #0e0e0c; }
/* Video background — sits behind overlay + content, cover-fits the hero. */
.iv-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
  pointer-events: none;
}
/* Dark + gold overlay above video, for text readability. */
.iv-hero--home::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom, rgba(14,14,12,0.4) 0%, rgba(14,14,12,0.92) 100%),
    radial-gradient(ellipse at top right, rgba(212,175,55,0.08), transparent 60%);
  z-index: 1;
  pointer-events: none;
}
/* Content stays above overlay. Video excluded so it stays behind.
   Nav excluded so the mobile menu isn't trapped under the headline. */
.iv-hero--home > *:not(.iv-hero-video):not(.iv-nav) { position: relative; z-index: 2; }
.iv-nav { z-index: 30; }
/* Reduced-motion: hide video, show static poster instead. */
@media (prefers-reduced-motion: reduce) {
  .iv-hero-video { display: none; }
  .iv-hero--home::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('/img/iv-home-hero.jpg') center/cover no-repeat;
    z-index: 0;
  }
  .iv-hero-eyebrow--hiring::before { animation: none; }
}
/* Partners hero photo: /img/iv-partners-hero-kayakers.jpg
   (three kayakers on golden water at sunset, Mt. Baker in distance) */
.iv-hero--partners {
  background:
    linear-gradient(to bottom, rgba(8,14,12,0.45) 0%, rgba(8,14,12,0.35) 35%, rgba(8,14,12,0.86) 100%),
    url('/img/iv-partners-hero-kayakers.jpg') center / cover no-repeat,
    #0e0e0c;
}
/* Careers hero photo: /img/iv-careers-hero-silhouette.jpg
   (five silhouettes at sunset, backs to camera —
   speaks to community, team, being part of something) */
.iv-hero--careers {
  background:
    linear-gradient(to bottom, rgba(10,10,8,0.42) 0%, rgba(10,10,8,0.35) 40%, rgba(10,10,8,0.88) 100%),
    url('/img/iv-careers-hero-silhouette.jpg') center / cover no-repeat,
    #0e0e0c;
}
.iv-hero-eyebrow {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #D4AF37;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  gap: 14px;
}
/* Pulse dot: Careers "Now hiring" eyebrow only — the one motion flourish */
.iv-hero-eyebrow--hiring::before {
  content: '';
  display: inline-block;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #D4AF37;
  animation: iv-pulse 2.4s ease-in-out infinite;
}
@keyframes iv-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(0.85); }
}
.iv-hero-h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(44px, 7vw, 88px);
  font-weight: 400;
  line-height: 1.04;
  color: #f0ebe0;
  max-width: 820px;
  margin-bottom: 18px;
}
.iv-hero-h1 em { font-style: italic; color: #D4AF37; }
.iv-hero-sub {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(18px, 2.1vw, 24px);
  font-weight: 300;
  font-style: italic;
  color: rgba(226,221,212,0.82);
  max-width: 620px;
  margin-bottom: 44px;
  line-height: 1.5;
}
.iv-hero-actions {
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
}

/* ─── BELIEF BAND ─── */
.iv-belief {
  background: #0a0a08;
  border-top: 1px solid rgba(212,175,55,0.15);
  border-bottom: 1px solid rgba(212,175,55,0.15);
  padding: 56px 52px;
  display: flex;
  align-items: center;
  gap: 44px;
}
.iv-belief-rule {
  width: 40px;
  height: 1px;
  background: #1a4a42;
  flex-shrink: 0;
}
.iv-belief-text {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(19px, 2.1vw, 25px);
  font-weight: 300;
  font-style: italic;
  line-height: 1.55;
  color: #c8c2b5;
  max-width: 880px;
}
.iv-belief-text strong { font-weight: 400; color: #e2ddd4; font-style: normal; }
.iv-belief-attr {
  display: block;
  margin-top: 18px;
  font-size: 11px;
  letter-spacing: 0.18em;
  font-style: normal;
  font-family: 'Karla', sans-serif;
  color: #c8c2b5;
  text-transform: uppercase;
}

/* ─── SECTION HEADERS (shared) ─── */
.iv-section-eyebrow {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #4a8f82;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.iv-section-eyebrow::after {
  content: '';
  display: block;
  width: 48px;
  height: 1px;
  background: rgba(26, 74, 66, 0.65);
}
.iv-section-h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(28px, 3.4vw, 42px);
  font-weight: 400;
  line-height: 1.15;
  color: #e2ddd4;
  margin-bottom: 14px;
  max-width: 720px;
}
.iv-section-h2 em { font-style: italic; color: #D4AF37; }
.iv-section-lead {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(17px, 1.8vw, 21px);
  font-weight: 300;
  font-style: italic;
  color: rgba(226,221,212,0.7);
  margin-bottom: 48px;
  max-width: 680px;
  line-height: 1.55;
}

/* ─── HOME · SERVICES TIER 1 (flagship sessions) ─── */
.iv-services {
  padding: 96px 52px;
  background: #0e0e0c;
}
.iv-services-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: rgba(212,175,55,0.1);
}
.iv-service {
  background: #0e0e0c;
  padding: 48px 44px;
}
.iv-service--wide {
  grid-column: 1 / -1;
  background: #0a0a08;
}
.iv-service-tag {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #4a8f82;
  margin-bottom: 18px;
}
.iv-service-name {
  font-family: 'Playfair Display', serif;
  font-size: 24px;
  font-weight: 400;
  color: #e2ddd4;
  margin-bottom: 14px;
  line-height: 1.2;
}
.iv-service-name em { font-style: italic; color: #D4AF37; }
.iv-service-desc {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.75;
  color: #7e7870;
  max-width: 380px;
}
.iv-service--wide .iv-service-desc { max-width: 620px; }
.iv-service-detail {
  margin-top: 22px;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: rgba(212,175,55,0.6);
  text-transform: uppercase;
}

/* ─── HOME · WATER-LIGHT PAUSE BAND ─── */
/* Photo: /img/iv-home-focused-sessions-water-light.jpg (silvery light on
   dark water, near-abstract) — a visual pause between the two tiers */
.iv-pause {
  height: 300px;
  background:
    linear-gradient(to bottom, rgba(14,14,12,0.55) 0%, rgba(14,14,12,0.35) 50%, rgba(14,14,12,0.8) 100%),
    url('/img/iv-home-focused-sessions-water-light.jpg') center / cover no-repeat,
    #0a0a08;
  border-top: 1px solid rgba(212,175,55,0.08);
  border-bottom: 1px solid rgba(212,175,55,0.08);
}

/* ─── HOME · SERVICES TIER 2 (focused sessions) ─── */
.iv-focused {
  padding: 80px 52px 88px;
  background: #0e0e0c;
}
.iv-focused-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 36px;
}
.iv-focused-card {
  border-top: 1px solid rgba(212,175,55,0.18);
  padding-top: 24px;
}
.iv-focused-tag {
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #4a8f82;
  margin-bottom: 12px;
}
.iv-focused-name {
  font-family: 'Playfair Display', serif;
  font-size: 18px;
  font-weight: 400;
  color: #e2ddd4;
  margin-bottom: 10px;
  line-height: 1.25;
}
.iv-focused-name em { font-style: italic; color: #D4AF37; }
.iv-focused-desc {
  font-size: 13.5px;
  font-weight: 300;
  line-height: 1.7;
  color: #8a847a;
}
.iv-focused-detail {
  margin-top: 14px;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: rgba(212,175,55,0.6);
  text-transform: uppercase;
}

/* ─── PHOTO BREAK (quote band, shared) ─── */
.iv-photo-break {
  height: 360px;
  background:
    linear-gradient(to right, rgba(8,10,8,0.7), rgba(8,10,8,0.35)),
    url('/img/iv-home-photo-break.jpg') center/cover no-repeat,
    #1a1816;
  padding: 0 52px;
  display: flex;
  align-items: center;
  border-top: 1px solid rgba(212,175,55,0.1);
}
.iv-photo-break-text {
  font-family: 'Playfair Display', serif;
  font-size: clamp(22px, 2.8vw, 34px);
  font-weight: 400;
  font-style: italic;
  color: #f0ebe0;
  max-width: 720px;
  line-height: 1.35;
}
.iv-photo-break-text em { color: #D4AF37; font-style: normal; }

/* ─── HOME · DANIELLE (two-column) ─── */
.iv-danielle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #0a0a08;
  border-top: 1px solid rgba(212,175,55,0.1);
}
/* Placeholder — owner swaps in Danielle's portrait at /img/iv-danielle-portrait.jpg
   Suggested: ~900×1200 portrait-orientation WebP */
.iv-danielle-img {
  background-image: url('/img/iv-danielle-portrait.jpg');
  background-size: cover;
  background-position: center;
  background-color: #0a0a08;
  min-height: 560px;
}
.iv-danielle-img--photo { background-image: url('/img/iv-danielle-portrait.jpg'); }
.iv-danielle-text {
  padding: 72px 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.iv-danielle-label {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #D4AF37;
  margin-bottom: 28px;
}
.iv-danielle-h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(26px, 2.8vw, 38px);
  font-weight: 400;
  line-height: 1.15;
  color: #e2ddd4;
  margin-bottom: 24px;
}
.iv-danielle-h2 em { font-style: italic; color: #D4AF37; }
.iv-danielle-p {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.8;
  color: #7e7870;
  margin-bottom: 16px;
}

/* ─── HOME · ETHOS GRID (3-column) ─── */
.iv-ethos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(212,175,55,0.08);
  border-top: 1px solid rgba(212,175,55,0.08);
}
.iv-ethos-panel {
  background: #0e0e0c;
  padding: 52px 40px;
}
.iv-ethos-num {
  font-family: 'Playfair Display', serif;
  font-size: 56px;
  font-weight: 400;
  color: rgba(26, 74, 66, 0.55);
  line-height: 1;
  margin-bottom: 20px;
}
.iv-ethos-label {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #4a8f82;
  margin-bottom: 14px;
}
.iv-ethos-body {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.75;
  color: #7e7870;
}

/* ─── HOME · FOGGY QUOTE (centered, ambient) ─── */
.iv-foggy {
  min-height: 380px;
  background:
    linear-gradient(to bottom, rgba(14,14,12,0.55) 0%, rgba(14,14,12,0.25) 50%, rgba(14,14,12,0.75) 100%),
    url('/img/iv-home-foggy-quote.jpg') center/cover no-repeat,
    #14140f;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 72px 52px;
  border-top: 1px solid rgba(212,175,55,0.08);
}
.iv-foggy-inner { text-align: center; }
.iv-foggy-quote {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(20px, 2.8vw, 30px);
  font-weight: 300;
  font-style: italic;
  color: #e2ddd4;
  line-height: 1.5;
  max-width: 640px;
  margin: 0 auto 16px;
}
.iv-foggy-attr {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #D4AF37;
}

/* ─── HOME · NO-TIPPING BAND ─── */
.iv-notip {
  background: #0a0a08;
  padding: 88px 52px;
  border-top: 1px solid rgba(212,175,55,0.12);
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 80px;
  align-items: center;
}
.iv-notip-badge {
  display: inline-block;
  border: 1px solid rgba(212,175,55,0.3);
  padding: 8px 20px;
  margin-bottom: 28px;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #D4AF37;
}
.iv-notip-h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(30px, 3.5vw, 44px);
  font-weight: 400;
  line-height: 1.15;
  color: #e2ddd4;
}
.iv-notip-h2 em { font-style: italic; color: #D4AF37; }
.iv-notip-redirect {
  font-size: 17px;
  font-weight: 300;
  color: rgba(212,175,55,0.7);
  font-style: italic;
  font-family: 'Cormorant Garamond', serif;
  line-height: 1.65;
}

/* ─── HOME · BOOK CTA ─── */
.iv-book-cta {
  min-height: 480px;
  background:
    linear-gradient(to bottom, rgba(8,10,8,0.45) 0%, rgba(8,10,8,0.82) 100%),
    radial-gradient(ellipse at bottom left, rgba(212,175,55,0.07), transparent 55%),
    url('/img/iv-home-book-cta.jpg') center/cover no-repeat,
    #14140f;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 80px 52px;
  border-top: 1px solid rgba(212,175,55,0.1);
}
.iv-book-h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 400;
  line-height: 1.1;
  color: #f0ebe0;
  margin-bottom: 14px;
}
.iv-book-h2 em { font-style: italic; color: #D4AF37; }
.iv-book-sub {
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px;
  font-weight: 300;
  font-style: italic;
  color: rgba(226,221,212,0.65);
  margin-bottom: 44px;
}
.iv-book-actions {
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}
.iv-book-phone {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: rgba(226,221,212,0.5);
  text-decoration: none;
}

/* ─── CAREERS · WHY WORK HERE GRID ─── */
.iv-why {
  padding: 96px 52px;
  background: #0e0e0c;
}
.iv-why-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: rgba(212,175,55,0.1);
}
.iv-why-panel {
  background: #0e0e0c;
  padding: 48px 44px;
}
.iv-why-num {
  font-family: 'Playfair Display', serif;
  font-size: 14px;
  font-weight: 400;
  font-style: italic;
  color: #D4AF37;
  margin-bottom: 18px;
  letter-spacing: 0.08em;
}
.iv-why-name {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 400;
  color: #e2ddd4;
  margin-bottom: 14px;
  line-height: 1.2;
}
.iv-why-name em { font-style: italic; color: #D4AF37; }
.iv-why-desc {
  font-size: 14.5px;
  font-weight: 300;
  line-height: 1.75;
  color: #8a847a;
  max-width: 380px;
}

/* ─── CAREERS · ROLE DETAILS (2-col) ─── */
.iv-role {
  background: #0a0a08;
  padding: 96px 52px;
  border-top: 1px solid rgba(212,175,55,0.1);
}
.iv-role-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 80px;
  align-items: start;
}
.iv-role-h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(28px, 3.2vw, 40px);
  font-weight: 400;
  line-height: 1.15;
  color: #e2ddd4;
}
.iv-role-h2 em { font-style: italic; color: #D4AF37; }
.iv-role-list { list-style: none; padding: 0; }
.iv-role-item {
  border-bottom: 1px solid rgba(212,175,55,0.1);
  padding: 20px 0;
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 28px;
  align-items: baseline;
}
.iv-role-item:last-child { border-bottom: none; }
.iv-role-label {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #D4AF37;
}
.iv-role-val {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.7;
  color: #c8c2b5;
}
.iv-role-val em {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  color: rgba(212,175,55,0.7);
}

/* ─── 3-COL PANEL GRID (Careers "looking for" · Partners grids) ─── */
.iv-looking {
  padding: 96px 52px;
  background: #0e0e0c;
}
.iv-looking--alt { background: #0a0a08; border-top: 1px solid rgba(212,175,55,0.1); }
.iv-looking-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(212,175,55,0.08);
  border-top: 1px solid rgba(212,175,55,0.08);
}
.iv-looking-panel {
  background: #0e0e0c;
  padding: 44px 36px;
}
.iv-looking--alt .iv-looking-panel { background: #0a0a08; }
.iv-looking-num {
  font-family: 'Playfair Display', serif;
  font-size: 48px;
  font-weight: 400;
  color: rgba(212,175,55,0.12);
  line-height: 1;
  margin-bottom: 18px;
}
.iv-looking-label {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #D4AF37;
  margin-bottom: 14px;
}
.iv-looking-body {
  font-size: 14.5px;
  font-weight: 300;
  line-height: 1.75;
  color: #8a847a;
}

/* ─── PARTNERS · HOW IT WORKS (4-step horizontal band) ─── */
.iv-process {
  padding: 96px 52px;
  background: #0a0a08;
  border-top: 1px solid rgba(212,175,55,0.1);
}
.iv-process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(212,175,55,0.08);
  border-top: 1px solid rgba(212,175,55,0.08);
}
.iv-process-panel {
  background: #0a0a08;
  padding: 44px 36px;
}
.iv-process-num {
  font-family: 'Playfair Display', serif;
  font-size: 48px;
  font-weight: 400;
  color: rgba(212,175,55,0.12);
  line-height: 1;
  margin-bottom: 18px;
}
.iv-process-label {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #D4AF37;
  margin-bottom: 14px;
}
.iv-process-body {
  font-size: 14.5px;
  font-weight: 300;
  line-height: 1.75;
  color: #8a847a;
}

/* ─── AMBIENT QUOTE SECTION (Careers island · Partners benefits) ─── */
.iv-island {
  background:
    linear-gradient(to bottom, rgba(10,10,8,0.75), rgba(14,14,12,0.95)),
    linear-gradient(180deg, #14140f 0%, #0a0a08 100%);
  padding: 100px 52px;
  text-align: center;
  border-top: 1px solid rgba(212,175,55,0.1);
}
/* Partners benefits band photo: /img/iv-partners-water-sunset.jpg
   (warm gold light in a column down dark water) */
.iv-island--sunset {
  background:
    linear-gradient(to bottom, rgba(10,10,8,0.72), rgba(14,14,12,0.88)),
    url('/img/iv-partners-water-sunset.jpg') center / cover no-repeat,
    #0a0a08;
}
.iv-island-eyebrow {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #D4AF37;
  margin-bottom: 22px;
}
.iv-island-quote {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(20px, 2.6vw, 28px);
  font-weight: 300;
  font-style: italic;
  color: #e2ddd4;
  line-height: 1.55;
  max-width: 720px;
  margin: 0 auto 18px;
}
.iv-island--sunset .iv-island-quote {
  font-size: clamp(19px, 2.2vw, 24px);
  max-width: 780px;
  margin-bottom: 0;
}
.iv-island-attr {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(212,175,55,0.7);
}

/* ─── FORM SECTION (Careers apply · Partners contact) ─── */
.iv-apply {
  background: #0a0a08;
  padding: 100px 52px;
  border-top: 1px solid rgba(212,175,55,0.12);
}
.iv-apply-header {
  text-align: center;
  margin-bottom: 60px;
}
.iv-apply-h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(34px, 4.5vw, 56px);
  font-weight: 400;
  line-height: 1.1;
  color: #f0ebe0;
  margin-bottom: 16px;
}
.iv-apply-h2 em { font-style: italic; color: #D4AF37; }
.iv-apply-sub {
  font-family: 'Cormorant Garamond', serif;
  font-size: 19px;
  font-weight: 300;
  font-style: italic;
  color: rgba(226,221,212,0.65);
  max-width: 540px;
  margin: 0 auto;
  line-height: 1.5;
}
.iv-form {
  max-width: 720px;
  margin: 0 auto;
}
.iv-form--left { margin: 0; }
.iv-field { margin-bottom: 28px; }
.iv-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.iv-label {
  display: block;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #D4AF37;
  margin-bottom: 10px;
}
.iv-input, .iv-textarea, .iv-select {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(212,175,55,0.25);
  padding: 10px 0;
  font-family: 'Karla', sans-serif;
  font-size: 15px;
  font-weight: 300;
  color: #e2ddd4;
  outline: none;
  transition: border-color 0.2s ease;
}
.iv-input:focus, .iv-textarea:focus, .iv-select:focus {
  border-bottom-color: #D4AF37;
}
.iv-textarea {
  min-height: 110px;
  resize: vertical;
  font-family: 'Karla', sans-serif;
  line-height: 1.6;
}
.iv-select {
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%23D4AF37' d='M0 0l5 6 5-6z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 4px center;
  background-size: 10px 6px;
  cursor: pointer;
}
.iv-select option { background: #0a0a08; color: #e2ddd4; }
.iv-checkgroup {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 4px;
}
.iv-check {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 300;
  color: #c8c2b5;
  cursor: pointer;
  padding: 6px 0;
}
.iv-check input {
  appearance: none;
  width: 14px; height: 14px;
  border: 1px solid rgba(212,175,55,0.4);
  background: transparent;
  cursor: pointer;
  position: relative;
}
.iv-check input:checked { background: #D4AF37; border-color: #D4AF37; }
.iv-check input:checked::after {
  content: '';
  position: absolute;
  left: 3px; top: 0;
  width: 4px; height: 8px;
  border: solid #0e0e0c;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
}
.iv-hint {
  display: block;
  font-size: 12px;
  font-weight: 300;
  font-style: italic;
  color: rgba(138,132,122,0.7);
  margin-top: 6px;
  font-family: 'Cormorant Garamond', serif;
}
.iv-submit-row {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.iv-submit-row--left { align-items: flex-start; }
.iv-submit {
  background: #D4AF37;
  color: #0e0e0c;
  font-family: 'Karla', sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 16px 56px;
  border: none;
  cursor: pointer;
  transition: background 0.2s ease;
}
.iv-submit:hover { background: #E8C84A; }
.iv-direct {
  font-size: 13px;
  font-weight: 300;
  color: rgba(138,132,122,0.85);
  font-style: italic;
  font-family: 'Cormorant Garamond', serif;
}
.iv-direct a {
  color: #D4AF37;
  text-decoration: none;
  border-bottom: 1px solid rgba(212,175,55,0.4);
  padding-bottom: 1px;
}

/* ─── FOOTER (shared) ─── */
.iv-footer {
  background: #080806;
  padding: 48px 52px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  border-top: 1px solid rgba(212,175,55,0.1);
  flex-wrap: wrap;
  gap: 32px;
}
.iv-footer-brand {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 400;
  color: #D4AF37;
  margin-bottom: 8px;
}
.iv-footer-addr,
.iv-footer-hours-val {
  font-size: 13px;
  font-weight: 300;
  color: #c8c2b5;
  line-height: 1.7;
}
.iv-footer-hours-label {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #a8a298;
  margin-bottom: 8px;
}
.iv-footer-link {
  color: #D4AF37;
  text-decoration: none;
  border-bottom: 1px solid rgba(212,175,55,0.4);
  padding-bottom: 1px;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.iv-footer-link:hover { color: #E8C84A; border-bottom-color: #E8C84A; }

/* ─── MOBILE (< 760px) ─── */
@media (max-width: 1100px) {
  .iv-focused-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
  .iv-nav { padding: 20px 24px; }
  .iv-nav-toggle { display: block; }
  .iv-nav-links { display: none; }
  .iv-nav-links.open {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    position: absolute;
    top: 64px;
    left: 24px;
    right: 24px;
    background: #0a0a08;
    border: 1px solid rgba(212,175,55,0.2);
    padding: 28px 24px;
    z-index: 40;
  }
  .iv-hero { padding: 28px 24px; }
  .iv-hero-actions { gap: 18px; }
  .iv-belief { padding: 44px 24px; gap: 24px; flex-direction: column; align-items: flex-start; }
  .iv-belief-rule { width: 32px; }
  .iv-services, .iv-focused, .iv-why, .iv-role, .iv-looking,
  .iv-process, .iv-island, .iv-apply { padding: 64px 24px; }
  .iv-services-grid { grid-template-columns: 1fr; }
  .iv-service { padding: 40px 28px; }
  .iv-pause { height: 220px; }
  .iv-focused-grid { grid-template-columns: 1fr; gap: 28px; }
  .iv-photo-break { padding: 0 24px; height: 280px; }
  .iv-danielle { grid-template-columns: 1fr; }
  .iv-danielle-img { min-height: 380px; }
  .iv-danielle-text { padding: 56px 24px; }
  .iv-ethos-grid { grid-template-columns: 1fr; }
  .iv-foggy { padding: 64px 24px; }
  .iv-notip { grid-template-columns: 1fr; gap: 36px; padding: 64px 24px; }
  .iv-book-cta { padding: 64px 24px; min-height: 420px; }
  .iv-why-grid { grid-template-columns: 1fr; }
  .iv-role-grid { grid-template-columns: 1fr; gap: 36px; }
  .iv-role-item { grid-template-columns: 1fr; gap: 6px; }
  .iv-looking-grid { grid-template-columns: 1fr; }
  .iv-process-grid { grid-template-columns: 1fr; }
  .iv-row { grid-template-columns: 1fr; gap: 28px; }
  .iv-checkgroup { grid-template-columns: 1fr 1fr; }
  .iv-footer { padding: 36px 24px; flex-direction: column; align-items: flex-start; }
}
