/* ============================================================
   CHEF DANIE
   CONNECT PAGE
============================================================ */


/* ============================================================
   PAGE
============================================================ */

.connect-page {
  background: var(--cream-light);
  color: var(--ink);
}


/* ============================================================
   HEADER
============================================================ */

.connect-page .site-header {
  color: var(--cream);

  background: rgba(7, 16, 12, 0.96);

  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);

  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}


.connect-page .site-header.scrolled {
  background: rgba(7, 16, 12, 0.97);
}


.connect-page .brand {
  color: var(--cream);
}


.connect-page .main-nav a {
  color: rgba(248, 245, 239, 0.78);
}


.connect-page .main-nav a:hover {
  color: var(--cream);
}


.connect-page .main-nav .nav-active {
  color: var(--gold-light);
}


.connect-page .main-nav .nav-active::after {
  width: 100%;
}


.connect-page .header-cta {
  color: var(--cream);

  border-color: rgba(213, 192, 150, 0.7);
}


.connect-page .header-cta:hover {
  background: var(--gold-light);

  color: var(--green-deep);
}


/* ============================================================
   HERO
============================================================ */

.connect-hero {
  min-height: 780px;

  display: grid;
  grid-template-columns: 0.92fr 1.08fr;

  background: var(--green-deep);

  color: var(--cream);

  overflow: hidden;
}


/* ============================================================
   HERO COPY
============================================================ */

.connect-hero-copy {
  min-height: 780px;

  display: flex;
  align-items: center;

  padding:
    150px
    7vw
    90px;
}


.connect-hero-inner {
  width: min(580px, 100%);
}


.connect-eyebrow {
  margin: 0;

  color: var(--gold-light);

  font-size: 9px;
  font-weight: 500;

  text-transform: uppercase;
  letter-spacing: 0.27em;
}


.connect-gold-line {
  width: 30px;
  height: 1px;

  margin:
    25px
    0
    30px;

  background: var(--gold);
}


.connect-hero h1 {
  margin: 0;

  font-family: var(--serif);

  font-size: clamp(78px, 7.5vw, 132px);
  font-weight: 400;

  line-height: 0.9;

  letter-spacing: -0.055em;
}


.connect-intro {
  width: min(440px, 100%);

  margin: 36px 0 0;

  color: rgba(244, 239, 228, 0.67);

  font-size: 13px;
  font-weight: 300;

  line-height: 1.85;
}


.connect-hero-link {
  margin-top: 42px;

  display: inline-flex;
  align-items: center;

  gap: 35px;

  font-size: 9px;
  font-weight: 500;

  text-transform: uppercase;
  letter-spacing: 0.18em;
}


.connect-hero-link span:last-child {
  color: var(--gold-light);

  font-size: 17px;

  transition: transform 0.3s ease;
}


.connect-hero-link:hover span:last-child {
  transform: translateY(5px);
}


/* ============================================================
   HERO IMAGE
============================================================ */

.connect-hero-visual {
  position: relative;

  min-height: 780px;

  overflow: hidden;
}


.connect-hero-visual img {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;
}


.connect-image-overlay {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(8, 18, 13, 0.22),
      transparent 35%
    ),
    linear-gradient(
      180deg,
      rgba(4, 10, 7, 0.08),
      transparent 50%,
      rgba(4, 10, 7, 0.4)
    );
}


.connect-image-caption {
  position: absolute;

  left: 42px;
  bottom: 35px;

  z-index: 2;

  margin: 0;

  color: var(--cream);

  font-family: var(--serif);

  font-size: 17px;
}


.connect-image-caption span {
  display: block;

  margin-top: 5px;

  color: rgba(255, 255, 255, 0.57);

  font-family: var(--sans);

  font-size: 7px;

  text-transform: uppercase;
  letter-spacing: 0.18em;
}


/* ============================================================
   INTRODUCTION
============================================================ */

