/* =========================================================
   NOT YET WRITTEN
   Main Stylesheet
   ========================================================= */


/* =========================================================
   RESET / BASE
   ========================================================= */

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: #11130f;
  color: #e8dfcd;
  font-family: "Inter", Arial, Helvetica, sans-serif;
  line-height: 1.7;
  position: relative;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 999;
  pointer-events: none;
  opacity: .05;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

a {
  color: inherit;
  text-decoration: none;
}


/* =========================================================
   HEADER / NAVIGATION
   ========================================================= */

.site-header {
  position: fixed;
  z-index: 5;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 5vw;

  background: rgba(11, 12, 11, 0.42);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);

  transition:
    background 2s ease,
    backdrop-filter 2s ease,
    -webkit-backdrop-filter 2s ease,
    box-shadow 2s ease;
}

.site-header.scrolled {
  background: rgba(13, 17, 12, .62);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(232, 223, 205, .10);
  box-shadow: 0 8px 30px rgba(0, 0, 0, .25);
}

.brand {
  display: flex;
  gap: 14px;
  align-items: center;

  font-size: 16px;
  letter-spacing: .2em;
}

.mark {
  width: 50px;
  height: 50px;

  border: 1px solid #a9613f;

  color: #a9613f;

  display: grid;
  place-items: center;

  font: 14px/1 Georgia, serif;
  text-align: center;
}

.nav {
  display: flex;
  gap: 10px;
  align-items: center;
}

.nav a {
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #e8dfcd;
  padding: 9px 12px;
  border: 1px solid rgba(232, 223, 205, .12);
  transition:
    border-color .3s ease,
    background .3s ease;
}

.nav a:hover {
  border-color: rgba(232, 223, 205, .35);
  background: rgba(232, 223, 205, .06);
}

.nav-button,
.button {
  background: #303624;
  border-color: #303624;
  color: #e8dfcd;
  padding: 9px 16px;
}

.nav .nav-cta:hover {
  background: #3a432c;
  border-color: #3a432c;
}

.menu-toggle {
  display: none;

  background: none;
  border: 0;

  color: #e8dfcd;
  font-size: 22px;
}


/* =========================================================
   TYPOGRAPHY
   ========================================================= */

h1,
h2,
h3 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-weight: 400;
}

h1 {
  font-size: clamp(64px, 6vw, 140px);
  line-height: .82;

  text-transform: uppercase;
  letter-spacing: -.03em;

  margin: 0;
}

h2 {
  font-size: clamp(42px, 5vw, 74px);
  line-height: 1.05;

  margin: 0 0 25px;
}

.eyebrow {
  color: #a9613f;

  font-size: 14px;
  letter-spacing: .24em;
  text-transform: uppercase;

  margin: 0 0 24px;
}


/* =========================================================
   HERO
   ========================================================= */

.hero {
  min-height: 100vh;

  position: relative;

  display: flex;
  align-items: center;

  overflow: hidden;

  background: #11150f;
}

.hero-image {
  position: absolute;
  inset: 0;

  background-image:
    linear-gradient(
      90deg,
      rgba(13, 17, 12, .97) 0%,
      rgba(13, 17, 12, .90) 20%,
      rgba(13, 17, 12, .70) 35%,
      rgba(13, 17, 12, .40) 50%,
      rgba(13, 17, 12, .15) 65%,
      rgba(13, 17, 12, .05) 75%
    ),
    linear-gradient(
      rgba(11, 14, 10, .15),
      rgba(11, 14, 10, .4)
    ),
    url("https://images.unsplash.com/photo-1742931568565-aca88c43ada7?auto=format&fit=crop&w=2200&q=80");

  background-size: cover;
  background-position: center 40%;

  filter:
    saturate(.85)
    contrast(1.05);
}

.hero-content {
  position: relative;
  z-index: 2;

  margin-left: 7vw;
  padding-top: 120px;
}

.rule {
  width: 90px;
  height: 10px;

  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 10'><path d='M2 6 Q12 2 22 6 T42 6 T62 6 T82 6' stroke='%23a9613f' stroke-width='1.6' fill='none' stroke-linecap='round'/></svg>")
    no-repeat center / contain;

  margin: 38px 0 26px;
}

.tagline {
  font: italic 26px/1.35 Georgia, serif;

  max-width: 480px;

  color: #d8ccb5;

  margin-bottom: 38px;
}

.button {
  display: inline-block;
}


