/* =========================================================
   AVYAH NFC / CONNECT PAGE
========================================================= */

.nfc-hero {
  min-height: 78svh;
  background: var(--primary);
  color: #fff;

  position: relative;
  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 130px 8vw 90px;

  text-align: center;
}




/* HERO CONTENT */

.nfc-hero-content {
  position: relative;
  z-index: 3;

  width: 100%;
  max-width: 850px;

  display: flex;
  flex-direction: column;
  align-items: center;
}


.nfc-hero .eyebrow {
  color: var(--cream);

  margin-bottom: 22px;
}


.nfc-hero h1 {
  font-family: var(--serif);

  font-size: clamp(34px, 9vw, 80px);

  line-height: .9;

  font-weight: 500;

  letter-spacing: -.055em;

  margin: 0;

  text-align: center;
}


.nfc-hero h1 span {
  color: var(--cream);

  font-style: italic;
}


.nfc-hero-text {
  width: min(100%, 510px);

  margin: 30px auto 0;

  font-size: 15px;

  line-height: 1.8;

  color: rgba(255,255,255,.7);
}


.nfc-scroll {
  display: inline-flex;

  align-items: center;

  gap: 14px;

  margin-top: 35px;

  font-size: 10px;

  letter-spacing: .16em;

  text-transform: uppercase;

  color: #fff;
}


.nfc-scroll i {
  width: 42px;
  height: 1px;

  background: var(--cream);

  position: relative;

  transition: width .4s var(--ease);
}


.nfc-scroll i::after {
  content: "";

  position: absolute;

  right: 0;
  top: -3px;

  width: 7px;
  height: 7px;

  border-right: 1px solid var(--cream);
  border-bottom: 1px solid var(--cream);

  transform: rotate(-45deg);
}


.nfc-scroll:hover i {
  width: 65px;
}


/* HERO BOTTOM LABELS */

.nfc-hero-side {
  position: absolute;

  z-index: 3;

  left: 50%;
  bottom: 35px;

  transform: translateX(-50%);

  display: flex;

  gap: 22px;

  font-size: 8px;

  letter-spacing: .2em;

  color: rgba(255,255,255,.45);
}


.nfc-hero-side span {
  white-space: nowrap;
}


/* =========================================================
   CONNECT SECTION
========================================================= */

.nfc-connect {
  padding: 100px 6vw;

  background: var(--light);
}


.nfc-container {
  max-width: 1400px;

  margin: auto;
}


/* HEADING */

.nfc-heading {
  gap: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;

  margin-bottom: 45px;
}


.nfc-heading .eyebrow {
  margin-bottom: 14px;
}


.nfc-heading h2 {
  font-family: var(--serif);

  font-size: clamp(42px, 5vw, 72px);

  font-weight: 500;

  line-height: .98;

  letter-spacing: -.04em;

  margin: 0;
}


.nfc-heading h2 span {
  color: var(--primary);

  font-style: italic;
}


.nfc-heading-text {
  max-width: 400px;

  margin: 0;

  font-size: 14px;

  line-height: 1.8;

  color: rgba(27,38,67,.65);
}


/* =========================================================
   ACTION GRID
========================================================= */

.nfc-action-grid {
  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 10px;
}


/* =========================================================
   NFC BOX
========================================================= */

.nfc-box {
  min-height: 235px;
  padding: 22px;
  position: relative;
  overflow: hidden;

  display: flex;
  flex-direction: column;

  background: var(--primary);
  border: 1px solid var(--primary);
  color: #fff;

  transition:
    transform .45s var(--ease),
    background .45s var(--ease),
    color .45s var(--ease),
    box-shadow .45s var(--ease);
}


/* INNER BORDER DETAIL */

.nfc-box::before {
  content: "";

  position: absolute;

  inset: 7px;

  border: 1px solid rgba(255,255,255,.1);

  pointer-events: none;

  transition:
    border-color .45s var(--ease);
}


/* HOVER */

