  
    :root {
      --brand-red: #9a1f1f;
      --brand-red-deep: #7f1717;
      --brand-gold: #c7a36a;
      --paper: #fbf8f3;
      --paper-warm: #f5efe5;
      --ink: #33231d;
      --muted: #7f6d62;
      --line: rgba(154, 31, 31, 0.14);
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      font-family: "Noto Serif SC", serif;
      background:
        radial-gradient(circle at top, rgba(255, 244, 225, 0.45), transparent 36%),
        linear-gradient(180deg, #fffdf9 0%, var(--paper) 48%, #f9f5ef 100%);
      color: var(--ink);
    }

    img {
      display: block;
      max-width: 100%;
    }

    .writing-vertical {
      writing-mode: vertical-rl;
      text-orientation: mixed;
    }

    .section-mountain::before,
    .section-mountain::after {
      content: "";
      position: absolute;
      inset: auto auto 0 0;
      width: 22rem;
      height: 12rem;
      background:
        radial-gradient(circle at 18% 75%, rgba(182, 160, 140, 0.17), transparent 30%),
        radial-gradient(circle at 48% 70%, rgba(182, 160, 140, 0.12), transparent 35%),
        radial-gradient(circle at 78% 82%, rgba(182, 160, 140, 0.1), transparent 32%);
      filter: blur(2px);
      pointer-events: none;
    }

    .section-mountain::after {
      inset: auto 0 0 auto;
      transform: scaleX(-1);
      opacity: 0.92;
    }

    .feature-card::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(16, 10, 6, 0.08), rgba(16, 10, 6, 0.58));
      transition: opacity 300ms ease;
    }

    .feature-card {
      background: transparent;
    }

    .feature-card:hover::after {
      opacity: 0.88;
    }

    .feature-card:hover .feature-image {
      transform: scale(1.06);
    }

    .feature-card:hover .feature-copy {
      transform: translateY(-10px);
    }

    .feature-image,
    .feature-copy {
      transition: transform 500ms ease;
    }

    .hero-shell {
      position: relative;
      aspect-ratio: 2 / 1;
      min-height: 0;
      max-height: none;
    }

    .hero-slide {
      position: absolute;
      inset: 0;
      opacity: 0;
      pointer-events: none;
      transition: opacity 560ms ease;
    }

    .hero-slide.is-active {
      opacity: 1;
      pointer-events: auto;
      z-index: 1;
    }

    .hero-slide::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      background: linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.58) 0%,
        rgba(0, 0, 0, 0.44) 24%,
        rgba(0, 0, 0, 0.22) 46%,
        rgba(0, 0, 0, 0.06) 64%,
        rgba(0, 0, 0, 0) 74%
      );
    }

    .hero-slide img {
      position: absolute;
      inset: 0;
      z-index: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      transform: scale(1);
      transform-origin: center center;
    }

    .hero-slide.is-active img {
      animation: heroKenBurns 7.6s ease-out forwards;
    }

    .hero-copy {
      position: absolute;
      inset: 0 auto 0 0;
      z-index: 2;
      display: flex;
      width: min(100%, 48%);
      min-width: 22rem;
      align-items: center;
      padding: clamp(2.5rem, 5vw, 5rem) clamp(1.6rem, 4.2vw, 5.5rem) clamp(2.5rem, 5vw, 5rem) clamp(4rem, 7vw, 7.2rem);
      pointer-events: none;
    }

    .hero-copy__inner {
      max-width: 34rem;
      pointer-events: auto;
    }

    .hero-slide.is-active .hero-copy__inner {
      animation: heroCopyReveal 1.2s ease-out forwards;
    }

    .hero-copy__eyebrow {
      margin: 0;
      font-size: 0.92rem;
      font-weight: 600;
      letter-spacing: 0.34em;
      color: rgba(255, 255, 255, 0.92);
      text-shadow: 0 6px 18px rgba(72, 42, 18, 0.28);
    }

    .hero-copy__title {
      margin: 1.3rem 0 0;
      font-size: clamp(2.45rem, 4.5vw, 4.65rem);
      line-height: 1.08;
      font-weight: 700;
      letter-spacing: 0.08em;
      color: rgba(255, 255, 255, 0.98);
      text-shadow: 0 10px 28px rgba(72, 42, 18, 0.28);
    }

    .hero-copy__title span {
      display: block;
    }

    .hero-copy__desc {
      margin: 1.65rem 0 0;
      font-size: clamp(0.92rem, 1.25vw, 1.08rem);
      line-height: 2;
      letter-spacing: 0.3em;
      color: rgba(255, 255, 255, 0.92);
      text-shadow: 0 6px 18px rgba(72, 42, 18, 0.28);
    }

    .hero-copy__button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 2.85rem;
      margin-top: 1.7rem;
      padding: 0 1.45rem;
      border: 1px solid rgba(154, 31, 31, 0.86);
      background: rgba(154, 31, 31, 0.78);
      color: #fff;
      text-decoration: none;
      letter-spacing: 0.16em;
      box-shadow: 0 12px 26px rgba(28, 12, 8, 0.18);
      transition:
        background-color 220ms ease,
        border-color 220ms ease,
        transform 220ms ease;
    }

    .hero-copy__button:hover {
      background: rgba(127, 23, 23, 0.94);
      border-color: rgba(127, 23, 23, 0.98);
      transform: translateY(-2px);
    }

    .hero-dots {
      position: absolute;
      right: clamp(1rem, 4vw, 2.4rem);
      bottom: clamp(1rem, 3vw, 1.8rem);
      z-index: 3;
      display: flex;
      align-items: center;
      gap: 0.55rem;
    }

    .hero-dot {
      width: 0.82rem;
      height: 0.82rem;
      border: 1px solid rgba(255, 255, 255, 0.72);
      border-radius: 9999px;
      background: rgba(255, 255, 255, 0.18);
      cursor: pointer;
      transition:
        transform 220ms ease,
        background-color 220ms ease,
        border-color 220ms ease;
    }

    .hero-dot.is-active {
      background: rgba(255, 255, 255, 0.96);
      border-color: rgba(255, 255, 255, 0.96);
      transform: scale(1.12);
    }

    @keyframes heroKenBurns {
      from {
        transform: scale(1);
      }

      to {
        transform: scale(1.065);
      }
    }

    @keyframes heroCopyReveal {
      from {
        opacity: 0;
        transform: translate3d(0, 18px, 0);
      }

      to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
      }
    }

    .brew-frame {
      position: relative;
      width: 100%;
      max-width: 1440px;
      margin: 0 auto;
      overflow: hidden;
      border: 1px solid rgba(154, 31, 31, 0.05);
      border-radius: 0.35rem;
      background: url("/uploads/images/site/bg1.webp") 58% center / cover no-repeat, #faf6ef;
      box-shadow: 0 18px 38px rgba(73, 42, 23, 0.08);
      isolation: isolate;
    }

    .brew-stage {
      width: 100%;
      margin-left: auto;
      margin-right: auto;
    }

    .brew-visual {
      position: relative;
      width: 100%;
      min-height: clamp(580px, 52vw, 760px);
      aspect-ratio: 875 / 424;
      overflow: hidden;
      background: transparent;
    }

    .brew-visual__wash {
      position: absolute;
      inset: 0;
      pointer-events: none;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0) 18%, rgba(29, 18, 12, 0.04) 100%);
    }

    .brew-visual__wash::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 18% 24%, rgba(255, 255, 255, 0.18), transparent 22%),
        linear-gradient(90deg, rgba(251, 248, 242, 0.08) 0%, rgba(251, 248, 242, 0.02) 28%, rgba(251, 248, 242, 0) 54%);
    }

    .brew-copy {
      position: relative;
      z-index: 2;
      display: flex;
      min-height: inherit;
      width: min(100%, 32rem);
      max-width: 32rem;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      padding: clamp(2.45rem, 4.2vw, 3.55rem) clamp(1.7rem, 3.6vw, 3.15rem);
    }

    .brew-copy__eyebrow {
      margin: 0 0 1rem;
      font-size: 0.82rem;
      font-weight: 600;
      letter-spacing: 0.2em;
      color: #8d6d5b;
    }

    .brew-copy__eyebrow span {
      color: var(--brand-red);
    }

    .brew-copy__title {
      margin: 0;
      max-width: none;
      font-size: clamp(2.4rem, 3.15vw, 3.52rem);
      line-height: 1.28;
      font-weight: 700;
      letter-spacing: 0.01em;
      color: var(--ink);
      white-space: nowrap;
    }

    .brew-copy__desc {
      margin: 1.45rem 0 0;
      max-width: 24rem;
      font-size: 0.95rem;
      line-height: 2;
      color: var(--muted);
    }

    .brew-copy__link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      align-self: flex-start;
      gap: 0.7rem;
      margin-top: 1.8rem;
      border: 1px solid rgba(154, 31, 31, 0.28);
      background: rgba(255, 255, 255, 0.76);
      padding: 0.84rem 1.24rem 0.84rem 1.4rem;
      font-size: 0.8rem;
      font-weight: 500;
      letter-spacing: 0.14em;
      color: var(--brand-red);
      text-decoration: none;
      box-shadow: 0 10px 20px rgba(109, 71, 45, 0.05);
      transition:
        background-color 200ms ease,
        border-color 200ms ease,
        color 200ms ease,
        transform 200ms ease;
    }

    .brew-copy__link:hover {
      border-color: var(--brand-red);
      background: var(--brand-red);
      color: #fff;
      transform: translateY(-2px);
    }

    .brew-copy__link-arrow {
      font-size: 1rem;
      line-height: 1;
      letter-spacing: 0;
    }

    .brew-visual__content {
      position: relative;
      display: flex;
      width: 100%;
      min-height: inherit;
      height: 100%;
      align-items: center;
      padding-inline: clamp(0.75rem, 1.6vw, 1.5rem);
    }

    .value-strip {
      position: absolute;
      left: 1.5rem;
      right: 1.5rem;
      bottom: 1.5rem;
      z-index: 3;
      margin: 0;
      width: auto;
      overflow: hidden;
      border: 1px solid rgba(154, 31, 31, 0.08);
      border-radius: 1rem;
      background: rgba(255, 255, 255, 0.95);
      box-shadow: 0 16px 28px rgba(90, 59, 36, 0.08);
      backdrop-filter: blur(10px);
    }

    .value-strip__item {
      display: flex;
      align-items: center;
      gap: 0.95rem;
      min-height: 5rem;
    }

    .value-strip__icon {
      display: flex;
      height: 3rem;
      width: 3rem;
      flex-shrink: 0;
      align-items: center;
      justify-content: center;
      border-radius: 9999px;
      border: 1px solid rgba(154, 31, 31, 0.24);
      color: var(--brand-red);
    }

    .value-strip__title {
      font-size: 0.92rem;
      font-weight: 600;
      letter-spacing: 0.08em;
      color: var(--ink);
    }

    .value-strip__desc {
      margin-top: 0.22rem;
      font-size: 0.82rem;
      line-height: 1.6;
      color: var(--muted);
    }

    .section-intro {
      padding: 4.75rem 1rem 3.5rem;
      text-align: center;
      background: linear-gradient(180deg, rgba(255, 253, 249, 0) 0%, rgba(255, 253, 249, 0.88) 100%);
    }

    .section-intro--tight {
      padding-top: 3.9rem;
      padding-bottom: 3rem;
    }

    .section-intro__title {
      margin: 0 auto;
      writing-mode: vertical-rl;
      text-orientation: mixed;
      font-size: 1.88rem;
      font-weight: 600;
      line-height: 1.05;
      letter-spacing: 0.22em;
      color: #9a632f;
    }

    .section-intro__line {
      width: 4.5rem;
      height: 1px;
      margin: 1.1rem auto 0.95rem;
      background: rgba(123, 103, 86, 0.22);
    }

    .section-intro__desc {
      margin: 0;
      font-size: 0.8rem;
      letter-spacing: 0.2em;
      color: #8d8177;
    }

    @media (max-width: 1024px) {
      .brew-copy {
        max-width: 27rem;
        padding-right: 2.2rem;
      }
    }

    @media (max-width: 768px) {
      .hero-slide::before {
        background: linear-gradient(
          90deg,
          rgba(0, 0, 0, 0.62) 0%,
          rgba(0, 0, 0, 0.5) 32%,
          rgba(0, 0, 0, 0.24) 58%,
          rgba(0, 0, 0, 0.06) 78%,
          rgba(0, 0, 0, 0) 100%
        );
      }

      .section-intro {
        padding: 3.5rem 1rem 2.8rem;
      }

      .section-intro__title {
        font-size: 1.56rem;
      }

      .section-intro__desc {
        font-size: 0.72rem;
        letter-spacing: 0.14em;
        line-height: 1.8;
      }

      .hero-shell {
        height: auto;
        min-height: 0;
        max-height: none;
      }

      .hero-copy {
        width: min(100%, 52%);
        min-width: 0;
        padding: 2.25rem 0.95rem 2rem 2rem;
      }

      .hero-copy__eyebrow {
        font-size: 0.74rem;
        letter-spacing: 0.24em;
      }

      .hero-copy__title {
        margin-top: 1rem;
        font-size: 1.9rem;
        line-height: 1.2;
      }

      .hero-copy__desc {
        margin-top: 1.05rem;
        font-size: 0.78rem;
        line-height: 1.8;
        letter-spacing: 0.16em;
      }

      .hero-copy__button {
        min-height: 2.55rem;
        margin-top: 1.25rem;
        padding: 0 1.15rem;
        font-size: 0.76rem;
      }

      .hero-slide img {
        aspect-ratio: 2 / 1;
        height: 100%;
        object-fit: cover;
        object-position: center;
      }

      .brew-visual {
        min-height: 34rem;
        aspect-ratio: auto;
        border-radius: 0.85rem;
      }

      .brew-frame {
        background-position: 62% center;
      }

      .brew-visual__wash {
        background: linear-gradient(
          180deg,
          rgba(255, 255, 255, 0.22) 0%,
          rgba(255, 255, 255, 0.12) 18%,
          rgba(255, 255, 255, 0.05) 38%,
          rgba(29, 18, 12, 0.06) 100%
        );
      }

      .brew-visual__wash::before {
        background:
          linear-gradient(180deg, rgba(251, 248, 242, 0.52) 0%, rgba(251, 248, 242, 0.28) 24%, rgba(251, 248, 242, 0.08) 56%, rgba(251, 248, 242, 0) 100%),
          radial-gradient(circle at 18% 16%, rgba(255, 255, 255, 0.26), transparent 28%);
      }

      .brew-copy {
        max-width: 100%;
        width: min(100%, 22rem);
        padding: 1.7rem 1.25rem 1.5rem;
      }

      .brew-copy__eyebrow {
        margin-bottom: 1rem;
        font-size: 0.72rem;
        letter-spacing: 0.24em;
      }

      .brew-copy__title {
        font-size: 1.95rem;
        line-height: 1.42;
        white-space: normal;
      }

      .brew-copy__desc {
        max-width: none;
        margin-top: 1.35rem;
        font-size: 0.92rem;
        line-height: 1.9;
      }

      .brew-copy__link {
        margin-top: 1.6rem;
        gap: 0.65rem;
        padding: 0.82rem 1.05rem 0.82rem 1.2rem;
        font-size: 0.8rem;
      }

      .value-strip {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        width: calc(100% - 1rem);
        margin: -2.6rem auto 0;
        border-radius: 0.95rem;
      }

      .value-strip__item {
        align-items: flex-start;
        gap: 0.75rem;
        min-height: auto;
      }

      .value-strip__icon {
        width: 2.6rem;
        height: 2.6rem;
      }

      .value-strip__title {
        font-size: 0.88rem;
      }

      .value-strip__desc {
        font-size: 0.76rem;
        line-height: 1.55;
      }
    }

    @media (max-width: 560px) {
      .hero-slide::before {
        background: linear-gradient(
          90deg,
          rgba(0, 0, 0, 0.66) 0%,
          rgba(0, 0, 0, 0.52) 42%,
          rgba(0, 0, 0, 0.24) 74%,
          rgba(0, 0, 0, 0.03) 100%
        );
      }

      .hero-shell {
        height: auto;
      }

      .hero-copy {
        width: 100%;
        padding: 1.35rem 1rem 1.2rem;
        align-items: flex-start;
      }

      .hero-copy__inner {
        max-width: 14rem;
      }

      .hero-copy__eyebrow {
        font-size: 0.66rem;
        letter-spacing: 0.18em;
      }

      .hero-copy__title {
        margin-top: 0.7rem;
        font-size: 1.38rem;
        line-height: 1.18;
        letter-spacing: 0.06em;
      }

      .hero-copy__desc {
        margin-top: 0.8rem;
        font-size: 0.68rem;
        line-height: 1.6;
        letter-spacing: 0.12em;
      }

      .hero-copy__button {
        min-height: 2.3rem;
        margin-top: 1rem;
        padding: 0 0.95rem;
        font-size: 0.68rem;
        letter-spacing: 0.1em;
      }

      .brew-visual {
        min-height: 31rem;
      }

      .hero-slide.is-active img {
        animation-duration: 6.4s;
      }

      .brew-visual__content {
        align-items: flex-start;
        padding-top: 0.4rem;
        padding-inline: 0;
      }

      .brew-copy {
        width: 100%;
        padding: 1.5rem 1rem 1.35rem;
      }

      .brew-copy__title {
        font-size: 1.72rem;
        line-height: 1.36;
      }

      .brew-copy__desc {
        font-size: 0.88rem;
      }

      .value-strip {
        width: 100%;
        margin-top: 0.9rem;
      }

      .value-strip__grid {
        grid-template-columns: 1fr !important;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .hero-slide.is-active img,
      .hero-slide.is-active .hero-copy__inner {
        animation: none;
      }
    }