.side-note {
  position: absolute;
  right: .01em;
  top: 42%;
  writing-mode: vertical-rl;
  font-size: 14px;
  letter-spacing: .3em;
  color: #e8dfcd;

  text-shadow:
    0 1px 3px rgba(0, 0, 0, .9),
    0 0 8px rgba(0, 0, 0, .7);
}


/* =========================================================
   GENERAL SECTIONS
   ========================================================= */

.section {
  padding: 120px 7vw;
}


/* =========================================================
   CROSSROADS
   ========================================================= */

.crossroads {
  background: #1d241a;
}

.heading {
  text-align: center;

  max-width: 760px;

  margin: 0 auto 65px;
}

.cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);

  max-width: 1250px;

  margin: auto;
}

.cards article {
  padding: 15px 32px 15px 0;

  border-right: 1px solid rgba(232, 223, 205, .2);

  margin-right: 32px;
}

.cards article:last-child {
  border: 0;
  margin: 0;
}

.cards b {
  color: #a9613f;

  font-size: 10px;
  letter-spacing: .2em;
}

.cards h3 {
  text-transform: uppercase;

  font-size: 24px;
  line-height: 1.15;
}

.cards p,
.copy p,
.contact p {
  color: #aaa28f;
  font-size: 14px;
}


/* =========================================================
   ABOUT / CHAPTER I
   ========================================================= */

.split {
  display: grid;
  grid-template-columns: 1fr 1fr;

  background: #141712;
}

.notebook {
  min-height: 650px;

  position: relative;

  background:
    linear-gradient(
      90deg,
      transparent 68px,
      rgba(169, 97, 63, .4) 68px,
      rgba(169, 97, 63, .4) 70px,
      transparent 70px
    ),
    repeating-linear-gradient(
      to bottom,
      transparent 0 39px,
      rgba(232, 223, 205, .07) 39px 40px
    ),
    radial-gradient(
      circle at 30% 35%,
      rgba(175, 137, 85, .16),
      transparent 24%
    ),
    linear-gradient(
      135deg,
      #302d21,
      #12140f 70%
    );
}

.notebook::before {
  content: "";

  position: absolute;

  left: 5%;
  top: 0;
  bottom: 0;

  width: 1px;

  background:
    repeating-linear-gradient(
      to bottom,
      transparent 0 5px,
      rgba(232, 223, 205, .15) 5px 6px
    );
}

.notebook::after {
  content: "";

  position: absolute;

  left: 12%;
  bottom: 14%;

  width: 58%;
  height: 56%;

  background-image:
    linear-gradient(
      rgba(20, 18, 12, .05),
      rgba(20, 18, 12, .25)
    ),
    url("Images/withwheel2.jpg");

  background-size: cover;
  background-position: center;

  border: none;

  box-shadow:
    0 30px 60px rgba(0, 0, 0, .55);

  transform: rotate(-4deg);
}

.copy {
  align-self: center;

  padding: 80px 9vw;
}


/* =========================================================
   THERAPY APPROACHES
   ========================================================= */

.therapy-approaches {
  margin-top: 42px;

  padding-top: 28px;

  border-top: 1px solid rgba(232, 223, 205, .15);
}

.therapy-approaches > .eyebrow {
  margin-bottom: 28px;
}

.approach {
  margin-bottom: 28px;
}

.approach h3 {
  margin: 0 0 8px;

  font-family: "Playfair Display", serif;

  font-size: 1.5rem;
  font-weight: 500;

  color: #e8dfcd;
}

.approach p {
  margin: 0;

  line-height: 1.7;
}

.approach:last-child {
  margin-bottom: 0;
}


/* =========================================================
   CHAPTER II / MANIFESTO
   ========================================================= */

.manifesto {
  text-align: center;

  background: #303624;
}

.manifesto h2 {
  font-size: clamp(50px, 7vw, 100px);
}

.manifesto em {
  color: #a9613f;
}

.manifesto > p:not(.eyebrow) {
  max-width: 650px;

  margin: 0 auto 34px;

  color: #d8ccb5;
}


/* =========================================================
   CHAPTER II — WORK LIST
   ========================================================= */

.work-list {
  max-width: 1100px;

  margin: 48px auto 0;

  display: grid;
  grid-template-columns: repeat(3, 1fr);

  gap: 0;
}

.work-item {
  padding: 0 42px;

  text-align: left;

  border-left: 1px solid rgba(232, 223, 205, .15);
}

.work-item:first-child {
  border-left: none;
}

.work-item span {
  display: block;

  margin-bottom: 18px;

  font-size: .75rem;
  letter-spacing: .15em;

  color: #a9613f;
}