.connect-introduction {
  padding:
    110px
    var(--page-padding);

  background: var(--cream-light);
}


.connect-introduction-inner {
  width: min(1330px, 100%);

  margin: 0 auto;

  display: grid;
  grid-template-columns: 1fr 0.82fr;

  align-items: start;

  gap: 11vw;
}


.connect-small-label {
  margin: 0 0 23px;

  color: #6e775f;

  font-size: 8px;
  font-weight: 600;

  text-transform: uppercase;
  letter-spacing: 0.23em;
}


.connect-introduction-heading h2 {
  margin: 0;

  font-family: var(--serif);

  font-size: clamp(52px, 5vw, 85px);
  font-weight: 400;

  line-height: 0.98;

  letter-spacing: -0.045em;
}


.connect-introduction-copy {
  padding-top: 37px;
}


.connect-introduction-copy p {
  margin: 0 0 22px;

  color: rgba(17, 19, 15, 0.69);

  font-family: var(--serif);

  font-size: 18px;

  line-height: 1.65;
}


/* ============================================================
   OPPORTUNITY PATHWAYS
============================================================ */

.connect-pathways {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  background: #ebe6dc;

  border-top: 1px solid rgba(17, 19, 15, 0.12);
  border-bottom: 1px solid rgba(17, 19, 15, 0.12);
}


.connect-pathway {
  min-height: 440px;

  padding:
    58px
    3.5vw
    55px;

  display: flex;
  flex-direction: column;

  border-right: 1px solid rgba(17, 19, 15, 0.13);

  transition:
    background 0.4s ease,
    color 0.4s ease;
}


.connect-pathway:last-child {
  border-right: 0;
}


.connect-pathway-rule {
  width: 29px;
  height: 1px;

  margin-bottom: 45px;

  background: var(--gold);
}


.connect-pathway h3 {
  margin: 0;

  font-family: var(--serif);

  font-size: clamp(30px, 2.45vw, 45px);
  font-weight: 400;

  line-height: 1.03;

  letter-spacing: -0.035em;
}


.connect-pathway p {
  max-width: 310px;

  margin: 27px 0 34px;

  color: rgba(17, 19, 15, 0.62);

  font-size: 11px;
  font-weight: 300;

  line-height: 1.85;
}


.connect-pathway a {
  margin-top: auto;

  display: inline-flex;
  align-items: center;

  gap: 28px;

  width: fit-content;

  font-size: 8px;
  font-weight: 600;

  text-transform: uppercase;
  letter-spacing: 0.19em;
}


.connect-pathway a span {
  font-size: 17px;

  transition: transform 0.3s ease;
}


.connect-pathway:hover {
  background: var(--green-rich);

  color: var(--cream);
}


.connect-pathway:hover p {
  color: rgba(242, 238, 229, 0.66);
}


.connect-pathway:hover .connect-pathway-rule {
  background: var(--gold-light);
}


.connect-pathway:hover a span {
  transform: translateX(6px);
}


/* ============================================================
   INQUIRY SECTION
============================================================ */

.connect-inquiry {
  padding:
    125px
    var(--page-padding)
    135px;

  background: var(--green-rich);

  color: var(--cream);
}


/* ============================================================
   INQUIRY HEADING
============================================================ */

.connect-form-heading {
  width: min(1330px, 100%);

  margin: 0 auto 78px;

  display: grid;
  grid-template-columns: 1fr 0.6fr;

  align-items: end;

  gap: 10vw;
}


.connect-inquiry .connect-small-label {
  color: var(--gold-light);
}


.connect-form-heading h2 {
  margin: 0;

  color: var(--cream);

  font-family: var(--serif);

  font-size: clamp(58px, 5.5vw, 94px);
  font-weight: 400;

  line-height: 0.96;

  letter-spacing: -0.05em;
}


.connect-form-heading-copy {
  padding-bottom: 8px;
}