.nfc-box:hover {
  background: var(--cream);

  color: var(--primary);

  transform: translateY(-5px);

  box-shadow:
    0 18px 40px rgba(0,0,0,.08);
}


.nfc-box:hover::before {
  border-color: rgba(27,38,67,.14);
}


/* CONTENT */

.nfc-box-number,
.nfc-box-icon,
.nfc-box-title,
.nfc-box-arrow {
  position: relative;

  z-index: 2;
}


.nfc-box-number {
  font-size: 9px;

  letter-spacing: .18em;

  opacity: .65;
}


/* ICON */

.nfc-box-icon {
  width: 98px;
  height: 98px;

  position: absolute;
  left: 50%;
  top: 47%;
  transform: translate(-50%, -50%);

  margin: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  transition:
    transform .4s var(--ease);
}

.nfc-box-icon svg {
  width: 90%;
  height: 90%;
  stroke: currentColor;
}


/* TITLE */

.nfc-box-title {
  position: absolute;
  left: 50%;
  top: calc(47% + 52px);

  transform: translateX(-50%);

  width: calc(100% - 32px);

  text-align: center;

  font-family: var(--serif);
  font-size: clamp(19px, 1.7vw, 25px);
  line-height: 1.08;
  font-weight: 500;
  letter-spacing: -.02em;
}


/* ARROW */

.nfc-box-arrow {
  position: absolute;

  top: 20px;

  right: 22px;

  width: 34px;

  height: 34px;

  border: 1px solid rgba(255,255,255,.25);

  display: grid;

  place-items: center;

  border-radius: 50%;

  transition:
    transform .4s var(--ease),
    border-color .4s var(--ease);
}


.nfc-box:hover .nfc-box-arrow {
  transform: rotate(45deg);

  border-color: rgba(27,38,67,.3);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 992px) {

  .nfc-heading {
    grid-template-columns: 1fr;

    gap: 22px;
  }


  .nfc-action-grid {
    grid-template-columns: repeat(2, 1fr);
  }


  .nfc-heading-text {
    max-width: 520px;
  }

}


@media (max-width: 640px) {

  .nfc-box-title {
  position: absolute;
  left: 50%;
  top: calc(37% + 52px);

  
}

  .nfc-hero {
    min-height: 40px;
    overflow: hidden;
  }


  .nfc-hero-grid {
    background-size: 45px 45px;
  }


  .nfc-hero h1 {
    font-size: clamp(58px, 7vw, 88px);
  }


  .nfc-hero-text {
    font-size: 14px;

    margin-top: 24px;
  }


  .nfc-hero-side {
    bottom: 28px;

    gap: 10px;

    font-size: 7px;

    letter-spacing: .1em;
  }


  .nfc-connect {
    padding: 75px 5vw;
  }


  .nfc-heading {
    margin-bottom: 35px;
  }


  .nfc-action-grid {
    gap: 7px;
  }


  .nfc-box {
    min-height: 195px;

    padding: 16px;
  }


  .nfc-box::before {
    inset: 5px;
  }


  .nfc-box-icon {
    width: 66px;

    height: 66px;

    /* margin-bottom: 10px; */
  }


  .nfc-box-title {
    font-size: 19px;
  }


  .nfc-box-arrow {
    width: 28px;

    height: 28px;

    top: 14px;

    right: 14px;

    font-size: 14px;
  }

}


@media (max-width: 380px) {

  .nfc-box {
    min-height: 175px;
  }


  .nfc-box-title {
    font-size: 17px;
  }


  .nfc-box-icon {
    width: 23px;

    height: 23px;
  }

}


/* =========================================
   CENTER ALL NFC SECTION HEADINGS
========================================= */

.nfc-hero h1,
.nfc-heading h2,
.nfc-box-title {
  text-align: center;
}

/* Ensure heading containers are centered */
.nfc-heading,
.nfc-hero-content {
  text-align: center;
  align-items: center;
}

/* Center heading-related content */
.nfc-heading .eyebrow,
.nfc-heading-text,
.nfc-hero .eyebrow {
  text-align: center;
}