/* Enterprise page: home. */

/* Source: assets/css/app.css L138-L233 */
.hero {
  min-height:520px;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:28px;
  align-items:stretch;
}
.hero-panel {
  border:1px solid var(--line);
  border-radius:28px;
  overflow:hidden;
  background:var(--surface);
  min-height:100%;
  position:relative;
}
.hero-copy {
  padding:54px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.eyebrow {
  margin:0 0 18px;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  letter-spacing:.24em;
  text-transform:uppercase;
}
h1,h2,h3,p { margin-top:0; }
.hero h1 {
  max-width:650px;
  margin-bottom:22px;
  font-size:clamp(44px,6vw,86px);
  line-height:.9;
  letter-spacing:-.065em;
}
.hero-copy p {
  max-width:560px;
  color:var(--muted);
  font-size:16px;
  line-height:1.7;
  margin-bottom:30px;
}
.cta-row { display:flex;gap:12px;flex-wrap:wrap; }
.rp-theme .btn,
.rp-theme a.button,
.rp-theme button.button,
.rp-theme input.button,
.rp-theme .single_add_to_cart_button {
  min-height:46px;
  padding:0 22px;
  border-radius:var(--radius-pill);
  border:1px solid var(--button-bg);
  background:var(--button-bg);
  color:var(--button-text);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  line-height:1;
  text-decoration:none;
}
.rp-theme .btn.secondary,
.rp-theme a.button.secondary,
.rp-theme button.button.secondary {
  background:#fff;
  color:#000;
}
.hero-visual {
  display:grid;place-items:center;
  background:radial-gradient(circle at 50% 35%, rgba(0,0,0,.08), transparent 30%),linear-gradient(160deg,#fff,#f5f5f5);
}
.phone-frame {
  width:min(310px,80%);
  aspect-ratio:9/18;
  border:10px solid #000;
  border-radius:42px;
  background:#fff;
  box-shadow:0 24px 80px rgba(0,0,0,.24);
  overflow:hidden;
  position:relative;
}
.phone-notch {
  width:86px;height:22px;border-radius:0 0 16px 16px;background:#000;
  position:absolute;top:0;left:50%;transform:translateX(-50%);z-index:2;
}
.phone-screen { height:100%;padding:42px 16px 18px;display:flex;flex-direction:column;gap:14px; }
.mini-card { border:1px solid var(--line);border-radius:18px;padding:12px;background:#fff; }
.mini-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:8px; }
.mini-img { aspect-ratio:1;border-radius:14px;background:linear-gradient(140deg,#f8f8f8,#e8e8e8); }


/* Source: assets/css/app.css L828-L877 */
.home-contact-visual {
  padding:24px;
  display:grid;
  align-content:center;
  gap:18px;
}
.home-contact-image {
  margin:0;
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(145deg,#f8f8f8,#ededed);
}
.home-contact-image img {
  width:100%;
  height:min(320px,36vh);
  object-fit:cover;
}
.home-contact-card {
  border:1px solid var(--line);
  border-radius:24px;
  padding:22px;
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow);
}
.home-contact-card h2 {
  margin:0 0 12px;
  font-size:clamp(28px,4vw,48px);
  line-height:.95;
  letter-spacing:-.05em;
}
.home-social-links {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}
.home-social-links a,
.footer-social-links a {
  min-height:34px;
  padding:0 13px;
  border:1px solid var(--line);
  border-radius:var(--radius-pill);
  display:inline-flex;
  align-items:center;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

/* Source: assets/css/app.css L1231-L1267 */
/* v1.0 media preview fix */
.home-contact-image.is-empty {
  display:grid;
  place-items:center;
  min-height:220px;
}
.home-contact-image-placeholder {
  width:100%;
  min-height:220px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#f8f8f8,#e8e8e8);
}
.home-contact-image-placeholder span {
  min-height:38px;
  padding:0 16px;
  border:1px solid var(--line);
  border-radius:var(--radius-pill);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
@media (max-width:767px) {
  body.rp-theme .home-contact-visual {
    display:block;
  }
  .home-contact-image.is-empty,
  .home-contact-image-placeholder {
    min-height:180px;
  }
}


/* Source: assets/css/app.css L1323-L1343 */
body.rp-theme .home-contact-image {
  cursor:pointer;
  position:relative;
}
body.rp-theme .home-contact-edit-shortcut {
  position:absolute;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  min-height:34px;
  padding:0 14px;
  border:1px solid var(--line);
  border-radius:var(--radius-pill);
  background:rgba(255,255,255,.92);
  color:#000;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
}

/* Source: assets/css/app.css L1370-L1514 */
/* v1.0 home product grid freeze */
body.rp-theme .home-featured-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
}
body.rp-theme .home-featured-grid .product-card {
  min-height:100%;
  display:grid;
  grid-template-rows:auto 1fr;
}
body.rp-theme .home-featured-grid .product-img {
  aspect-ratio:1;
}
body.rp-theme .home-featured-grid .product-info {
  display:grid;
  grid-template-rows:auto auto auto 1fr;
  align-content:start;
}
body.rp-theme .home-featured-grid .product-name {
  min-height:34px;
  max-height:34px;
  overflow:hidden;
}
body.rp-theme .home-featured-grid .product-meta-clean {
  min-height:22px;
}
body.rp-theme .home-featured-grid .rp-card-rating {
  min-height:24px;
}
body.rp-theme .home-featured-grid .quick-add {
  align-self:end;
}
@media (max-width:767px) {
  body.rp-theme .home-featured-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* v1.0 identical home editor cards */
body.rp-theme .home-editor-hero {
  min-height:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  align-items:stretch;
}
body.rp-theme .home-editor-card {
  padding:24px;
  display:grid;
  grid-template-rows:minmax(160px, 38%) 1fr;
  gap:18px;
  min-height:520px;
  background:var(--surface);
}
body.rp-theme .home-editor-media {
  margin:0;
  min-height:160px;
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(145deg,#f8f8f8,#ededed);
  display:grid;
  place-items:center;
  position:relative;
}
body.rp-theme .home-editor-media img {
  width:100%;
  height:100%;
  min-height:160px;
  object-fit:cover;
}
body.rp-theme .home-editor-media-placeholder {
  width:100%;
  height:100%;
  min-height:160px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#f8f8f8,#ededed);
}
body.rp-theme .home-editor-media-placeholder span {
  min-height:38px;
  padding:0 16px;
  border:1px solid var(--line);
  border-radius:var(--radius-pill);
  display:inline-flex;
  align-items:center;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.rp-theme .home-editor-body {
  border:1px solid var(--line);
  border-radius:24px;
  padding:28px;
  background:#fff;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:0;
}
body.rp-theme .home-editor-body h1,
body.rp-theme .home-editor-body h2 {
  margin:0 0 18px;
  font-size:clamp(36px,4.8vw,64px);
  line-height:.92;
  letter-spacing:-.06em;
  max-width:560px;
}
body.rp-theme .home-editor-body .muted {
  max-width:560px;
  margin:0 0 24px;
  font-size:15px;
  line-height:1.65;
}
body.rp-theme .home-editor-body .cta-row {
  margin-top:auto;
}
@media (max-width:767px) {
  body.rp-theme .home-editor-hero {
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
  }
  body.rp-theme .home-editor-card {
    min-height:0;
    padding:14px;
    border-radius:22px;
    grid-template-rows:minmax(150px,auto) auto;
  }
  body.rp-theme .home-editor-body {
    border-radius:20px;
    padding:22px;
  }
  body.rp-theme .home-editor-body h1,
  body.rp-theme .home-editor-body h2 {
    font-size:clamp(42px,14vw,62px);
  }
  body.rp-theme .home-editor-body .muted {
    font-size:14px;
  }
}