.connect-form-heading-copy p {
  margin: 0 0 15px;

  color: rgba(242, 238, 229, 0.76);

  font-family: var(--serif);

  font-size: 18px;

  line-height: 1.55;
}


.connect-form-heading-copy span {
  color: rgba(242, 238, 229, 0.42);

  font-size: 8px;

  text-transform: uppercase;
  letter-spacing: 0.16em;
}


/* ============================================================
   FORM
============================================================ */

.connect-form {
  width: min(1330px, 100%);

  margin: 0 auto;
}


/* ============================================================
   INQUIRY TYPE
============================================================ */

.inquiry-type-fieldset {
  margin: 0 0 72px;

  padding: 0;

  border: 0;
}


.inquiry-type-fieldset legend {
  width: 100%;

  margin-bottom: 25px;

  padding-bottom: 16px;

  color: rgba(242, 238, 229, 0.72);

  border-bottom: 1px solid rgba(242, 238, 229, 0.18);

  font-size: 8px;
  font-weight: 600;

  text-transform: uppercase;
  letter-spacing: 0.17em;
}


.inquiry-type-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 1px;

  background: rgba(255, 255, 255, 0.12);

  border: 1px solid rgba(255, 255, 255, 0.14);
}


.inquiry-type-option {
  position: relative;

  min-height: 105px;

  padding: 27px 25px;

  display: flex;
  align-items: center;

  gap: 16px;

  background: rgba(255, 255, 255, 0.025);

  color: var(--cream);

  cursor: pointer;

  transition:
    background 0.3s ease,
    color 0.3s ease;
}


.inquiry-type-option input {
  position: absolute;

  opacity: 0;

  pointer-events: none;
}


.inquiry-radio {
  position: relative;

  flex: 0 0 auto;

  width: 15px;
  height: 15px;

  border: 1px solid rgba(242, 238, 229, 0.55);
  border-radius: 50%;
}


.inquiry-radio::after {
  content: "";

  position: absolute;

  top: 50%;
  left: 50%;

  width: 7px;
  height: 7px;

  border-radius: 50%;

  background: var(--gold-light);

  transform: translate(-50%, -50%) scale(0);

  transition: transform 0.2s ease;
}


.inquiry-option-title {
  font-family: var(--serif);

  font-size: 18px;

  line-height: 1.25;
}


.inquiry-type-option:has(input:checked) {
  background: var(--cream);

  color: var(--green-deep);
}


.inquiry-type-option:has(input:checked) .inquiry-radio {
  border-color: var(--green-rich);
}


.inquiry-type-option:has(input:checked) .inquiry-radio::after {
  background: var(--green-rich);

  transform: translate(-50%, -50%) scale(1);
}


/* ============================================================
   FORM GRID
============================================================ */

.connect-form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);

  column-gap: 60px;
  row-gap: 42px;
}


.connect-field {
  position: relative;
}


.connect-field label {
  display: block;

  margin-bottom: 11px;

  color: rgba(242, 238, 229, 0.55);

  font-size: 7px;
  font-weight: 600;

  text-transform: uppercase;
  letter-spacing: 0.17em;
}


.connect-field input,
.connect-field textarea {
  width: 100%;

  padding: 8px 0 14px;

  background: transparent;

  border: 0;
  border-bottom: 1px solid rgba(242, 238, 229, 0.3);

  border-radius: 0;

  outline: 0;

  color: var(--cream);

  font-family: var(--serif);

  font-size: 18px;
  font-weight: 400;

  caret-color: var(--gold-light);

  transition: border-color 0.25s ease;
}


.connect-field input:focus,
.connect-field textarea:focus {
  border-bottom-color: var(--gold-light);
}


.connect-field input::placeholder,
.connect-field textarea::placeholder {
  color: rgba(242, 238, 229, 0.3);
}


.connect-field textarea {
  min-height: 135px;

  resize: vertical;

  line-height: 1.6;
}


