/* 997Website V2 homepage — Kiplinglee patented style (navy / cream / gold) */

.w997-home {
  --997-wrap: 70rem;
  --997-gutter: clamp(18px, 4vw, 28px);
  --997-navy: #0B1220;
  --997-paper: #F7F5F0;
  --997-gold: #D4A72C;
  --997-blue: #2563EB;
  --997-line: #1e293b;
  --997-card: #111827;
  --997-mut: #9a948a;
  --997-ease: cubic-bezier(0.22, 1, 0.36, 1);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 18px;
  line-height: 1.65;
  color: var(--997-paper);
  overflow-x: clip;
}

.w997-wrap {
  max-width: var(--997-wrap);
  margin-inline: auto;
  padding-inline: var(--997-gutter);
}

.w997-wrap-wide {
  max-width: var(--997-wrap);
  margin-inline: auto;
  padding-inline: var(--997-gutter);
}

.w997-rule {
  border: none;
  border-top: 1px solid var(--997-line);
  margin: 0;
}

/* ── Typography ── */
.w997-kicker,
.w997-home .w997-eyebrow {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 13px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--997-gold);
  margin-bottom: 14px;
}

.w997-kicker--light { color: var(--997-gold); }

.w997-home h1,
.w997-home h2,
.w997-home h3 {
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--997-paper);
  line-height: 1.12;
  font-weight: 400;
}

.w997-home h1 {
  font-size: clamp(34px, 6vw, 56px);
  max-width: 22ch;
  margin-bottom: 1rem;
}

.w997-home h1 em {
  color: var(--997-gold);
  font-style: italic;
}

.w997-home h2 {
  font-size: clamp(26px, 4.5vw, 36px);
  color: var(--997-gold);
  margin-bottom: 1rem;
}

.w997-home h3 {
  font-size: 19px;
  color: #e8e4da;
  margin-bottom: 0.5rem;
}

.w997-lede {
  font-size: 18px;
  line-height: 1.65;
  color: #c9c4ba;
  max-width: 58ch;
}

