/* ============ Share the Love — Speaker Labs ============ */
/* Brand: 01-company-context/brand/web.md — dark canvas, mint spotlight */

@font-face {
  font-family: 'Lexend';
  src: url('assets/fonts/Lexend-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: 'Lexend Giga';
  src: url('assets/fonts/LexendGiga-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: 'Oooh Baby';
  src: url('assets/fonts/OoohBaby-Regular.ttf') format('truetype');
  font-weight: 400;
  font-display: swap;
}

:root {
  --black: #231F20;
  --white: #F7FFF7;
  --green: #47FFBE;
  --yellow: #FFED67;
  --blue: #63CFE3;
  --pink: #FF6FCE;
  --dark-green: #1A535C;
  --radius: 18px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

[hidden] { display: none !important; }

html { scroll-behavior: smooth; }

body {
  background: var(--black);
  color: var(--white);
  font-family: 'Lexend', sans-serif;
  font-weight: 400;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

a { color: var(--green); }

button { font-family: inherit; color: inherit; background: none; border: none; cursor: pointer; }

/* ============ Hidden gems counter (pinned) ============ */
.gem-chip {
  position: fixed;
  top: 14px; right: 14px;
  z-index: 40;
  background: rgba(35,31,32,0.88);
  border: 2px solid var(--green);
  border-radius: 999px;
  padding: 7px 16px;
  font-family: 'Oooh Baby', cursive;
  font-size: 1.15rem;
  color: var(--green);
  pointer-events: none;
}
@media (max-width: 700px) {
  .gem-chip { top: 10px; right: 10px; padding: 4px 12px; font-size: .95rem; border-width: 1.5px; }
}

/* ============ Hero ============ */
.hero {
  position: relative;
  background: url('assets/img/home-hero-bg.jpg') center / cover no-repeat, var(--black);
  padding: 0 24px 48px;
}
.hero::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(35,31,32,0.25) 0%, rgba(35,31,32,0.6) 100%);
  pointer-events: none;
}
.hero__inner, .nav { position: relative; z-index: 2; }

.nav { padding: 28px 0 8px; max-width: 720px; margin: 0 auto; }
.nav__logo { height: 44px; display: block; }

.hero__inner {
  max-width: 720px;
  margin: 0 auto;
  padding-top: 48px;
  text-align: left;
  position: relative;
}
.hero__title {
  font-weight: 900;
  font-size: clamp(2.6rem, 9vw, 4.4rem);
  line-height: 1.02;
  letter-spacing: -0.01em;
  text-transform: uppercase;
}
.hero__title .accent { color: var(--green); }
.hero__mic {
  position: absolute;
  top: -6px; right: 8px;
  width: clamp(72px, 16vw, 116px);
}
.hero__mic img { width: 100%; display: block; }

.hero__sub {
  margin-top: 20px;
  font-size: clamp(1.05rem, 3.4vw, 1.25rem);
  max-width: 36em;
}

/* ============ Hidden-gem doodles (decorative layer) ============ */
/* Doodles are punctuation: marginalia on a separate layer, never in the content flow. */
.doodle-layer {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.doodle {
  position: absolute;
  pointer-events: auto;
  line-height: 0;
  width: clamp(40px, 6vw, 84px);
  opacity: .85;
  transition: transform .25s ease, opacity .25s ease, filter .25s ease;
}
.doodle img { width: 100%; display: block; }
.doodle:hover, .doodle:focus-visible { opacity: 1; transform: scale(1.18) rotate(0deg) !important; filter: drop-shadow(0 0 9px rgba(71,255,190,0.75)); }
.doodle.is-found { filter: drop-shadow(0 0 6px rgba(71,255,190,0.55)); }

/* Hand-placed rotations */
.doodle--survivor { transform: rotate(-8deg); }
.doodle--tunes    { transform: rotate(12deg); }
.doodle--ted      { transform: rotate(7deg); }
.doodle--mumford  { transform: rotate(-11deg); }
.doodle--workbook { transform: rotate(8deg); }

/* Narrow screens: doodles tuck into section gutters (top/bottom padding zones) */
.doodle--tunes    { top: 72px; right: 5%; width: clamp(36px, 5vw, 56px); }
.doodle--survivor { bottom: 12px; right: 7%; width: clamp(34px, 4.5vw, 48px); }
.doodle--ted      { top: 2px; left: 8%; width: clamp(30px, 4vw, 44px); }
.doodle--mumford  { bottom: 190px; left: 7%; width: clamp(40px, 5.5vw, 58px); }
.doodle--workbook { bottom: 196px; right: 9%; width: clamp(40px, 5.5vw, 56px); }

/* Wide screens: doodles move into the side margins beside the content column */
@media (min-width: 1100px) {
  .doodle--tunes    { top: 150px; right: calc(50% - 475px); width: 62px; }
  .doodle--survivor { bottom: auto; top: 300px; right: auto; left: calc(50% - 480px); width: 60px; }
  .doodle--ted      { top: 48px; left: auto; right: calc(50% - 478px); width: 80px; }
  .doodle--mumford  { bottom: auto; top: 46%; left: calc(50% - 472px); width: 72px; }
  .doodle--workbook { bottom: 130px; right: calc(50% - 470px); width: 78px; }
}

.egg-text {
  font: inherit;
  line-height: inherit;
  color: inherit;
  border-bottom: 1px dotted rgba(247,255,247,0.45);
  display: inline-block;
  transition: transform .2s ease, color .2s ease;
}
.egg-text:hover, .egg-text:focus-visible { color: var(--green); transform: rotate(-4deg) scale(1.08); }
.egg-text.is-found { color: var(--green); }

.egg-text {
  font: inherit;
  line-height: inherit;
  color: inherit;
  border-bottom: 1px dotted rgba(247,255,247,0.45);
  display: inline-block;
  transition: transform .2s ease, color .2s ease;
}
.egg-text:hover, .egg-text:focus-visible { color: var(--green); transform: rotate(-4deg) scale(1.08); }
.egg-text.is-found { color: var(--green); }

/* ============ Doors section ============ */
.doors-section {
  position: relative;
  background: url('assets/img/home-cards-bg.jpg') center / cover no-repeat, var(--black);
}
.doors-section::before {
  content: '';
  position: absolute; inset: 0;
  background: rgba(35,31,32,0.78);
}
.doors {
  position: relative;
  z-index: 2;
  max-width: 720px;
  margin: 0 auto;
  padding: 52px 20px 92px;
  display: grid;
  gap: 16px;
}

.door {
  border-radius: var(--radius);
  border: 2px solid rgba(247,255,247,0.14);
  background: rgba(35,31,32,0.72);
  overflow: hidden;
  transition: border-color .25s ease;
}
.door--google  { --door-color: var(--yellow); }
.door--linkedin{ --door-color: var(--blue); }
.door--person  { --door-color: var(--pink); }
.door.is-open  { border-color: var(--door-color); }

.door__head {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 18px;
  text-align: left;
  padding: 22px 20px;
}
.door__num {
  font-family: 'Lexend Giga', sans-serif;
  font-weight: 900;
  font-size: 1.15rem;
  color: var(--door-color);
  flex: 0 0 auto;
}
.door__titles { display: flex; flex-direction: column; gap: 4px; flex: 1 1 auto; }
.door__title {
  font-weight: 700;
  font-size: clamp(1.15rem, 4.2vw, 1.45rem);
  line-height: 1.15;
}
.door__tag { font-size: .95rem; opacity: .78; }
.door__chev {
  font-weight: 300;
  font-size: 2rem;
  line-height: 1;
  color: var(--door-color);
  flex: 0 0 auto;
  transition: transform .25s ease;
}
.door.is-open .door__chev { transform: rotate(45deg); }

.door__body {
  padding: 4px 20px 26px;
  display: grid;
  gap: 14px;
}

/* ============ Buttons ============ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 999px;
  padding: 15px 26px;
  font-weight: 700;
  font-size: 1.02rem;
  text-decoration: none;
  transition: transform .15s ease, background .2s ease, color .2s ease;
  min-height: 52px;
}
.btn:active { transform: scale(.97); }
.btn--primary {
  background: var(--door-color, var(--green));
  color: var(--black);
}
.btn--primary:hover { filter: brightness(1.07); }
.btn__arrow { height: 14px; }
.btn--ghost {
  border: 2px solid var(--door-color, var(--green));
  color: var(--door-color, var(--green));
  background: transparent;
}
.btn--ghost:hover { background: rgba(247,255,247,0.06); }

/* ============ Prompt machine ============ */
.machine { display: grid; gap: 18px; padding-top: 4px; }
.machine__intro { display: grid; gap: 10px; font-size: .98rem; opacity: .92; }
.machine__back {
  justify-self: start;
  font-size: .9rem;
  font-weight: 500;
  color: var(--white);
  opacity: .6;
  padding: 2px 0;
}
.machine__back:hover { opacity: 1; color: var(--green); }
.machine .prompt-card { margin-top: 16px; }
.door__menu { display: grid; gap: 14px; }

.prompt-card {
  position: relative;
  background: var(--white);
  color: var(--black);
  border-radius: 10px;
  padding: 34px 24px 26px;
  transform: rotate(-1.2deg);
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);
}
.prompt-card__tape {
  position: absolute;
  top: -17px; left: 50%;
  transform: translateX(-50%) rotate(1.5deg);
  width: 130px;
  pointer-events: none;
}
.prompt-card__text {
  font-weight: 500;
  font-size: clamp(1.1rem, 3.8vw, 1.3rem);
  line-height: 1.45;
}
.prompt-card.is-dealing { animation: deal .35s ease; }
@keyframes deal {
  0%   { opacity: 0; transform: rotate(2deg) translateY(14px); }
  100% { opacity: 1; transform: rotate(-1.2deg) translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .prompt-card.is-dealing { animation: none; }
  .gem, .egg-text { transition: none; }
  html { scroll-behavior: auto; }
}

.machine__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.caption {
  font-family: 'Oooh Baby', cursive;
  font-weight: 700;
  color: var(--green);
  font-size: 1.5rem;
  transform: rotate(-11.7deg);
  display: inline-block;
}
.doors__thanks {
  justify-self: center;
  text-align: center;
  margin-top: 72px;
  max-width: 18em;
  transform: rotate(-4deg);
  font-size: clamp(1.35rem, 3.6vw, 1.7rem);
}

/* ============ Note / Ask boxes ============ */
.notebox, .askbox {
  border-radius: 14px;
  padding: 16px 20px;
  font-size: .97rem;
}
.notebox {
  border: 2px dashed rgba(99,207,227,0.5);
  background: rgba(99,207,227,0.06);
}
.notebox strong { color: var(--blue); }
.askbox {
  border: 2px dashed rgba(255,111,206,0.5);
  background: rgba(255,111,206,0.06);
}
.askbox a { color: var(--pink); font-weight: 700; }

/* ============ Footer ============ */
/* The torn-paper rip sits glued above the footer (jagged edge up, flat black
   bottom); the footer itself is the same solid black, so page-end = flat edge. */
.footer {
  position: relative;
  background: #000;
  margin-top: 4px;
}
.footer__inner {
  position: relative;
  max-width: 720px;
  margin: 0 auto;
  padding: 28px 24px 44px;
  text-align: center;
  display: grid;
  gap: 14px;
  justify-items: center;
}
.footer__logo { height: 36px; opacity: .9; }
.footer__line { font-size: 1rem; }
.footer__legal { font-size: .82rem; opacity: .6; }
.footer__legal a { color: inherit; }
.footer__rip {
  position: absolute;
  bottom: 100%;
  left: 0;
  display: block;
  width: 100%;
  height: clamp(60px, 7vw, 90px);
  object-fit: cover;
  object-position: top;
  pointer-events: none;
}

/* ============ Overlays / Modals ============ */
.overlay {
  position: fixed; inset: 0;
  background: rgba(35,31,32,0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  z-index: 50;
}
.modal {
  position: relative;
  background: var(--black);
  border: 2px solid var(--green);
  border-radius: var(--radius);
  max-width: 560px;
  width: 100%;
  max-height: 86vh;
  overflow-y: auto;
  padding: 32px 26px 28px;
  display: grid;
  gap: 12px;
}
.modal__close {
  position: absolute;
  top: 10px; right: 16px;
  font-size: 2rem;
  font-weight: 300;
  color: var(--white);
  opacity: .7;
}
.modal__close:hover { opacity: 1; }
.modal__memoji { width: 58px; }
.modal__title {
  font-weight: 900;
  font-size: 1.5rem;
  line-height: 1.15;
  color: var(--green);
}
.modal__list { display: grid; gap: 10px; padding-left: 20px; font-size: .97rem; }
.modal__list strong { color: var(--pink); font-weight: 700; }

.modal--egg { text-align: center; justify-items: center; }
.modal--egg .btn--primary { background: var(--green); color: var(--black); }
.modal__eyebrow {
  font-family: 'Lexend Giga', sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  font-size: .95rem;
  color: var(--green);
  letter-spacing: .04em;
}
.modal__eggline { font-size: 1.05rem; max-width: 26em; }
.modal__thanks { font-size: 1.35rem; transform: rotate(-4deg); margin-top: 4px; }

/* ============ Wider screens ============ */
@media (min-width: 700px) {
  .hero__inner { padding-top: 64px; }
  .machine__actions .btn { flex: 0 0 auto; }
  .gem-row { padding: 0 2px; }
}