.connect-field-full {
  margin-top: 50px;
}


.connect-field input[type="date"] {
  color-scheme: dark;

  font-family: var(--sans);

  font-size: 13px;
}


/* ============================================================
   FORM DIVIDER
============================================================ */

.connect-form-divider {
  margin: 75px 0 50px;

  display: flex;
  align-items: center;

  gap: 25px;

  color: rgba(242, 238, 229, 0.72);
}


.connect-form-divider::after {
  content: "";

  flex: 1;

  height: 1px;

  background: rgba(242, 238, 229, 0.18);
}


.connect-form-divider span {
  font-size: 8px;
  font-weight: 600;

  text-transform: uppercase;
  letter-spacing: 0.19em;
}


/* ============================================================
   SUBMIT
============================================================ */

.connect-submit-row {
  margin-top: 58px;

  padding-top: 30px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 40px;

  border-top: 1px solid rgba(242, 238, 229, 0.18);
}


.connect-submit-row p {
  max-width: 390px;

  margin: 0;

  color: rgba(242, 238, 229, 0.45);

  font-size: 9px;

  line-height: 1.65;
}


.connect-submit {
  min-width: 240px;
  height: 58px;

  padding: 0 25px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  background: var(--cream);

  color: var(--green-deep);

  border: 1px solid var(--cream);

  cursor: pointer;

  font-size: 9px;
  font-weight: 500;

  text-transform: uppercase;
  letter-spacing: 0.18em;

  transition:
    background 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease;
}


.connect-submit span:last-child {
  color: var(--green-rich);

  font-size: 18px;

  transition: transform 0.3s ease;
}


.connect-submit:hover {
  background: var(--gold-light);

  color: var(--green-deep);

  border-color: var(--gold-light);
}


.connect-submit:hover span:last-child {
  transform: translateX(5px);
}


/* ============================================================
   FORM STATUS
============================================================ */

.connect-form-status {
  min-height: 22px;

  margin-top: 22px;

  color: var(--gold-light);

  font-size: 10px;

  line-height: 1.6;
}


/* ============================================================
   CLOSING
============================================================ */

.connect-closing {
  padding:
    95px
    var(--page-padding);

  background: var(--green-deep);

  color: var(--cream);

  text-align: center;

  border-top: 1px solid rgba(255, 255, 255, 0.08);
}


.connect-closing > p {
  margin: 0 0 21px;

  color: var(--gold-light);

  font-size: 8px;
  font-weight: 500;

  text-transform: uppercase;
  letter-spacing: 0.27em;
}


.connect-closing h2 {
  margin: 0;

  font-family: var(--serif);

  font-size: clamp(48px, 5vw, 80px);
  font-weight: 400;

  line-height: 0.98;

  letter-spacing: -0.04em;
}


.connect-closing a {
  margin-top: 34px;

  display: inline-flex;
  align-items: center;

  gap: 25px;

  font-size: 8px;
  font-weight: 500;

  text-transform: uppercase;
  letter-spacing: 0.18em;
}


.connect-closing a span {
  color: var(--gold-light);

  font-size: 17px;

  transition: transform 0.3s ease;
}


.connect-closing a:hover span {
  transform: translateX(5px);
}


/* ============================================================
   TABLET
============================================================ */

@media (max-width: 1100px) {


  .connect-hero {
    grid-template-columns: 1fr 1fr;
  }


  .connect-introduction-inner {
    gap: 7vw;
  }


  /* FOUR PATHWAYS BECOME 2 X 2 */

  .connect-pathways {
    grid-template-columns: repeat(2, 1fr);
  }


  .connect-pathway {
    min-height: 380px;

    padding:
      52px
      45px;
  }


  .connect-pathway:nth-child(2) {
    border-right: 0;
  }


  .connect-pathway:nth-child(1),
  .connect-pathway:nth-child(2) {
    border-bottom: 1px solid rgba(17, 19, 15, 0.13);
  }


  .connect-pathway h3 {
    font-size: 42px;
  }


  /* FOUR INQUIRY OPTIONS BECOME 2 X 2 */

  .inquiry-type-grid {
    grid-template-columns: repeat(2, 1fr);
  }

}


