/* ============================================
   Relume Feature Sections CSS
   Pixel-perfect values from relume.io (computed)
   ============================================ */

/* === Base / Reset === */
.section_new-home_primary-feature,
.section_new-home_secondary-features {
  font-family: Ppmori, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 16px;
  font-weight: 400;
  background-color: #FAFAFA;
}
.section_new-home_primary-feature h1,
.section_new-home_primary-feature h2,
.section_new-home_primary-feature h3,
.section_new-home_primary-feature h4,
.section_new-home_primary-feature h5,
.section_new-home_primary-feature h6,
.section_new-home_secondary-features h1,
.section_new-home_secondary-features h2,
.section_new-home_secondary-features h3,
.section_new-home_secondary-features h4,
.section_new-home_secondary-features h5,
.section_new-home_secondary-features h6 {
  font-weight: 400;
  background: none !important;
  line-height: 24px;
  color: #161616;
  box-sizing: border-box;
  background-color: #FAFAFA;
}
.section_new-home_primary-feature *,
.section_new-home_secondary-features * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* === Layout utilities === */
.rl-page-padding {
  padding-left: 40px;
  padding-right: 40px;
}
.container-large {
  max-width: 1307px;
  margin: 0 auto;
  width: 100%;
}
.container-xlarge {
  max-width: 1307px;
  margin: 0 auto;
  width: 100%;
}

/* === Spacing utilities (pixel-perfect from computed) === */
.padding-top.padding-medium { padding-top: 32px; }
.padding-bottom.padding-medium { padding-bottom: 32px; }
.margin-top.margin-medium { margin-top: 32px; }
.margin-bottom.margin-small { margin-bottom: 24px; }
.margin-bottom.margin-tiny { margin-bottom: 4px; }
.margin-bottom.margin-xxsmall { margin-bottom: 8px; }