.work-item h3 {
  margin: 0 0 12px;

  font-family: "Playfair Display", serif;

  font-size: 1.6rem;
  font-weight: 500;

  color: #e8dfcd;

  text-transform: capitalize;
}

.work-item p {
  margin: 0;

  line-height: 1.65;

  color: #e8dfcd;
}


/* =========================================================
   CHAPTER II — CTA
   ========================================================= */

.work-cta {
  text-align: center;

  margin-top: 56px;
}

.text-link {
  display: inline-block;

  font-size: 1rem;
  letter-spacing: .14em;
  font-weight: 600;

  padding: 12px 0;

  border-bottom: 1px solid #a9613f;
}


/* =========================================================
   CHAPTER BREAK
   Sits directly on the color transition
   ========================================================= */

.chapter-break {
  display: flex;
  align-items: center;

  gap: 28px;

  max-width: 1200px;

  margin: 0 auto;

  height: 0;

  position: relative;
  z-index: 2;

  padding: 0 5vw;
}

.chapter-break span {
  flex: 1;

  height: 1px;

  background: rgba(232, 223, 205, .18);
}

.chapter-break p {
  margin: 0;
  font-size: 1.5rem;
  letter-spacing: .22em;
  color: #a9613f;
  white-space: nowrap;
}


/* =========================================================
   CHAPTER III / CONTACT
   ========================================================= */

.contact {
  display: grid;

  grid-template-columns: 1.3fr 1fr;

  gap: 80px;

  align-items: center;

  background: #11130f;

  padding: 100px 7vw 140px;
}

.contact h2 {
  font-family: "Playfair Display", serif;

  font-size: clamp(56px, 5.5vw, 88px);

  line-height: .95;

  font-weight: 400;

  color: #e8dfcd;

  margin: 0 0 24px;
}

.contact > div:first-child > p:last-child {
  max-width: 650px;

  font-size: 16px;

  line-height: 1.7;
}

.contact-box {
  border-left: 1px solid rgba(232, 223, 205, .2);

  padding-left: 45px;
}

.email {
  display: block;

  font: 26px Georgia, serif;

  margin: 18px 0;
}


/* =========================================================
   FOOTER
   ========================================================= */

footer {
  display: flex;
  justify-content: space-between;

  padding: 35px 7vw;

  border-top: 1px solid rgba(232, 223, 205, .2);

  color: #aaa28f;

  font-size: 10px;
  letter-spacing: .16em;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 800px) {

  /* Header */

  .nav {
    display: none;

    position: absolute;

    top: 75px;
    right: 5vw;

    background: #171a13;

    padding: 20px;

    flex-direction: column;

    align-items: flex-start;
  }

  .nav.open {
    display: flex;
  }

  .menu-toggle {
    display: block;
  }


  /* Hero */

  .hero-image {
    inset: 0;

    opacity: .5;
  }

  .hero-content {
    margin: 0 7vw;
  }


  /* General grids */

  .cards,
  .split,
  .contact {
    grid-template-columns: 1fr;
  }


  /* Crossroads */

  .cards article {
    border-right: 0;

    border-bottom: 1px solid rgba(232, 223, 205, .2);

    margin: 0;

    padding: 30px 0;
  }


  /* About */

  .notebook {
    min-height: 420px;
  }

  .copy {
    padding: 80px 7vw;
  }


  /* Work list */

  .work-list {
    grid-template-columns: 1fr;

    gap: 32px;
  }

  .work-item,
  .work-item:first-child {
    border-left: none;

    border-top: 1px solid rgba(232, 223, 205, .15);

    padding: 28px 0 0;
  }

  .work-item:first-child {
    border-top: none;

    padding-top: 0;
  }


  /* Contact */

  .contact {
    gap: 45px;

    padding: 80px 7vw 100px;
  }

  .contact-box {
    border-left: 0;

    border-top: 1px solid rgba(232, 223, 205, .2);

    padding: 35px 0 0;
  }

  .contact h2 {
    font-size: clamp(48px, 12vw, 72px);
  }


  /* Footer */

  footer {
    flex-direction: column;

    gap: 12px;
  }


  /* Chapter divider */

  .chapter-break {
    gap: 16px;

    padding: 0 7vw;
  }

  .chapter-break p {
    font-size: .55rem;

    letter-spacing: .18em;
  }
}

.ink {
  animation: inkBreath 12s ease-in-out infinite;
}

@keyframes inkBreath {
  0%,
  100% {
    color: #a9613f;
  }

  33% {
    color: #1d241a;
  }

  66% {
    color: #e8dfcd;
  }
}