.w997-lede--light { color: #c9c4ba; }

.w997-sec-head {
  text-align: center;
}

.w997-sec-head .w997-lede {
  margin-inline: auto;
}

.w997-sec-head h2 {
  color: var(--997-gold);
}

/* ── Hero (kiplinglee — no photo) ── */
.w997-hero-kipl {
  padding: clamp(56px, 12vw, 96px) 0 clamp(48px, 8vw, 72px);
  text-align: center;
}

.w997-hero-kipl .w997-wrap {
  max-width: 820px;
}

.w997-hero-kipl h1 {
  margin-inline: auto;
  max-width: 20ch;
}

.w997-hero-offer {
  font-size: clamp(20px, 3.2vw, 26px);
  color: var(--997-paper);
  max-width: 48ch;
  margin: 18px auto 0.75rem;
  line-height: 1.45;
}

.w997-hero-offer strong {
  color: var(--997-gold);
  font-size: 1.2em;
}

.w997-hero-sub {
  font-size: clamp(17px, 2.5vw, 20px);
  color: #c9c4ba;
  max-width: 52ch;
  margin: 0 auto 1.25rem;
  line-height: 1.55;
}

.w997-hero-sub strong {
  color: var(--997-gold);
}

.w997-hero-byline {
  max-width: 44ch;
  margin: 0 auto 1.5rem;
  font-size: 17px;
  line-height: 1.55;
  color: #c9c4ba;
  border-left: 3px solid var(--997-gold);
  padding-left: 18px;
  text-align: left;
}

.w997-btn-lg {
  font-size: 16px;
  padding: 14px 32px;
}

.w997-btn-block {
  display: flex;
  width: 100%;
  justify-content: center;
}

.w997-cta-row--center {
  justify-content: center;
}

/* ── Sections ── */
.w997-sec {
  padding: clamp(40px, 7vw, 56px) 0;
}

.w997-sec--cream {
  background: var(--997-card);
  border-top: 1px solid var(--997-line);
  border-bottom: 1px solid var(--997-line);
}

.w997-sec--cream h2 {
  color: var(--997-gold);
}

.w997-sec--navy {
  background: transparent;
}

.w997-sec--navy h2,
.w997-sec--navy h3 { color: var(--997-gold); }

.w997-sec--proof {
  padding-bottom: clamp(64px, 10vw, 96px);
}

.w997-sec--proof h2 { color: var(--997-gold); }

.w997-sec--proof .w997-lede {
  text-align: center;
  margin-inline: auto;
  margin-bottom: 0;
}

.w997-sec--offer {
  background: var(--997-card);
  border-top: 1px solid var(--997-line);
}

.w997-sec--expand {
  padding: clamp(40px, 6vw, 56px) 0;
}

.w997-sec--contact {
  padding-bottom: clamp(56px, 8vw, 72px);
}

.w997-sec--contact h2 { color: var(--997-gold); }

/* Beat / credo */
.w997-beat {
  margin: 1.5rem 0;
  padding: clamp(20px, 3vw, 28px);
  background: var(--997-card);
  border: 1px solid var(--997-line);
  border-left: 3px solid var(--997-gold);
  border-radius: 10px;
  max-width: 68ch;
}

.w997-beat p {
  font-size: 18px;
  margin: 0;
  line-height: 1.65;
  color: #e8e4da;
}

.w997-credo {
  text-align: center;
  max-width: 48ch;
  margin-inline: auto;
}

.w997-credo p {
  font-size: clamp(18px, 2.5vw, 22px);
  line-height: 1.45;
  margin: 0;
  color: #e8e4da;
}

.w997-sec-cta { margin-top: 1.75rem; }

/* Ship row */
.w997-ship-row {
  display: grid;
  gap: 1rem;
  margin-top: clamp(24px, 4vw, 32px);
}

@media (min-width: 768px) {
  .w997-ship-row { grid-template-columns: repeat(3, 1fr); }
}

.w997-ship-card {
  background: var(--997-card);
  border: 1px solid var(--997-line);
  border-radius: 10px;
  padding: 22px;
}

.w997-ship-num {
  display: block;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 12px;
  letter-spacing: 2px;
  color: var(--997-gold);
  margin-bottom: 0.5rem;
}

.w997-ship-card h3 {
  font-size: 19px;
  color: #e8e4da;
  margin-bottom: 0.5rem;
}

.w997-ship-card p {
  font-size: 16px;
  color: #c9c4ba;
  margin: 0;
  line-height: 1.6;
}

/* Chapter moment (LN pattern) */
.w997-chapter-moment {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin: clamp(40px, 7vw, 64px) calc(50% - 50vw);
}

.w997-chapter-moment img {
  display: block;
  width: 100%;
  max-height: min(72vh, 820px);
  object-fit: cover;
  object-position: center 35%;
}

.w997-chapter-moment-cap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: clamp(28px, 5vw, 48px) var(--997-gutter);
  background: linear-gradient(0deg, rgba(6, 24, 41, 0.94) 0%, rgba(6, 24, 41, 0.5) 55%, transparent 100%);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

@media (min-width: 900px) {
  .w997-chapter-moment-cap {
    padding-left: max(var(--997-gutter), calc((100vw - var(--997-wrap)) / 2 + var(--997-gutter)));
  }
}

.w997-chapter-kicker {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--997-gold);
}

.w997-chapter-title {
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 400;
  color: var(--997-paper);
  line-height: 1.12;
  max-width: 20ch;
}

.w997-chapter-note {
  font-size: 1.02rem;
  color: #cdd5e0;
  max-width: 48ch;
  line-height: 1.55;
}

.w997-chapter-link {
  display: inline-block;
  margin-top: 0.5rem;
  font-weight: 700;
  font-size: 1rem;
  color: var(--997-gold) !important;
  text-decoration: none;
}

.w997-chapter-moment--project {
  margin-bottom: 0;
}

/* Browser showcase — kiplinglee proof frame */
.w997-browser-showcase {
  margin: clamp(24px, 4vw, 36px) 0;
  border-radius: 14px;
  overflow: hidden;
  border: 2px solid var(--997-gold);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  background: #050508;
}