/* === Text utilities === */
.max-width-large { max-width: 640px; }
.align-center { margin-left: auto; margin-right: auto; }
.text-align-center { text-align: center; }
.text-size-medium {
  font-size: 18px;
  line-height: 21.6px;
  font-weight: 400;
  letter-spacing: -0.36px;
  color: rgba(22, 22, 22, 0.75);
}
.text-size-small {
  font-size: 14px;
  line-height: 21px;
  font-weight: 400;
  color: #161616;
}
.text-weight-medium { font-weight: 400; }
.text-weight-normal { font-weight: 400; }
.text-color-grey { color: #686868; }
.text-color-darkgrey { color: rgba(22, 22, 22, 0.75); }
.text-color-mediumgrey { color: #686868; }
.text-color-gradient {
  background: linear-gradient(100deg, #ff7448, #ff4848 42%, #6248ff 85%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* === Heading styles (pixel-perfect from computed) === */
.heading-style-tagline {
  font-size: 24px !important;
  font-weight: 400 !important;
  color: #686868 !important;
  line-height: 33.6px !important;
  letter-spacing: -0.48px !important;
}
.heading-style-h1 {
  font-size: 56px !important;
  font-weight: 400 !important;
  line-height: 67.2px !important;
  color: #161616 !important;
  letter-spacing: -1.12px !important;
}
.heading-style-h2-3 {
  font-size: 56px !important;
  font-weight: 400 !important;
  line-height: 67.2px !important;
  color: #161616 !important;
  letter-spacing: -1.12px !important;
}
.heading-style-h3 {
  font-size: 40px !important;
  font-weight: 400 !important;
  line-height: 48px !important;
  color: #161616 !important;
  letter-spacing: -0.8px !important;
}
.heading-style-h6 {
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 28px !important;
  color: #161616 !important;
  letter-spacing: -0.4px !important;
}

/* === Icon utilities === */
.icon-1x1-feature {
  width: 44px;
  height: 44px;
  object-fit: contain;
  display: inline-block;
}
.icon-embed-xxsmall {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.icon-embed-xxsmall svg { width: 100%; height: 100%; }
.pointer-none { pointer-events: none; }
.hide { display: none; }
.w-embed { display: block; }

/* === Primary Feature Section === */
.section_new-home_primary-feature {
  padding: 0;
}

/* === Primary Feature Cards (Sitemap, Wireframe, Style Guide) === */
.new-home_primary-feature_component {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  overflow: hidden;
  position: relative;
}
.new-home_primary-feature_card {
  background: #fff;
  border-radius: 16px;
  border: 1px solid #E0E0E0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
}
.new-home_primary-feature_card-content {
  padding: 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.new-home_primary-feature_card-content-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  transition: transform 300ms ease;
}
.new-home_primary-feature_card-content-top {
  margin-bottom: 0;
}
.new-home_primary-feature_heading-text-wrapper {
  display: flex;
  align-items: center;
  gap: 12px;
}
.new-home_heading-icon {
  width: 48px;
  height: 48px;
}

/* Feature items (sub-features) */
.new-home_primary-feature_item-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  margin-top: 64px;
}
.new-home_primary-feature_item-row {
  display: flex;
  gap: 0;
  align-items: stretch;
}
.new-home_primary-feature_item {
  flex: 1;
}
.new-home_primary-feature_item-divider {
  width: 1px;
  background: rgba(22, 22, 22, 0.15);
  margin: 0 24px;
  flex-shrink: 0;
}

/* Feature image wrapper (Lottie/animation area) */
.new-home_primary-feature_image-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 64px 0;
  overflow: visible;
  min-height: 720px;
}
.new-home_primary-feature_image-wrapper.is-left-tablet {
  order: -1;
}
.new-home_primary-feature1_lottie-wrapper,
.new-home_primary-feature2_lottie-wrapper {
  background: #F1F0EE;
  border-radius: 16px;
  border: 1px solid #E4E2DF;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 130%;
  min-height: 598px;
  position: absolute;
  right: -30%;
}
.new-home_primary-feature2_lottie-wrapper {
  right: auto;
  left: -30%;
}
.new-home_primary-feature1_lottie,
.new-home_primary-feature2_lottie,
.new-home_primary-feature3_lottie {
  width: 100%;
  height: 100%;
}
.new-home_primary-feature1_line,
.new-home_primary-feature2_line {
  display: none;
}
.new-home_primary-feature_overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

/* New badge for Style Guide */
.new-home_tagline-new {
  display: inline-block;
  padding: 6px 10px;
  border: 1px solid rgba(22, 22, 22, 0.1);
  border-radius: 8px;
  margin-bottom: 16px;
}

/* === Secondary Feature Cards (Collaboration + Export) === */
.section_new-home_secondary-features {
  padding: 0;
}
.new-home_collab-feature_component {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}
.new-home_secondary-feature_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}

/* Collaboration card */
.new-home_collab-feature_card {
  background: #fff;
  border-radius: 16px;
  border: 1px solid #E0E0E0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.new-home_collab-feature_image-wrapper {
  position: relative;
  padding: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
}
.new-home_collab-feature_background-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: absolute;
  inset: 0;
}

/* Collab popup widget */
.new-home_collab-feature_popup-widget {
  position: relative;
  z-index: 2;
  background: #fff;
  border-radius: 16px;
  padding: 12px 0 16px;
  max-width: 360px;
  box-shadow: rgba(0, 0, 0, 0.08) 0px 8px 10px -4px, rgba(0, 0, 0, 0.05) 0px 2px 10px 2px;
}
.new-home_collab-feature_popup-widget_top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px 12px;
  border-bottom: 1px solid #E4E2DF;
}
.new-home_collab-feature_pop-widget_button-row-left,
.new-home_collab-feature_pop-widget_button-row-right {
  display: flex;
  gap: 4px;
}
.new-home_collab-feature_pop-widget_button {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.new-home_collab-feature_pop-widget_button-arrow {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: #F1F0EE;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Comment items */
.new-home_collab-feature_popup-widget_comment1,
.new-home_collab-feature_popup-widget_comment2,
.new-home_collab-feature_popup-widget_comment3 {
  padding: 12px 16px;
}
.new-home_collab-feature_popup-widget_comment1-inner-wrapper,
.new-home_collab-feature_popup-widget_comment2-inner-wrapper,
.new-home_collab-feature_popup-widget_comment3-inner-wrapper {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.new-home_collab-feature_popup-widget_comment-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  flex-shrink: 0;
}
.new-home_collab-feature_popup-widget_comment-wrapper {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.new-home_collab-feature_popup-widget_comment-subtext {
  font-size: 13px;
  color: #161616;
}
.new-home_collab-feature_popup-widget_comment-text {
  font-size: 14px;
  line-height: 21px;
  color: #161616;
}
.new-home_collab-feature_popup-widget_bottom {
  padding: 12px 16px 0;
  border-top: 1px solid #E4E2DF;
  font-size: 14px;
  color: #686868;
}

/* Client label */
.client-label {
  background: #E8FFE8;
  color: #0a6e0a;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  margin-right: 4px;
}

/* Collab avatars */
.new-home_collab-feature_avatar1,
.new-home_collab-feature_avatar2,
.new-home_collab-feature_avatar3 {
  position: absolute;
  z-index: 3;
  cursor: pointer;
}
.new-home_collab-feature_avatar1 { bottom: 40%; left: 20%; }
.new-home_collab-feature_avatar2 { top: 30%; right: 25%; }
.new-home_collab-feature_avatar3 { bottom: 20%; right: 15%; }
.new-home_collab-feature_avatar-image {
  width: 40px;
  height: auto;
}
.new-home_collab-feature_avatar-active {
  display: none;
}
.new-home_collab-feature_mario {
  position: absolute;
  z-index: 4;
  pointer-events: none;
}

/* Export card */
.new-home_export-feature_card {
  background: #fff;
  border-radius: 16px;
  border: 1px solid #E0E0E0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.new-home_export-feature_image-wrapper {
  position: relative;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.new-home_export-feature_background-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: absolute;
  inset: 0;
}
.new-home_export-feature_melissa {
  position: absolute;
  z-index: 3;
  bottom: 20%;
  left: 60%;
  pointer-events: none;
}
.new-home_export-feature_copied-toast {
  display: none;
}

/* Export popup widget */
.new-home_export-feature_popup-widget {
  position: relative;
  z-index: 2;
  background: #fff;
  border-radius: 0 0 16px 16px;
  padding: 12px 0;
  width: 312px;
  max-width: 100%;
  box-shadow: rgba(0, 0, 0, 0.08) 0px 8px 10px -4px, rgba(0, 0, 0, 0.05) 0px 2px 10px 2px;
}
.new-home_export-feature_popup-widget-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px;
  cursor: pointer;
  font-size: 14px;
  transition: background 0.15s;
}
.new-home_export-feature_popup-widget-button:hover {
  background: #F1F0EE;
}
.new-home_export-feature_popup-widget-button-shortcut {
  font-size: 12px;
  color: #686868;
  background: #F1F0EE;
  padding: 2px 6px;
  border-radius: 4px;
}
.new-home_export-feature_popup-widget-text-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
}
.new-home_export-feature_popup-widget-icon-wrapper {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.new-home_export-feature_popup-widget-icon-border,
.new-home_export-feature_popup-widget-icon-border-none {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.new-home_export-feature_popup-widget-icon-border img,
.new-home_export-feature_popup-widget-icon-border-none img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.new-home_export-feature_popup-divider {
  height: 1px;
  background: #E4E2DF;
  margin: 4px 0;
}
.new-home_export-feature_popup-divider-text {
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #686868;
  padding: 8px 16px 4px;
}

/* Secondary card content */
.new-home_secondary-feature_card-content {
  padding: 48px 64px 64px;
  display: flex;
  flex-direction: column;
}
.new-home_secondary-feature_card-content-top {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* === Feature Placeholder (gray box for future video) === */
.new-home_feature-placeholder {
  /* Match relume's lottie-wrapper: absolute, overflows right */
  position: absolute;
  top: 64px;
  bottom: 64px;
  left: 0;
  right: -30%;
  width: auto;
  min-height: 598px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 16px;
  background: #e5e5e5;
  border: 1px solid #E0E0E0;
  transition: transform 300ms ease;
}
/* Primary: placeholder on the right (image wrapper is last child) → flush right edge */
.new-home_primary-feature_card > .new-home_primary-feature_image-wrapper:last-child .new-home_feature-placeholder {
  left: 0;
  right: -30%;
}
/* Primary: placeholder on the left (image wrapper is first child) → flush left edge */
.new-home_primary-feature_card > .new-home_primary-feature_image-wrapper:first-child .new-home_feature-placeholder {
  left: -30%;
  right: 0;
}
.new-home_feature-placeholder::after {
  content: "Video";
  font-size: 14px;
  font-weight: 500;
  color: #999;
  letter-spacing: 1px;
  text-transform: uppercase;
}
/* Secondary: NOT absolutely positioned, normal flow */
.new-home_feature-placeholder.is-secondary {
  position: static;
  width: 100%;
  height: 100%;
  min-height: 360px;
  border-radius: 0 0 16px 16px;
  transition: none;
}

/* === Responsive (pixel-perfect from relume.io) === */

/* --- Tablet (max-width: 991px) --- */
@media (max-width: 991px) {
  .rl-page-padding {
    padding-left: 5vw;
    padding-right: 5vw;
  }
  .new-home_primary-feature_card {
    grid-template-columns: 1fr;
  }
  .new-home_primary-feature_card-content {
    padding: 3.5rem; /* 56px */
  }
  .new-home_primary-feature_image-wrapper {
    align-items: flex-end;
    min-height: 0;
    padding: 2rem 2rem 4rem; /* 32px 32px 64px */
    overflow: hidden;
  }
  /* Placeholder: revert to static on tablet (single-column layout) */
  .new-home_feature-placeholder {
    position: static !important;
    width: 100% !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    min-height: 400px;
    border-radius: 16px !important;
    transition: none !important;
  }
  .new-home_feature-placeholder.is-secondary {
    min-height: 312px;
  }
  /* Card 2: image is first child in DOM, push below content on tablet */
  .new-home_primary-feature_card > .new-home_primary-feature_image-wrapper:first-child {
    order: 1;
  }
  .new-home_secondary-feature_row {
    gap: 2.5rem; /* 40px */
    grid-template-columns: 1fr;
  }
  .new-home_secondary-feature_card-content {
    padding: 3.5rem; /* 56px */
  }
  .heading-style-h1 { font-size: 3.25rem !important; line-height: 1.2 !important; } /* 52px */
  .heading-style-h2-3 { font-size: 3.25rem !important; line-height: 1.2 !important; } /* 52px */
  .heading-style-h3 { font-size: 2.25rem !important; line-height: 1.2 !important; } /* 36px */
}

/* --- Mobile (max-width: 767px) --- */
@media (max-width: 767px) {
  .text-size-medium {
    font-size: 1rem; /* 16px */
  }
  .new-home_primary-feature_card-content {
    padding: 2.5rem 2rem 2rem; /* 40px 32px 32px */
  }
  .new-home_primary-feature_image-wrapper {
    min-height: auto;
    padding: 2rem 1.5rem; /* 32px 24px */
  }
  /* Placeholder: match relume mobile ratio */
  .new-home_feature-placeholder {
    min-height: 260px;
  }
  .new-home_feature-placeholder.is-secondary {
    min-height: 260px;
  }
  .new-home_primary-feature_item-list {
    margin-top: 3rem; /* 48px */
  }
  .new-home_collab-feature_component {
    gap: 1.5rem; /* 24px */
  }
  .new-home_secondary-feature_row {
    gap: 2rem; /* 32px */
    grid-template-columns: 1fr;
  }
  .new-home_collab-feature_image-wrapper,
  .new-home_export-feature_image-wrapper {
    height: auto;
  }
  .new-home_secondary-feature_card-content {
    padding: 2rem 2rem 2.5rem; /* 32px 32px 40px */
  }
  .heading-style-h1 { font-size: 2.25rem !important; line-height: 1.2 !important; } /* 36px */
  .heading-style-h2-3 { font-size: 2.25rem !important; line-height: 1.2 !important; } /* 36px */
  .heading-style-h3 { font-size: 1.75rem !important; line-height: 1.2 !important; } /* 28px */
  .heading-style-h6 { font-size: 1.125rem !important; line-height: 1.4 !important; } /* 18px */
  .heading-style-tagline { font-size: 1.55rem !important; line-height: 1.4 !important; } /* 24.8px */
}

/* --- Mobile Portrait (max-width: 479px) --- */
@media (max-width: 479px) {
  .new-home_primary-feature_card-content {
    padding: 2.5rem 1.5rem 2rem; /* 40px 24px 32px */
  }
  .new-home_primary-feature_image-wrapper {
    padding: 1rem 1rem 2rem; /* 16px 16px 32px */
  }
  .new-home_feature-placeholder {
    min-height: 212px; /* relume: 260px wrapper - 48px padding */
  }
  .new-home_feature-placeholder.is-secondary {
    min-height: 212px;
  }
  .new-home_primary-feature_item-list {
    gap: 1.5rem; /* 24px */
    grid-template-columns: 1fr;
    margin-top: 2.5rem; /* 40px */
  }
  .new-home_primary-feature_item-row {
    flex-direction: column;
    grid-template-columns: 1fr;
  }
  .new-home_primary-feature_item-divider {
    width: 100%;
    height: 1px;
    margin: 1.25rem 0; /* 20px */
  }
}

/* === Webflow Grid Layout === */
.w-layout-grid {
  display: grid;
}

/* === Animation embed (hide) === */
.animation-embed { display: none; }

/* Icon placeholder (inline SVG wrapper) */
.icon-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f5f5;
  border-radius: 10px;
}