/* ============================================================
   MOBILE
============================================================ */

@media (max-width: 760px) {


  /* HEADER */

  .connect-page .site-header,
  .connect-page .site-header.scrolled {
    background: rgba(7, 16, 12, 0.96);
  }


  .connect-page .main-nav {
    background: var(--green-deep);
  }


  .connect-page .main-nav a {
    color: var(--cream);
  }



  /* ==========================================================
     HERO
  ========================================================== */

  .connect-hero {
    min-height: auto;

    display: flex;
    flex-direction: column-reverse;
  }


  .connect-hero-visual {
    min-height: 490px;
  }


  .connect-hero-copy {
    min-height: auto;

    padding:
      65px
      24px
      75px;
  }


  .connect-hero h1 {
    font-size: 74px;
  }


  .connect-intro {
    font-size: 12px;
  }


  .connect-image-caption {
    left: 24px;
    bottom: 22px;
  }



  /* ==========================================================
     INTRO
  ========================================================== */

  .connect-introduction {
    padding:
      75px
      24px;
  }


  .connect-introduction-inner {
    display: block;
  }


  .connect-introduction-heading h2 {
    font-size: 50px;
  }


  .connect-introduction-copy {
    padding-top: 42px;
  }



  /* ==========================================================
     PATHWAYS
  ========================================================== */

  .connect-pathways {
    display: block;
  }


  .connect-pathway {
    min-height: auto;

    padding:
      52px
      24px
      56px;

    border-right: 0;
    border-bottom: 1px solid rgba(17, 19, 15, 0.13);
  }


  .connect-pathway:nth-child(1),
  .connect-pathway:nth-child(2) {
    border-bottom: 1px solid rgba(17, 19, 15, 0.13);
  }


  .connect-pathway:last-child {
    border-bottom: 0;
  }


  .connect-pathway-rule {
    margin-bottom: 35px;
  }


  .connect-pathway h3 {
    font-size: 42px;
  }


  .connect-pathway a {
    margin-top: 5px;
  }



  /* ==========================================================
     INQUIRY
  ========================================================== */

  .connect-inquiry {
    padding:
      85px
      24px
      95px;
  }


  .connect-form-heading {
    display: block;

    margin-bottom: 55px;
  }


  .connect-form-heading h2 {
    font-size: 53px;
  }


  .connect-form-heading-copy {
    margin-top: 30px;
  }



  /* ==========================================================
     INQUIRY TYPE
  ========================================================== */

  .inquiry-type-grid {
    display: block;

    background: transparent;
  }


  .inquiry-type-option {
    min-height: 88px;

    border-bottom: 1px solid rgba(242, 238, 229, 0.14);
  }


  .inquiry-type-option:last-child {
    border-bottom: 0;
  }


  .inquiry-option-title {
    font-size: 18px;
  }



  /* ==========================================================
     FORM FIELDS
  ========================================================== */

  .connect-form-grid {
    grid-template-columns: 1fr;

    gap: 34px;
  }


  .connect-form-divider {
    margin:
      60px
      0
      42px;
  }


  .connect-field-full {
    margin-top: 38px;
  }



  /* ==========================================================
     SUBMIT
  ========================================================== */

  .connect-submit-row {
    margin-top: 45px;

    flex-direction: column;
    align-items: stretch;
  }


  .connect-submit {
    width: 100%;
  }



  /* ==========================================================
     CLOSING
  ========================================================== */

  .connect-closing {
    padding:
      82px
      24px;
  }


  .connect-closing h2 {
    font-size: 48px;
  }

}