@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Italiana&display=swap");

:root {
  --tsw-night: #151126;
  --tsw-violet: #4f376e;
  --tsw-pink: #ef7ca8;
  --tsw-coral: #f2a17e;
  --tsw-cyan: #92e5e0;
  --tsw-ice: #dff7f1;
  --tsw-haze: #cbbad9;
  --tsw-line: rgba(223,247,241,.22);
}

.tequila-page,
.tequila-library-page {
  color: var(--tsw-ice);
  background:
    radial-gradient(circle at 18% 12%, rgba(239,124,168,.12), transparent 28%),
    linear-gradient(135deg, #12101d, #24182f 55%, #111926);
}
.tequila-page nav,
.tequila-library-page nav {
  color: var(--tsw-ice);
  border-color: var(--tsw-line);
  background: rgba(15,12,27,.88);
}
.tequila-page nav .brand span,
.tequila-library-page nav .brand span,
.tequila-page .eyebrow { color: var(--tsw-cyan); }
.tequila-library-page .eyebrow { color: var(--tsw-cyan); }
.tequila-page .shop-link { color: var(--tsw-pink); }
.tequila-page .primary-link { border-color: currentColor; }

.tequila-hero {
  min-height: min(850px, calc(100vh - 76px));
  display: grid;
  grid-template-columns: minmax(340px,.82fr) minmax(540px,1.18fr);
  align-items: center;
  gap: 5vw;
  padding: 8vw 6vw 10vw;
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, transparent 0 62%, rgba(17,25,38,.82) 62.2%),
    radial-gradient(ellipse at 76% 54%, rgba(239,124,168,.42), transparent 29%),
    linear-gradient(150deg, #161129 0 39%, #523563 62%, #e37b9c 79%, #71cfd0 100%);
}
.tequila-hero:before {
  content: "";
  position: absolute;
  width: 62vw;
  height: 38vw;
  min-width: 680px;
  min-height: 430px;
  right: -8vw;
  bottom: -26vw;
  border: 1px solid rgba(223,247,241,.38);
  border-radius: 50%;
  box-shadow: 0 0 0 35px rgba(223,247,241,.035), 0 0 0 70px rgba(223,247,241,.025);
}
.tequila-hero:after {
  content: "MIAMI · 20?6";
  position: absolute;
  right: 3vw;
  bottom: 28px;
  color: rgba(223,247,241,.52);
  font-size: 9px;
  letter-spacing: .36em;
}
.tequila-hero-copy { position: relative; z-index: 2; }
.tequila-hero h1 {
  max-width: none;
  color: #f5eef8;
  font-size: clamp(67px,8.4vw,132px);
  text-shadow: 3px 3px 0 rgba(239,124,168,.35), -2px -2px 0 rgba(146,229,224,.18);
}
.tequila-hero .hero-copy { max-width: 570px; color: rgba(245,238,248,.76); }
.tequila-hero-deck { min-height: 620px; position: relative; z-index: 1; }
.tequila-hero-card {
  position: absolute;
  width: min(31vw,300px);
  aspect-ratio: 5 / 7;
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  box-shadow: -20px 28px 42px rgba(8,6,17,.38), 0 0 0 1px rgba(223,247,241,.18);
}
.tequila-hero-card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tequila-hero-card-one { left: 4%; top: 18%; transform: rotate(-10deg); }
.tequila-hero-card-two { left: 32%; top: 5%; transform: rotate(4deg); }
.tequila-hero-card-three { left: 57%; top: 22%; transform: rotate(13deg); }
.archive-stamp {
  position: absolute;
  right: 1%;
  bottom: 8%;
  margin: 0;
  padding: 13px 16px;
  border: 1px solid rgba(223,247,241,.4);
  color: rgba(223,247,241,.7);
  font-size: 9px;
  line-height: 1.7;
  letter-spacing: .25em;
  transform: rotate(-3deg);
}

.tequila-origin,
.tequila-reader,
.tequila-explore,
.tequila-method { padding: 110px 7vw; }
.tequila-origin {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 8vw;
  background: #ece8ee;
  color: #271f31;
}
.tequila-origin h2,
.tequila-method h2 { margin: 0; font-size: clamp(50px,6vw,86px); line-height: .98; }
.tequila-origin-copy { columns: 2; column-gap: 4vw; }
.tequila-origin-copy p { margin: 0 0 1.5em; break-inside: avoid; line-height: 1.85; }

.tequila-reader { background: #181327; }
.tequila-reader .section-heading { border-color: var(--tsw-line); }
.tequila-reader .section-heading > p { color: rgba(223,247,241,.68); }
.tequila-modes { display: flex; margin: 45px 0; border-bottom: 1px solid var(--tsw-line); }
.tequila-modes button {
  margin: 0 40px 0 0;
  padding: 0 55px 18px 0;
  border: 0;
  border-bottom: 2px solid transparent;
  color: rgba(223,247,241,.42);
  background: none;
  cursor: pointer;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.tequila-modes button span { margin-right: 12px; font-family: "Italiana",serif; font-size: 24px; }
.tequila-modes button.active { color: var(--tsw-cyan); border-color: var(--tsw-pink); }
.tequila-setup {
  min-height: 540px;
  display: grid;
  grid-template-columns: minmax(210px,270px) minmax(320px,600px);
  align-items: center;
  justify-content: center;
  gap: 9vw;
}
.tequila-setup h3 { margin: 0 0 18px; font-size: clamp(46px,5vw,70px); }
.tequila-setup p:not(.eyebrow) { max-width: 570px; color: rgba(223,247,241,.7); line-height: 1.8; }
.tequila-back {
  width: 100%;
  aspect-ratio: 5 / 7;
  border-radius: 18px;
  background: #29203e url("/images/tequila-back.webp") center / cover no-repeat;
  box-shadow: -18px 28px 34px rgba(0,0,0,.35), 0 0 50px rgba(239,124,168,.12);
}
.tequila-button {
  margin-top: 22px;
  padding: 15px 25px;
  border: 1px solid var(--tsw-cyan);
  color: #181327;
  background: var(--tsw-cyan);
  cursor: pointer;
  font-size: 10px;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.tequila-button:hover { color: #fff; background: var(--tsw-pink); border-color: var(--tsw-pink); }

.tequila-card-detail {
  display: grid;
  grid-template-columns: minmax(240px,340px) minmax(320px,670px);
  justify-content: center;
  gap: 6vw;
  padding: 70px 0 30px;
}
.tequila-card-art,
.tequila-line-art {
  width: 100%;
  aspect-ratio: 5 / 7;
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  box-shadow: -16px 27px 34px rgba(0,0,0,.35), 0 0 0 1px rgba(223,247,241,.18);
}
.tequila-card-art img,
.tequila-line-art img { display: block; width: 100%; height: 100%; object-fit: cover; user-select: none; -webkit-user-drag: none; }
.tequila-card-copy { align-self: center; }
.tequila-card-copy h3 { margin: 0; font-size: clamp(48px,5vw,76px); line-height: .98; }
.tequila-archetype { margin: 12px 0 30px; color: var(--tsw-pink); font-family: "Italiana",serif; font-size: 21px; }
.historical-signal {
  padding: 17px 20px;
  border-left: 3px solid var(--tsw-cyan);
  color: rgba(223,247,241,.76);
  background: rgba(146,229,224,.06);
  font-size: 12px;
  line-height: 1.7;
}
.tequila-interpretation p { font-size: 14px; line-height: 1.85; }
.tequila-card-copy blockquote {
  margin: 26px 0;
  padding-left: 20px;
  border-left: 1px solid var(--tsw-pink);
  font-size: 20px;
  line-height: 1.55;
}
.tequila-today,
.synthesis-today {
  padding: 19px 21px;
  color: #21182b;
  background: linear-gradient(90deg, var(--tsw-cyan), #d6ccf0);
  font-family: "Italiana",serif;
  font-size: 18px;
  line-height: 1.55;
}
.tequila-today span,
.synthesis-today span { display: block; margin-bottom: 5px; font-family: "DM Sans",sans-serif; font-size: 8px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.tequila-card-copy .card-library-link { color: var(--tsw-cyan); }
.tequila-actions { display: flex; justify-content: center; margin: 20px 0 0; }

.tequila-three-cards {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 32px;
  padding: 60px 0 10px;
  align-items: start;
}
.tequila-line-card { min-width: 0; }
.tequila-line-card:nth-child(2) { transform: translateY(28px); }
.tequila-line-art { width: min(100%,300px); margin: auto; }
.tequila-line-card .position-label { margin-top: 22px; color: var(--tsw-cyan); }
.tequila-line-card h3 { margin: 8px 0; text-align: center; font-size: 29px; }
.line-archetype { min-height: 38px; color: var(--tsw-pink); text-align: center; font-family: "Italiana",serif; font-size: 17px; }
.line-historical { padding: 15px 0; border-top: 1px solid var(--tsw-line); border-bottom: 1px solid var(--tsw-line); color: rgba(223,247,241,.62); font-size: 11px !important; }
.tequila-line-card > p:not(.position-label):not(.line-archetype):not(.line-historical):not(.line-today) { font-size: 12px; line-height: 1.75; }
.line-today { color: var(--tsw-cyan); font-family: "Italiana",serif; font-size: 17px; line-height: 1.55; }
.tequila-synthesis {
  max-width: 920px;
  margin: 105px auto 35px;
  padding: 44px 50px;
  border: 1px solid rgba(146,229,224,.3);
  background: linear-gradient(135deg, rgba(79,55,110,.42), rgba(239,124,168,.09));
  box-shadow: 24px 24px 0 rgba(146,229,224,.055);
}
.tequila-synthesis h3 { margin: 0 0 28px; font-size: clamp(35px,4vw,55px); }
.tequila-synthesis p:not(.eyebrow):not(.synthesis-today) { line-height: 1.85; }
.synthesis-today { margin-top: 30px; }

.tequila-chat { border-color: var(--tsw-line); background: rgba(29,22,45,.82); }
.tequila-chat .section-heading { border-color: var(--tsw-line); }
.tequila-chat .constraint { border-color: var(--tsw-line); }
.tequila-chat .message { color: #241c2d; background: #eee7f0; }
.tequila-chat .message.reader { color: #181327; background: var(--tsw-cyan); }
.tequila-chat .chat-input { border-color: var(--tsw-cyan); }
.tequila-chat input { color: var(--tsw-ice); }
.tequila-chat input::placeholder { color: rgba(223,247,241,.42); }
.tequila-chat button { color: var(--tsw-cyan); }

.tequila-explore {
  display: grid;
  grid-template-columns: minmax(280px,.68fr) minmax(520px,1.32fr);
  gap: 7vw;
  color: #281f32;
  background:
    linear-gradient(115deg, rgba(255,255,255,.5), transparent 32%),
    #cabed2;
}
.tequila-explore-intro { align-self: start; position: sticky; top: 125px; }
.tequila-explore h2 { margin: 0; font-size: clamp(52px,6vw,85px); }
.tequila-explore-intro > p:not(.eyebrow) { line-height: 1.8; }
.tequila-explore label { display: block; margin: 38px 0 5px; font-size: 9px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.tequila-explore select { border-color: #281f32; color: #281f32; }
.tequila-explore .tequila-card-detail { grid-template-columns: minmax(210px,300px) minmax(280px,1fr); gap: 4vw; padding: 0; }
.tequila-explore .tequila-card-copy h3 { font-size: clamp(43px,4.2vw,66px); }
.tequila-explore .historical-signal { color: #392b44; background: rgba(255,255,255,.25); }
.tequila-explore .tequila-card-copy blockquote { border-color: #8b4770; }
.tequila-explore .card-library-link { color: #4d2d61; }

.tequila-method { background: #21172d; }
.tequila-method > div:first-child { margin-bottom: 60px; }
.tequila-method-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--tsw-line); border: 1px solid var(--tsw-line); }
.tequila-method-grid article { padding: 34px 28px; background: #21172d; }
.tequila-method-grid article > span { color: var(--tsw-pink); font-size: 36px; }
.tequila-method-grid h3 { margin: 18px 0 13px; font-size: 26px; }
.tequila-method-grid p { color: rgba(223,247,241,.67); font-size: 12px; line-height: 1.75; }
.tequila-source-note { max-width: 900px; margin: 48px 0 0 auto; padding-top: 28px; border-top: 1px solid var(--tsw-line); color: rgba(223,247,241,.63); font-size: 12px; line-height: 1.8; }
.tequila-source-note a { color: var(--tsw-cyan); }
.tequila-page footer { color: var(--tsw-ice); background: #0f0d19; }
.tequila-page .footer-shop { color: var(--tsw-pink); }
.tequila-library-page footer { color: var(--tsw-ice); background: #0f0d19; }
.tequila-library-page .footer-shop { color: var(--tsw-pink); }
.tequila-library-page .breadcrumbs { color: rgba(223,247,241,.58); background: transparent; }
.tequila-library-page .breadcrumbs a { border-color: rgba(223,247,241,.25); }
.tequila-library-page .library-hero,
.tequila-library-page .library-group,
.tequila-library-page .adjacent-cards { border-color: var(--tsw-line); }
.tequila-library-page .library-grid-card img,
.tequila-library-page .tequila-library-art img { aspect-ratio: 5 / 7; }
.tequila-library-page .library-grid-card small { color: rgba(223,247,241,.55); }
.tequila-library-page .library-archetype { color: var(--tsw-pink); }
.tequila-library-page .library-card-copy section { border-color: var(--tsw-line); }
.tequila-library-page .library-invitation { border-color: var(--tsw-pink); background: rgba(239,124,168,.08); }
.tequila-library-page .library-today { border-color: var(--tsw-cyan); color: #21182b; background: linear-gradient(90deg, var(--tsw-cyan), #d6ccf0); }
.tequila-library-page .library-note { border-color: var(--tsw-line); }
.tequila-library-page .primary-link { border-color: currentColor; color: var(--tsw-cyan); }
.tequila-library-page .adjacent-cards { color: var(--tsw-ice); background: rgba(15,13,25,.5); }

@media (max-width: 1050px) {
  .tequila-hero { grid-template-columns: .85fr 1.15fr; }
  .tequila-hero-deck { min-height: 520px; }
  .tequila-explore { grid-template-columns: 1fr; }
  .tequila-explore-intro { position: static; }
  .tequila-method-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 800px) {
  .tequila-page nav { height: auto; min-height: 76px; padding-top: 12px; padding-bottom: 12px; align-items: flex-start; gap: 16px; }
  .tequila-page nav > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 11px 16px; font-size: 8px; letter-spacing: .09em; }
  .tequila-page .brand { flex: 0 0 auto; font-size: 16px; }
  .tequila-hero { min-height: 820px; grid-template-columns: 1fr; align-content: start; padding: 85px 7vw 70px; }
  .tequila-hero h1 { font-size: clamp(62px,19vw,92px); }
  .tequila-hero-deck { min-height: 390px; }
  .tequila-hero-card { width: min(42vw,210px); }
  .tequila-hero-card-one { left: 2%; }
  .tequila-hero-card-two { left: 29%; }
  .tequila-hero-card-three { left: 54%; }
  .archive-stamp { display: none; }
  .tequila-origin,
  .tequila-reader,
  .tequila-explore,
  .tequila-method { padding: 80px 6vw; }
  .tequila-origin { grid-template-columns: 1fr; }
  .tequila-origin-copy { columns: 1; }
  .tequila-modes { overflow-x: auto; }
  .tequila-modes button { flex: 0 0 auto; }
  .tequila-setup { grid-template-columns: 1fr; padding: 50px 0; }
  .tequila-back { width: min(62vw,245px); margin: auto; }
  .tequila-card-detail,
  .tequila-explore .tequila-card-detail { grid-template-columns: 1fr; }
  .tequila-card-art { width: min(80vw,330px); margin: auto; }
  .tequila-three-cards { grid-template-columns: 1fr; gap: 75px; }
  .tequila-line-card:nth-child(2) { transform: none; }
  .tequila-line-art { width: min(76vw,300px); }
  .line-archetype { min-height: 0; }
  .tequila-synthesis { margin-top: 70px; padding: 32px 23px; }
  .tequila-method-grid { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .tequila-page nav { display: block; }
  .tequila-page nav > div { justify-content: flex-start; margin-top: 12px; }
  .tequila-hero-deck { min-height: 330px; }
  .tequila-hero-card { width: 45vw; }
  .tequila-hero-card-one { left: -4%; }
  .tequila-hero-card-two { left: 27%; }
  .tequila-hero-card-three { left: 52%; }
}