.w997-browser-chrome {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0.7rem 1rem;
  background: var(--997-card);
  border-bottom: 1px solid var(--997-line);
  font-family: Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #c9c4ba;
}

.w997-browser-chrome span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #c8d0d8;
}

.w997-browser-chrome em {
  margin-left: auto;
  font-style: normal;
}

.w997-browser-showcase img {
  width: 100%;
  display: block;
  aspect-ratio: 16/10;
  object-fit: cover;
  object-position: top;
}

/* Proof board */
.w997-proof-board {
  background: var(--997-card);
  border: 1px solid var(--997-line);
  border-radius: 10px;
  padding: clamp(24px, 4vw, 36px);
  margin-top: clamp(24px, 4vw, 36px);
}

.w997-proof-zero-pill {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  background: var(--997-gold);
  color: var(--997-navy);
  padding: 0.85rem 1.5rem;
  border-radius: 8px;
  margin-bottom: 1rem;
}

.w997-proof-zero-num {
  font-size: clamp(2.5rem, 6vw, 3.5rem);
  line-height: 1;
  font-weight: 700;
}

.w997-proof-zero-lbl {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.w997-proof-meta {
  font-size: 14px;
  color: var(--997-mut);
  margin-bottom: 1.5rem;
  font-family: Helvetica, Arial, sans-serif;
}

.w997-stat-board {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

@media (min-width: 640px) {
  .w997-stat-board { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 900px) {
  .w997-stat-board { grid-template-columns: repeat(6, 1fr); }
}

.w997-stat-cell {
  text-align: center;
  padding: 1.15rem 0.5rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--997-line);
  border-radius: 8px;
}

.w997-stat-cell .num {
  display: block;
  font-size: clamp(1.85rem, 4vw, 2.5rem);
  color: var(--997-gold);
  line-height: 1;
  font-weight: 700;
}

.w997-stat-cell .lbl {
  display: block;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: var(--997-mut);
  margin-top: 0.45rem;
  line-height: 1.3;
}

.w997-proof-timeline {
  font-size: 0.95rem;
  color: #9aa5b1;
  margin: 1.25rem 0;
  text-align: center;
}

.w997-sec--proof .w997-query-chips {
  justify-content: center;
}

/* Era / portfolio projects */
.w997-era {
  padding: clamp(48px, 8vw, 72px) 0;
  border-top: 1px solid var(--997-line);
}

.w997-era-tag {
  display: block;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--997-gold);
  margin-bottom: 0.5rem;
}

.w997-era h3 {
  font-size: clamp(1.75rem, 4vw, 2.35rem);
  margin-bottom: 0.75rem;
  color: var(--997-paper);
}

.w997-era-copy {
  font-size: 18px;
  color: #c9c4ba;
  max-width: 58ch;
  line-height: 1.65;
  margin-bottom: 0.5rem;
}

.w997-era-cta {
  margin-top: 1.5rem;
}

.w997-era--commercial {
  background: var(--997-card);
}

.w997-demo-stage {
  margin: 1.5rem 0 0;
}

.w997-demo-preview--stage {
  min-height: clamp(280px, 40vw, 400px);
  border-radius: var(--997-radius-lg);
  overflow: hidden;
  box-shadow: var(--997-shadow-lg);
}

.w997-demo-preview--stage .w997-demo-preview-body {
  padding: clamp(2.5rem, 5vw, 3.5rem) 2rem;
}

.w997-demo-preview--stage .w997-demo-preview-body strong {
  font-size: clamp(1.35rem, 3vw, 1.85rem);
}

.w997-work-more {
  text-align: center;
  margin-top: clamp(40px, 6vw, 56px);
  font-size: 1.1rem;
  font-weight: 700;
}

/* Offer stage */
.w997-offer-stage {
  text-align: center;
}

.w997-offer-giant {
  font-size: clamp(5rem, 20vw, 10rem);
  line-height: 0.88;
  color: var(--997-gold);
  font-weight: 700;
  margin: 0;
}

.w997-offer-hook {
  font-size: clamp(1.5rem, 3.5vw, 2.15rem);
  color: var(--997-paper);
  margin: 0.5rem 0 0.75rem;
}

.w997-offer-bundle-recap {
  font-size: 18px;
  color: #c9c4ba;
  margin-bottom: 2rem;
}

.w997-offer-card {
  max-width: 36rem;
  margin-inline: auto;
  text-align: left;
  background: var(--997-navy);
  border: 2px solid var(--997-gold);
  border-radius: 10px;
  padding: clamp(24px, 4vw, 36px);
}

.w997-offer-card .w997-offer-list {
  font-size: 17px;
  line-height: 1.75;
  margin: 0 0 1.25rem;
  color: #e8e4da;
}

.w997-offer-card .w997-guarantee,
.w997-offer-card .w997-hosting-note {
  font-size: 1.05rem;
}

/* Contact */
.w997-guarantee--inline {
  margin-top: 2rem;
  text-align: center;
  padding: 1rem 1.25rem;
}

.w997-contact-panel {
  max-width: 28rem;
  margin: 2rem auto 0;
  background: var(--997-card);
  border: 1px solid var(--997-line);
  border-radius: 10px;
  padding: clamp(24px, 4vw, 32px);
  color: var(--997-paper);
}

.w997-contact-panel label {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 14px;
  color: #c9c4ba;
}

.w997-contact-panel input,
.w997-contact-panel textarea {
  font-size: 16px;
  padding: 0.85rem;
  background: var(--997-navy);
  border: 1px solid var(--997-line);
  color: var(--997-paper);
  border-radius: 6px;
  width: 100%;
}

/* Featured 2×2 checkerboard */
.w997-featured-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  margin-top: clamp(28px, 5vw, 40px);
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

@media (min-width: 768px) {
  .w997-featured-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.w997-featured-tile {
  position: relative;
  min-height: clamp(280px, 42vw, 480px);
  overflow: hidden;
  background: #050508;
}

.w997-featured-media {
  display: block;
  height: 100%;
  min-height: inherit;
}

.w997-featured-media img {
  width: 100%;
  height: 100%;
  min-height: clamp(280px, 42vw, 480px);
  object-fit: cover;
  object-position: center;
  transition: transform 0.4s var(--997-ease);
}

.w997-featured-media img.logo-fit {
  object-fit: contain;
  padding: clamp(24px, 5vw, 48px);
  background: linear-gradient(145deg, #0f172a 0%, #050508 100%);
}

.w997-featured-tile:hover .w997-featured-media img {
  transform: scale(1.03);
}

.w997-featured-copy {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: clamp(20px, 4vw, 32px);
  background: linear-gradient(0deg, rgba(6, 24, 41, 0.95) 0%, rgba(6, 24, 41, 0.55) 60%, transparent 100%);
}

.w997-featured-tag {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--997-gold);
  display: block;
  margin-bottom: 6px;
}

.w997-featured-copy h3 {
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  margin: 0 0 6px;
  color: var(--997-paper);
}

.w997-featured-copy p {
  font-size: 16px;
  color: #cdd5e0;
  margin: 0 0 10px;
  max-width: 42ch;
  line-height: 1.5;
}

.w997-featured-links {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
}

.w997-featured-links a {
  color: var(--997-gold) !important;
  text-decoration: none;
}

.w997-featured-links a:hover {
  text-decoration: underline;
}

.w997-check-list {
  margin: 1.25rem 0 0;
  padding-left: 1.2rem;
  font-size: 17px;
  line-height: 1.7;
  color: #c9c4ba;
  max-width: 58ch;
}

.w997-check-list li {
  margin-bottom: 0.35rem;
}

/* Mobile */
@media (max-width: 719px) {
  .w997-hero-kipl h1 { max-width: none; }

  .w997-hero-kipl .w997-cta-row {
    flex-direction: column;
    align-items: stretch;
  }

  .w997-hero-kipl .w997-btn {
    width: 100%;
    justify-content: center;
  }

  .w997-stat-board {
    grid-template-columns: repeat(2, 1fr);
  }

  .w997-stat-cell .num {
    font-size: 1.65rem;
  }

  .w997-chapter-title { max-width: none; }

  .w997-era-cta .w997-btn,
  .w997-sec-cta .w997-btn {
    width: 100%;
    justify-content: center;
  }
}
