/* Paruse — Istockhomes dating doorway (Relationships Guild) */
:root {
  --paruse-bg: #f3efe6;
  --paruse-ink: #1a1f1c;
  --paruse-muted: #5c655e;
  --paruse-card: #fffcf7;
  --paruse-accent: #1E40AF;
  --paruse-accent-soft: rgba(30, 64, 175, 0.1);
  --paruse-line: rgba(26, 31, 28, 0.12);
  --paruse-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --paruse-sans: "Avenir Next", "Segoe UI", system-ui, sans-serif;
}

/* Public landing — the photograph is the doorway. */
.paruse-body--landing { overflow-x: hidden; background: #0d0907; }
.paruse-body--landing > .paruse-footer,
.paruse-body--landing > footer { display: none; }
.paruse-body--landing .paruse-main { width: 100%; max-width: none; margin: 0; padding: 0; }
.paruse-landing { width: 100%; background: #f5f0e8; }
.paruse-landing-hero {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
  background: #17100c;
  color: #fff;
}
.paruse-landing-photo {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}
.paruse-landing-shade {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(9, 6, 4, 0.62) 0%, transparent 24%, transparent 70%, rgba(9, 6, 4, 0.55) 100%);
}
.paruse-landing-identity {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: max(1.5rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) 1rem max(1.25rem, env(safe-area-inset-left));
  text-align: center;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45);
}
.paruse-landing-wordmark {
  margin: 0;
  font: 500 clamp(1.7rem, 7vw, 2.35rem)/1 var(--paruse-serif);
  letter-spacing: 0.025em;
}
.paruse-landing-identity h1 {
  margin: 0.45rem 0 0;
  font: 400 clamp(0.88rem, 3.5vw, 1.08rem)/1.35 var(--paruse-sans);
  letter-spacing: 0.045em;
}
.paruse-landing-scroll {
  position: absolute;
  left: 50%;
  bottom: max(1.15rem, env(safe-area-inset-bottom));
  display: grid;
  justify-items: center;
  gap: 0.45rem;
  min-width: 5.5rem;
  min-height: 2.75rem;
  padding: 0.25rem;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.13em;
  text-decoration: none;
  text-transform: uppercase;
  transform: translateX(-50%);
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.75);
}
.paruse-landing-chevron {
  width: 0.8rem;
  height: 0.8rem;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg);
}
.paruse-landing-join {
  position: relative;
  display: flex;
  min-height: 100vh;
  min-height: 100svh;
  align-items: stretch;
  padding: max(1.5rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  background: #286d9f;
  text-align: center;
}
.paruse-landing-join-photo {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 46%;
}
.paruse-landing-join-shade {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(4, 27, 47, 0.28), rgba(4, 24, 40, 0.12) 40%, rgba(4, 19, 31, 0.64));
}
.paruse-landing-join-inner {
  display: flex;
  width: min(100%, 28rem);
  min-height: calc(100svh - max(3rem, env(safe-area-inset-top)) - max(3rem, env(safe-area-inset-bottom)));
  margin: 0 auto;
  flex-direction: column;
}
.paruse-landing-join-mark {
  display: inline-flex;
  align-self: center;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0.2rem 0.45rem;
  border-radius: 0.7rem;
  background: rgba(255, 255, 255, 0.9);
}
.paruse-landing-join-mark img { display: block; width: 112px; height: auto; }
.paruse-landing-join-content { margin: auto 0; padding: 3rem 0; }
.paruse-landing-join-kicker {
  margin: 0 0 1.15rem;
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.paruse-landing-join h2 {
  margin: 0;
  font: 500 clamp(2.2rem, 10vw, 3.35rem)/1.02 var(--paruse-serif);
  letter-spacing: -0.035em;
}
.paruse-landing-join-copy {
  max-width: 22rem;
  margin: 1.25rem auto 0;
  color: rgba(255, 255, 255, 0.94);
  font-size: clamp(0.95rem, 3.8vw, 1.05rem);
  line-height: 1.6;
}
.paruse-landing-join-actions { margin-top: auto; }
.paruse-landing-cta {
  display: inline-flex;
  width: min(100%, 24rem);
  min-height: 4rem;
  align-items: center;
  justify-content: center;
  border: 1px solid #fff;
  border-radius: 999px;
  background: #fff;
  color: #173449;
  font: 500 clamp(1.2rem, 5vw, 1.5rem)/1 var(--paruse-serif);
  letter-spacing: 0.02em;
  text-decoration: none;
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}
.paruse-landing-cta:hover,
.paruse-landing-cta:focus-visible { background: rgba(255, 255, 255, 0.14); color: #fff; }
.paruse-landing-cta:active { transform: scale(0.985); }
.paruse-landing-signin { margin: 1rem 0 0; color: rgba(255, 255, 255, 0.86); font-size: 0.9rem; }
.paruse-landing-signin a { color: #fff; text-underline-offset: 0.2em; }
.paruse-landing-trust {
  margin: 1.45rem 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.72rem;
  letter-spacing: 0.015em;
}
.paruse-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
@media (min-width: 760px) {
  .paruse-landing-photo { object-position: 50% 46%; }
  .paruse-landing-join-photo { object-position: 50% 50%; }
  .paruse-landing-identity { text-align: left; }
}
@media (prefers-reduced-motion: no-preference) {
  html:has(.paruse-body--landing) { scroll-behavior: smooth; }
  .paruse-landing-chevron { animation: paruse-landing-invite 1.8s ease-in-out infinite; }
}
@keyframes paruse-landing-invite {
  0%, 100% { transform: translateY(0) rotate(45deg); }
  50% { transform: translateY(0.3rem) rotate(45deg); }
}

* { box-sizing: border-box; }

.paruse-body {
  margin: 0;
  min-height: 100vh;
  color: var(--paruse-ink);
  background:
    radial-gradient(ellipse 80% 50% at 10% -10%, rgba(30, 64, 175, 0.12), transparent 55%),
    radial-gradient(ellipse 60% 40% at 100% 0%, rgba(184, 148, 79, 0.14), transparent 50%),
    var(--paruse-bg);
  font-family: var(--paruse-sans);
  line-height: 1.5;
}

/* Foundation brand-shell (App2 language) + Paruse product chrome */
.paruse-body--foundation {
  background: var(--paruse-bg);
}

.paruse-body--foundation .brand-shell {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.paruse-site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 252, 247, 0.94);
  color: var(--paruse-ink);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.paruse-body--foundation .paruse-brand-header.brand-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 0.45rem;
  padding-bottom: 0.45rem;
}

.paruse-body--foundation .paruse-brand-header .brand-mark {
  justify-content: center;
  text-decoration: none;
}

.paruse-menu-toggle {
  min-width: 112px;
  min-height: 52px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0.65rem;
  background: transparent;
  cursor: pointer;
}

.paruse-menu-toggle:hover { background: rgba(26, 31, 28, 0.05); }
.paruse-menu-toggle:focus-visible { outline: 3px solid #2f3531; outline-offset: 3px; }

.paruse-menu-link {
  display: inline-flex;
  min-width: 112px;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  border-radius: 0.65rem;
}
.paruse-menu-link:hover { background: rgba(26, 31, 28, 0.05); }
.paruse-menu-link:focus-visible { outline: 3px solid #2f3531; outline-offset: 3px; }

.paruse-body--menu-page { background: #f3f2ef; }
.paruse-body--menu-page .paruse-main { width: min(100%, 42rem); }
.paruse-menu-page { padding: clamp(1.5rem, 6vw, 3.5rem) 0 max(2rem, env(safe-area-inset-bottom)); }
.paruse-menu-page-heading { margin-bottom: 1.25rem; }
.paruse-menu-page-heading h1 { margin: 0.2rem 0 0; font: 500 clamp(2.5rem, 10vw, 4.5rem)/1 var(--paruse-serif); }
.paruse-menu-page-links { display: grid; gap: 0.75rem; }
.paruse-menu-page-links a {
  display: flex;
  min-height: 3.75rem;
  align-items: center;
  justify-content: space-between;
  padding: 0.85rem 1rem;
  border: 1px solid #111;
  border-radius: 0.8rem;
  background: #111;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
}
.paruse-menu-page-links a strong,.paruse-menu-page-links a span{display:block}.paruse-menu-page-links a strong{font-size:1.04rem}.paruse-menu-page-links a span{margin-top:.2rem;color:rgba(255,255,255,.78);font-size:.84rem;font-weight:500;line-height:1.35}.paruse-menu-page-links a:hover span,.paruse-menu-page-links a:focus-visible span{color:#fff}
.paruse-menu-page-links a::after { content: "›"; color: rgba(255, 255, 255, 0.72); font-size: 1.5rem; font-weight: 400; }
.paruse-menu-page-links a:hover,
.paruse-menu-page-links a:focus-visible { background: #2a2a2a; color: #fff; }
.paruse-menu-page-links a:focus-visible { outline: 3px solid var(--paruse-accent); outline-offset: 3px; }
.paruse-menu-page-auth { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2rem; }
.paruse-menu-page-auth a { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; padding: 0.7rem 1.1rem; border: 1px solid #111; border-radius: 0.8rem; background: #111; color: #fff; font-weight: 600; text-decoration: none; }
.paruse-menu-page-auth a:hover,
.paruse-menu-page-auth a:focus-visible { background: #2a2a2a; color: #fff; }
.paruse-menu-page-auth a:focus-visible { outline: 3px solid var(--paruse-accent); outline-offset: 3px; }
.paruse-menu-page-auth .paruse-menu-page-primary { border-color: #111; background: #111; color: #fff; }

@media (max-width: 640px) {
  .paruse-body--menu-page .paruse-main { width: min(100% - 1.25rem, 42rem); }
  .paruse-menu-page-auth { display: grid; }
  .paruse-menu-page-auth a { width: 100%; }
}

.paruse-menu {
  position: absolute;
  top: calc(100% + 0.35rem);
  left: 50%;
  transform: translateX(-50%);
  width: min(22rem, calc(100vw - 2rem));
  max-height: calc(100vh - 7rem);
  max-height: calc(100svh - 7rem);
  overflow-y: auto;
  padding: 0.55rem;
  border: 1px solid rgba(26, 31, 28, 0.14);
  border-radius: 1rem;
  background: #fffcf7;
  box-shadow: 0 18px 48px rgba(15, 18, 16, 0.16);
}

.paruse-menu[hidden] { display: none; }
.paruse-menu-links { display: grid; }
.paruse-menu .paruse-nav-link {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 0.7rem 0.8rem;
  border-radius: 0.65rem;
  color: #292e2b;
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 600;
}
.paruse-menu .paruse-nav-link:hover,
.paruse-menu .paruse-nav-link:focus-visible,
.paruse-menu .paruse-nav-link.is-active { background: #eeece7; color: #111311; }
.paruse-menu .paruse-nav-link:focus-visible { outline: 2px solid #343a36; outline-offset: -2px; }

.paruse-wordmark {
  display: inline-block;
  font-family: var(--paruse-serif);
  font-size: 1.85rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--paruse-accent);
  line-height: 1;
}
.paruse-official-logo{width:112px;height:auto;max-height:68px!important;object-fit:contain}
.paruse-studio-page{background:#f7f8fb}.paruse-studio-hero{padding:clamp(2rem,7vw,5rem) 0 1.5rem}.paruse-studio-hero h1{font:500 clamp(2.3rem,9vw,5.5rem)/.98 var(--paruse-serif);margin:.2rem 0 1rem;letter-spacing:-.035em}.paruse-studio-section{margin:0 0 1.25rem;padding:1.25rem;border:1px solid #e2e6ee;border-radius:1.35rem;background:#fff;box-shadow:0 16px 50px rgba(24,34,52,.05)}.paruse-studio-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.paruse-step{color:var(--paruse-accent);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.paruse-upload-drop label{display:grid;place-items:center;min-height:9rem;padding:1.5rem;border:1.5px dashed #9aa7bc;border-radius:1rem;background:#f9fbff;text-align:center;cursor:pointer}.paruse-upload-drop input{position:absolute;opacity:0;pointer-events:none}.paruse-upload-drop span{font:600 1.25rem var(--paruse-serif)}.paruse-upload-drop small{color:var(--paruse-muted)}.paruse-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}.paruse-photo-tile{overflow:hidden;border:1px solid #dde2ea;border-radius:1rem;background:#fff}.paruse-photo-tile.is-ai-draft{box-shadow:0 0 0 3px #dbe7ff}.paruse-photo-tile>img{width:100%;aspect-ratio:4/5;display:block;object-fit:cover}.paruse-photo-meta{display:flex;justify-content:space-between;gap:.4rem;padding:.65rem;font-size:.68rem}.paruse-photo-meta strong{text-transform:capitalize}.paruse-photo-meta span{color:var(--paruse-accent);font-weight:700}.paruse-photo-actions{display:flex;flex-wrap:wrap;gap:.35rem;padding:0 .65rem .75rem}.paruse-photo-actions button{border:1px solid #cbd3df;border-radius:999px;background:#fff;padding:.42rem .65rem;color:#263142;font:600 .7rem var(--paruse-sans)}.paruse-writing-card{display:grid;gap:.75rem;margin:1rem 0;padding:1rem;border:1px solid #e1e5ec;border-radius:1rem}.paruse-writing-card label,.paruse-suggestion{display:grid;gap:.5rem}.paruse-writing-card textarea{width:100%;border:1px solid #ccd4df;border-radius:.75rem;padding:.8rem;font:inherit}.paruse-suggestion{padding:1rem;border-radius:.85rem;background:#f1f5ff}.paruse-studio-notice:empty{display:none}.paruse-studio-notice{position:sticky;top:.5rem;z-index:20;margin:.5rem 0;padding:.8rem 1rem;border-radius:.75rem;background:#e9f8ef;color:#165d33}.paruse-studio-notice.is-error{background:#fff0f0;color:#8a1f1f}.paruse-public-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:1rem 0}.paruse-public-gallery img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:.8rem}@media(min-width:720px){.paruse-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.paruse-writing-card{grid-template-columns:1fr auto}.paruse-suggestion{grid-column:1/-1}}

.paruse-body--foundation .paruse-brand-header .brand-mark img.logo {
  max-height: 52px;
  max-width: min(280px, 55vw);
}

.paruse-body--foundation .paruse-brand-header .brand-title {
  text-align: left;
  color: var(--paruse-ink, #1a1f1c);
}

.paruse-header-sub {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  color: var(--paruse-muted, #5c655e);
  font-weight: 400;
}

.paruse-header-auth {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
  margin-top: 0.45rem;
  margin-left: 0;
}

.paruse-member-label {
  color: var(--paruse-ink, #1a1f1c);
  font-size: 0.92rem;
  font-weight: 600;
}

.paruse-auth-link {
  color: var(--paruse-accent, #1f4b3a);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
}

.paruse-auth-link:hover {
  color: var(--paruse-ink, #1a1f1c);
  text-decoration: underline;
}

.paruse-auth-link--primary {
  border: 1px solid color-mix(in srgb, var(--paruse-accent, #1f4b3a) 55%, transparent);
  border-radius: 0.4rem;
  padding: 0.35rem 0.7rem;
  background: #fff;
}

.paruse-subnav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.1rem;
  padding: 0.75rem 0 0;
  border-bottom: 1px solid var(--paruse-line);
  margin-bottom: 0.25rem;
}

.paruse-subnav .paruse-nav-link {
  color: var(--paruse-muted);
  text-decoration: none;
  font-size: 0.92rem;
  padding-bottom: 0.55rem;
}

.paruse-subnav .paruse-nav-link.is-active,
.paruse-subnav .paruse-nav-link:hover {
  color: var(--paruse-accent);
  box-shadow: inset 0 -2px 0 var(--paruse-accent);
}

.paruse-main {
  width: min(44rem, calc(100% - 2rem));
  margin-inline: auto;
  padding: 1.75rem 0 3rem;
}

.paruse-body--stage .paruse-main {
  width: min(56rem, calc(100% - 2rem));
}

/* Legacy sticky header (pre-foundation) kept for fallback references */
.paruse-header {
  position: sticky;
  top: 0;
  z-index: 10;
  backdrop-filter: blur(10px);
  background: color-mix(in srgb, var(--paruse-bg) 86%, white);
  border-bottom: 1px solid var(--paruse-line);
}

.paruse-card {
  background: var(--paruse-card);
  border: 1px solid var(--paruse-line);
  border-radius: 1rem;
  padding: 1.4rem 1.35rem 1.55rem;
  box-shadow: 0 18px 40px rgba(26, 31, 28, 0.05);
}

.paruse-auth-card {
  max-width: 34rem;
  margin-inline: auto;
}

.paruse-auth-card .paruse-lead { margin-bottom: 1rem; }
.paruse-auth-card .paruse-actions { margin-top: 0.8rem; }

.paruse-progress {
  display: flex;
  gap: 0.35rem;
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
}

.paruse-progress li {
  flex: 1;
  height: 0.28rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--paruse-muted) 22%, transparent);
}

.paruse-progress li.is-done,
.paruse-progress li.is-current {
  background: var(--paruse-accent);
}

.paruse-kicker {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--paruse-muted);
}

.paruse-card h1 {
  margin: 0 0 0.75rem;
  font-family: var(--paruse-serif);
  font-size: clamp(1.75rem, 4vw, 2.35rem);
  line-height: 1.15;
  font-weight: 600;
}

.paruse-shirt-photo {
  width: min(16rem, 72vw);
  height: min(16rem, 72vw);
  object-fit: cover;
  border-radius: 50%;
  display: block;
  margin: 0 auto 1.25rem;
  border: 5px solid #fff;
  box-shadow: 0 12px 32px rgba(38, 25, 20, 0.12);
}

.paruse-shirt-teaser {
  text-align: center;
}

.paruse-owner-note {
  margin: 0 0 1rem;
  padding: 0.85rem 1rem;
  border-left: 3px solid var(--paruse-accent);
  background: var(--paruse-accent-soft);
}

.paruse-heart {
  margin: 0 0 1.25rem;
  padding: 0.95rem 1rem;
  border-left: 3px solid var(--paruse-accent);
  background: var(--paruse-accent-soft);
  font-family: var(--paruse-serif);
  font-size: 1.15rem;
}

.paruse-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1.2rem;
}

.paruse-btn {
  appearance: none;
  border: 0;
  border-radius: 0.5rem;
  background: var(--paruse-accent);
  color: #fff;
  padding: 0.7rem 1.05rem;
  font: inherit;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.paruse-btn:hover { filter: brightness(1.05); }

.paruse-btn-ghost {
  background: transparent;
  color: var(--paruse-accent);
  border: 1px solid color-mix(in srgb, var(--paruse-accent) 55%, transparent);
}

.paruse-camera {
  width: 100%;
  max-width: 22rem;
  margin: 0 auto;
  aspect-ratio: 3 / 4;
  border-radius: 0.85rem;
  overflow: hidden;
  background: #121512;
}

.paruse-camera video,
.paruse-camera img,
.paruse-camera canvas {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.paruse-note {
  margin: 0.75rem 0 0;
  color: var(--paruse-muted);
  font-size: 0.92rem;
}

.paruse-field-grid {
  display: grid;
  gap: 0.85rem;
}

.paruse-signup-journey [data-signup-step] { display:grid; gap:1rem; }
.paruse-signup-journey [data-signup-step][hidden] { display:none; }
.paruse-signup-journey h2 { margin:.1rem 0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.7rem,7vw,2.3rem); }
.paruse-signup-journey .paruse-progress { margin-bottom:.35rem; }
.paruse-auth-card{width:min(100%,34rem);margin:clamp(1rem,5vw,3rem) auto;padding:clamp(1.25rem,5vw,2.25rem);background:#fff;color:#111;border:1px solid #e2e4e8;border-radius:1.25rem;box-shadow:0 18px 55px rgba(15,23,42,.08)}
.paruse-auth-card .paruse-btn{min-height:52px;padding:.8rem 1.2rem;border:1px solid #111;border-radius:999px;background:#111;color:#fff;font-weight:700}
.paruse-auth-card .paruse-btn-ghost{background:#fff;color:#111}
.paruse-auth-card input,.paruse-auth-card select{min-height:52px;border-color:#858b94;color:#111;background:#fff}
.paruse-auth-card .paruse-actions{display:flex;flex-wrap:wrap;gap:.7rem}
.paruse-secondary-form{margin-top:.85rem}
.paruse-notice{padding:.85rem 1rem;border-radius:.8rem;background:#edf8f0;color:#154b2b}
.paruse-complete-list{display:grid;gap:.65rem;margin:1.25rem 0;padding:0;list-style:none}
.paruse-complete-list li::before{content:'✓';display:inline-grid;width:1.5rem;height:1.5rem;margin-right:.55rem;place-items:center;border-radius:50%;background:#111;color:#fff;font-size:.8rem}
@media(max-width:480px){.paruse-main{width:min(100% - 1.25rem,72rem)}.paruse-auth-card{margin:.65rem auto;padding:1.2rem;border-radius:1rem}.paruse-auth-card h1{font-size:clamp(2rem,10vw,2.65rem)}.paruse-auth-card .paruse-btn{width:100%}}
.paruse-consent{margin:.35rem 0;padding:1rem;border:1px solid #d8dbe0;border-radius:.85rem;background:#f7f7f8}.paruse-consent legend{padding:0 .35rem;font-weight:750}.paruse-consent p{margin:.35rem 0 .75rem}.paruse-consent label{display:flex;gap:.55rem;align-items:flex-start}.paruse-consent input[type=checkbox]{width:1.15rem;height:1.15rem;min-height:0;margin:.15rem 0 0}

.paruse-field-grid label {
  display: grid;
  gap: 0.35rem;
  font-size: 0.92rem;
}

.paruse-field-grid input,
.paruse-field-grid select,
.paruse-field-grid textarea {
  width: 100%;
  border: 1px solid var(--paruse-line);
  border-radius: 0.45rem;
  padding: 0.65rem 0.75rem;
  font: inherit;
  background: #fff;
}

.paruse-ok { color: #1f4b3a; }
.paruse-error { color: #8b2e2e; }

.paruse-thumb {
  width: 7rem;
  height: 9rem;
  object-fit: cover;
  border-radius: 0.55rem;
  margin-bottom: 1rem;
}

/* —— Assistant stage (conversation) —— */
.paruse-body--stage .paruse-main {
  width: min(56rem, calc(100% - 2rem));
}

.paruse-stage {
  display: grid;
  gap: 1.75rem 2.25rem;
  align-items: start;
}

@media (min-width: 900px) {
  .paruse-stage {
    grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr);
  }
}

.paruse-stage-presence {
  position: relative;
  text-align: center;
}

.paruse-map-control {
  position: absolute;
  top: 0.9rem;
  right: max(0.9rem, env(safe-area-inset-right));
  z-index: 12;
  display: inline-flex;
  min-width: 4.7rem;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.55rem 0.9rem;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  background: rgba(255, 252, 247, 0.9);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.2);
  color: #151515;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.paruse-map-control:hover,
.paruse-map-control:focus-visible { background: #fff; color: #111; }
.paruse-map-control:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

.paruse-body--map { overflow-x: hidden; background: #edeae4; }
.paruse-body--map .paruse-main { width: 100%; max-width: none; padding: 0; }
.paruse-map-page { position: relative; min-height: calc(100svh - 84px); background: #d9ded8; }
.paruse-map-toolbar {
  position: absolute;
  top: 0.75rem;
  left: max(0.75rem, env(safe-area-inset-left));
  right: max(0.75rem, env(safe-area-inset-right));
  z-index: 500;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  pointer-events: none;
}
.paruse-map-toolbar h1 {
  margin: 0;
  padding: 0.65rem 0.85rem;
  border-radius: 0.8rem;
  background: rgba(255, 252, 247, 0.92);
  box-shadow: 0 4px 18px rgba(0,0,0,0.16);
  font: 600 1rem/1.15 var(--paruse-serif);
  pointer-events: auto;
}
.paruse-map-done {
  display: inline-flex;
  min-width: 3.5rem;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 0.85rem;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  pointer-events: auto;
}
#paruse-discovery-map { width: 100%; height: calc(100svh - 84px); min-height: 34rem; }
.paruse-map-privacy {
  position: absolute;
  right: max(0.75rem, env(safe-area-inset-right));
  bottom: max(0.75rem, env(safe-area-inset-bottom));
  left: max(0.75rem, env(safe-area-inset-left));
  z-index: 500;
  margin: 0 auto;
  max-width: 38rem;
  padding: 0.72rem 0.9rem;
  border-radius: 0.8rem;
  background: rgba(255, 252, 247, 0.94);
  box-shadow: 0 4px 18px rgba(0,0,0,0.16);
  color: #333;
  font-size: 0.78rem;
  line-height: 1.35;
  text-align: center;
}
.paruse-map-marker {
  display: grid;
  width: 2.7rem;
  height: 2.7rem;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #151515;
  box-shadow: 0 3px 12px rgba(0,0,0,0.34);
  color: #fff;
  font-size: 1.05rem;
  font-weight: 800;
}
.paruse-map-marker--ai { background: #6b3fa0; }
.paruse-map-popup { min-width: 9rem; text-align: center; }
.paruse-map-popup strong,
.paruse-map-popup span { display: block; }
.paruse-map-popup span { margin: 0.15rem 0 0.55rem; color: #555; font-size: 0.76rem; }
.paruse-map-popup a { color: #111; font-weight: 800; }

.paruse-portrait-stage {
  margin: 0 auto;
  width: min(100%, 22rem);
}

.paruse-portrait-stage__img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: 1.15rem;
  box-shadow: 0 28px 60px rgba(26, 31, 28, 0.14);
  background: #d9d2c4;
}

.paruse-portrait-stage__placeholder {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 3 / 4;
  border-radius: 1.15rem;
  background: linear-gradient(160deg, #2a4a3c, #1a2e26);
  color: #f3efe6;
  font-family: var(--paruse-serif);
  font-size: 4rem;
}

.paruse-portrait-stage__placeholder--sm {
  max-width: 14rem;
  margin-inline: auto;
  font-size: 2.5rem;
}

.paruse-portrait-stage__name {
  margin: 0.85rem 0 0;
  font-family: var(--paruse-serif);
  font-size: clamp(1.65rem, 3.5vw, 2.1rem);
  font-weight: 600;
}

.paruse-stage-note {
  margin: 0.35rem 0 0;
  color: var(--paruse-muted);
  font-size: 0.9rem;
}

.paruse-actions--centre {
  justify-content: center;
}

.paruse-stage-conversation {
  min-width: 0;
  background: color-mix(in srgb, var(--paruse-card) 92%, transparent);
  border: 1px solid var(--paruse-line);
  border-radius: 1.1rem;
  padding: 1.25rem 1.2rem 1.35rem;
}

.paruse-chat-log {
  display: grid;
  gap: 0.65rem;
  max-height: min(42vh, 22rem);
  overflow-y: auto;
  margin: 0.5rem 0 0.75rem;
  padding-right: 0.25rem;
}

.paruse-chat-bubble {
  max-width: 36rem;
  margin: 0;
  padding: 0.95rem 1.05rem;
  border-radius: 0.85rem;
  background: var(--paruse-accent-soft);
  white-space: pre-line;
  font-family: var(--paruse-serif);
  font-size: 1.12rem;
  line-height: 1.45;
}

.paruse-chat-bubble--greeting {
  margin-bottom: 0.35rem;
  font-size: clamp(1.2rem, 2.5vw, 1.45rem);
  background: transparent;
  padding-left: 0;
  padding-right: 0;
}

.paruse-chat-bubble--user {
  background: #fff;
  border: 1px solid var(--paruse-line);
  justify-self: end;
  font-family: var(--paruse-sans);
  font-size: 1rem;
}

.paruse-chat-form {
  display: grid;
  gap: 0.75rem;
  margin-top: 0.25rem;
}

.paruse-chat-form textarea {
  width: 100%;
  min-height: 4.5rem;
  border-radius: 0.55rem;
  border: 1px solid var(--paruse-line);
  padding: 0.75rem;
  font: inherit;
  resize: vertical;
}

.paruse-portrait-stage__identity {
  display: grid;
  gap: 0.2rem;
}

.paruse-profile-next,
.paruse-profile-previous,
.paruse-profile-deeper {
  color: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  text-transform: uppercase;
}

.paruse-profile-next { display: none; }
.paruse-profile-previous { display: none; }
.paruse-profile-deeper { display: inline-flex; margin-top: 1rem; gap: 0.45rem; }
.paruse-discovery-swipe { margin: 1rem 0 0; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }

@media (max-width: 640px) {
  html,
  body.paruse-body--stage { overflow-x: hidden; }
  .paruse-body--stage { background: #111; }
  .paruse-body--stage .paruse-main {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
  }
  .paruse-body--stage .paruse-stage { display: block; }
  .paruse-stage-presence {
    position: relative;
    min-height: calc(100svh - env(safe-area-inset-top) - 84px);
    overflow: hidden;
    background: #111;
    color: #fff;
    transition: transform 160ms ease, opacity 160ms ease;
    touch-action: pan-y;
  }
  .paruse-stage-presence.is-swiping-left { transform: translateX(-18%); opacity: 0; }
  .paruse-stage-presence.is-swiping-right { transform: translateX(18%); opacity: 0; }
  .paruse-stage-presence--incoming { animation: paruse-profile-in-from-right 220ms ease-out both; }
  .paruse-portrait-stage { width: 100%; height: calc(100svh - env(safe-area-inset-top) - 84px); margin: 0; }
  .paruse-portrait-stage__img,
  .paruse-portrait-stage__placeholder {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    border-radius: 0;
    box-shadow: none;
  }
  .paruse-portrait-stage__img { object-fit: cover; object-position: center top; }
  .paruse-portrait-stage__identity {
    position: absolute;
    right: 1.25rem;
    bottom: max(4.5rem, calc(env(safe-area-inset-bottom) + 3rem));
    left: 1.25rem;
    z-index: 2;
    justify-items: start;
    text-align: left;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.8);
  }
  .paruse-portrait-stage::after {
    content: "";
    position: absolute;
    inset: 48% 0 0;
    pointer-events: none;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.78));
  }
  .paruse-portrait-stage__name { margin: 0; font-size: clamp(2.5rem, 12vw, 4rem); }
  .paruse-stage-note { color: rgba(255, 255, 255, 0.86); }
  .paruse-profile-next,
  .paruse-profile-previous,
  .paruse-profile-deeper { position: absolute; z-index: 3; color: #fff; }
  .paruse-profile-next {
    display: inline-flex;
    top: 1rem;
    right: 1rem;
    gap: 0.45rem;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.9);
  }
  .paruse-profile-previous {
    display: inline-flex;
    top: 1rem;
    left: 1rem;
    gap: 0.45rem;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.9);
  }
  .paruse-profile-deeper {
    right: 1.25rem;
    bottom: max(1.1rem, env(safe-area-inset-bottom));
    left: 1.25rem;
    justify-content: center;
  }
  .paruse-stage-conversation {
    min-height: 100svh;
    border: 0;
    border-radius: 0;
    padding: max(2rem, env(safe-area-inset-top)) 1rem max(2rem, env(safe-area-inset-bottom));
    background: #f3f2ef;
    color: var(--paruse-ink);
  }
  .paruse-stage-profile {
    min-height: 100svh;
    padding: max(1rem, env(safe-area-inset-top)) 0 max(1rem, env(safe-area-inset-bottom));
    background: #f3f2ef;
    color: var(--paruse-ink);
  }
  .paruse-stage-profile .paruse-member-card { margin: 0; }
  .paruse-chat-log { max-height: none; overflow: visible; }
  .paruse-chat-form textarea { min-height: 7rem; font-size: 16px; }
}

.paruse-ai-identity-note { margin: 1.25rem 0; padding: 1rem; border: 1px solid var(--paruse-line); border-radius: 0.8rem; background: #fff; }
.paruse-ai-identity-note h2 { margin: 0 0 0.35rem; font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; }
.paruse-ai-identity-note p { margin: 0.35rem 0; }

@keyframes paruse-profile-in-from-right {
  from { transform: translateX(18%); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

/* —— Change Look —— */
.paruse-look {
  background: var(--paruse-card);
  border: 1px solid var(--paruse-line);
  border-radius: 1.1rem;
  padding: 1.4rem 1.35rem 1.6rem;
}

.paruse-look-identity {
  margin: 0 auto 1.25rem;
  max-width: 36rem;
  text-align: center;
}

.paruse-look-title {
  margin: 0 0 0.75rem;
  font-family: var(--paruse-serif);
  font-size: clamp(1.65rem, 3.5vw, 2.15rem);
}

.paruse-look-compare {
  display: grid;
  gap: 1rem;
  margin: 1.25rem 0 1.5rem;
}

@media (min-width: 700px) {
  .paruse-look-compare {
    grid-template-columns: 1fr 1fr;
  }
}

.paruse-look-panel {
  margin: 0;
  text-align: center;
}

.paruse-look-panel figcaption {
  margin-bottom: 0.5rem;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--paruse-muted);
}

.paruse-look-panel img {
  width: 100%;
  max-width: 18rem;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: 0.9rem;
  box-shadow: 0 16px 36px rgba(26, 31, 28, 0.1);
}

.paruse-look-form {
  margin-bottom: 1rem;
}

@media (min-width: 700px) {
  .paruse-look-form {
    grid-template-columns: 1fr 1fr;
  }
  .paruse-look-span {
    grid-column: 1 / -1;
  }
}

.paruse-footer {
  border-top: 1px solid var(--paruse-line);
  padding: 1.5rem 0 2rem;
}

.paruse-footer-heart {
  margin: 0 0 0.35rem;
  font-family: var(--paruse-serif);
}

.paruse-footer-meta {
  margin: 0;
  color: var(--paruse-muted);
  font-size: 0.88rem;
}

@media (max-width: 640px) {
  .paruse-brand-header {
    flex-direction: row;
    align-items: flex-start;
  }
  .paruse-header-auth {
    margin-left: 0;
  }
}
.paruse-gate,.paruse-member-card,.paruse-qr-card{max-width:48rem;margin:1.5rem auto;background:#fff;border:1px solid var(--paruse-line);border-radius:1.4rem;overflow:hidden;box-shadow:0 18px 55px rgba(38,25,20,.08)}
.paruse-gate,.paruse-qr-card,.paruse-member-content{padding:clamp(1.25rem,5vw,3rem)}
.paruse-gate h1,.paruse-member-card h1,.paruse-qr-card h1{font-family:var(--paruse-serif);font-size:clamp(2rem,8vw,4.25rem);line-height:1;margin:.25rem 0 1rem}
.paruse-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.paruse-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.1rem;border:0;border-radius:999px;background:#181413;color:#fff;text-decoration:none;font:700 1rem var(--paruse-sans);cursor:pointer}.paruse-btn--ghost{background:#eee8e4;color:#181413}
.paruse-member-cover{width:100%;height:clamp(12rem,38vw,24rem);object-fit:cover}.paruse-member-photo{width:8rem;height:8rem;border-radius:50%;object-fit:cover;border:5px solid #fff;margin-top:-6rem;position:relative}.paruse-member-card section{border-top:1px solid var(--paruse-line);padding-top:1rem;margin-top:1rem}.paruse-member-card h2{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.paruse-qr{text-align:center;margin:1.5rem auto;max-width:22rem}.paruse-qr svg{width:100%;height:auto;background:#fff}.paruse-qr-link{overflow-wrap:anywhere}
@media(max-width:430px){.paruse-gate,.paruse-member-card,.paruse-qr-card{margin:.75rem 0;border-radius:1rem}.paruse-actions{display:grid}.paruse-btn{width:100%}.paruse-subnav{overflow-x:auto;white-space:nowrap}}

.paruse-choice-grid{display:grid;gap:.8rem;margin:1.5rem 0}.paruse-choice{width:100%;min-height:5rem;padding:1rem;text-align:left;border:1px solid var(--paruse-line);border-radius:1rem;background:#fff;color:var(--paruse-ink);text-decoration:none;font:inherit;cursor:pointer}.paruse-choice strong,.paruse-choice span{display:block}.paruse-choice span{margin-top:.25rem;color:var(--paruse-muted)}.paruse-builder textarea{min-height:6rem}.paruse-introduction{max-width:42rem;margin-inline:auto}.paruse-discovery-page{padding-bottom:env(safe-area-inset-bottom)}
.paruse-concierge{max-width:64rem;margin-inline:auto}.paruse-concierge-grid{display:grid;gap:clamp(1.25rem,4vw,3rem);align-items:center}.paruse-concierge-portrait{display:block;width:100%;max-width:25rem;margin-inline:auto;aspect-ratio:1068/1280;object-fit:cover;border-radius:1.4rem;box-shadow:0 24px 60px rgba(30,64,175,.16)}.paruse-ai-label{margin:.75rem 0 0;text-align:center;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--paruse-accent)}.paruse-concierge-copy h1{font-size:clamp(2.2rem,5vw,4.4rem)}.paruse-concierge-actions{grid-template-columns:1fr}.paruse-concierge-actions .paruse-choice{appearance:none}
.paruse-live-photo{position:relative;overflow:hidden;border-radius:1.25rem}.paruse-live-photo .paruse-member-photo{display:block;width:100%;max-width:none;margin:0;border-radius:0}.paruse-live-photo::after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.58));pointer-events:none}.paruse-live-prompt{position:absolute;z-index:2;left:50%;bottom:clamp(18px,5vw,42px);transform:translateX(-50%);width:min(88%,340px);padding:14px 16px;border-radius:16px;background:rgba(8,8,10,.34);color:#fff;text-align:center;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.paruse-live-prompt p{margin:0 0 10px;font-size:1rem;font-weight:700}.paruse-live-prompt>div{display:flex;justify-content:center;gap:9px}.paruse-live-choice{min-width:90px;border:1px solid #fff;border-radius:999px;padding:9px 18px;background:#fff;color:#111;font:800 .78rem/1 inherit;text-decoration:none;cursor:pointer}.paruse-live-prompt span{display:block;min-height:1em;margin-top:8px;font-size:.72rem;color:rgba(255,255,255,.84)}
@media(min-width:800px){.paruse-concierge-grid{grid-template-columns:minmax(17rem,25rem) 1fr}}
@media(min-width:700px){.paruse-choice-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:430px){.paruse-main{width:min(100% - 1rem,44rem);padding-top:.75rem}.paruse-card{padding:1.1rem .95rem}.paruse-discovery-photo{min-height:62svh}.paruse-interest{padding:1rem max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}}

/* Phase 1 paid entry + one-person discovery. */
.paruse-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin:1.5rem 0}.paruse-plan{border:1px solid var(--paruse-line);border-radius:1rem;padding:1.25rem;background:#fff}.paruse-plan-price{font-size:1.35rem;font-weight:800}.paruse-discovery-page .paruse-main{max-width:none;padding:0}.paruse-discovery{min-height:calc(100svh - 12rem);background:#07101f;color:#fff}.paruse-discovery-photo{min-height:clamp(32rem,72svh,60rem);background-position:center;background-size:cover;position:relative;display:flex;align-items:flex-end}.paruse-discovery-shade{width:100%;padding:clamp(1.5rem,5vw,5rem);background:linear-gradient(transparent,rgba(2,6,23,.9))}.paruse-discovery-shade h1{font-size:clamp(2.5rem,8vw,6rem);margin:.25rem 0}.paruse-discovery-about{max-width:42rem;font-size:1.1rem}.paruse-interest{max-width:50rem;margin:auto;padding:1.5rem}.paruse-interest label{display:flex;justify-content:space-between;font-weight:800;font-size:1.1rem}.paruse-interest output{font-size:2rem}.paruse-interest input[type=range]{width:100%;accent-color:#60a5fa}.paruse-scale{display:flex;justify-content:space-between;font-size:.82rem}.paruse-interest .paruse-note{color:#dbeafe}
/* Sophie welcome video — explicit controls, no autoplay, mobile-first. */
.paruse-welcome-video{max-width:920px;margin:24px auto 36px;padding:clamp(18px,4vw,34px);background:#fff;border:1px solid #dbe4f0;border-radius:22px;box-shadow:0 18px 48px rgba(15,23,42,.12)}
.paruse-welcome-video-copy h1{margin:.25rem 0 .6rem;color:#0f172a;font-size:clamp(1.6rem,5vw,2.5rem)}
.paruse-welcome-video-copy p{color:#475569;line-height:1.6}.paruse-eyebrow{margin:0!important;color:#1e40af!important;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
.paruse-video-frame{overflow:hidden;margin-top:18px;border-radius:16px;background:#020617;aspect-ratio:16/9}.paruse-video-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#020617}
.paruse-video-controls{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.paruse-video-controls button{min-height:44px;padding:9px 15px;border:1px solid #1e40af;border-radius:999px;background:#fff;color:#1e40af;font:inherit;font-weight:750;cursor:pointer}.paruse-video-controls button:focus-visible,.paruse-video-dismiss input:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}.paruse-video-controls button:disabled{opacity:.45;cursor:default}
.paruse-video-dismiss{display:flex;align-items:center;gap:9px;margin-top:18px;color:#0f172a;font-weight:700}.paruse-video-dismiss input{width:20px;height:20px}.paruse-video-status{min-height:1.4em;color:#9f1239}.paruse-video-transcript{margin-top:8px;padding:14px 16px;border-radius:12px;background:#f8fafc;color:#334155}.paruse-video-transcript summary{cursor:pointer;font-weight:800;color:#1e3a8a}.paruse-video-transcript p{margin:.75rem 0 0;line-height:1.6}
@media(max-width:600px){.paruse-welcome-video{margin:14px 0 28px;border-radius:16px;padding:16px}.paruse-video-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.paruse-video-controls button{width:100%;padding-inline:8px}.paruse-video-controls button:last-child{grid-column:1/-1}.paruse-video-frame{border-radius:12px}}

/* Using Paruse — full-screen Sophie on phones, guidance below. */
.paruse-body--using .paruse-main{width:100%;max-width:none;padding:0}.paruse-using{background:#f7f8fb}.paruse-using-video{background:#020617}.paruse-using-media{position:relative;background:#020617}.paruse-using-media video{display:block;width:100%;height:min(78vh,820px);object-fit:contain;background:#020617}.paruse-using-overlay{padding:clamp(1.2rem,4vw,2.5rem);color:#0f172a;background:#fff}.paruse-using-overlay p{margin:.25rem auto;max-width:920px}.paruse-using-overlay h1{width:min(100%,920px);margin:.25rem auto;font-size:clamp(1.7rem,5vw,3.5rem)}.paruse-using-controls{position:absolute;left:0;right:0;bottom:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;padding:1rem;background:linear-gradient(transparent,rgba(2,6,23,.9))}.paruse-using-controls button{min-height:44px;padding:.6rem 1rem;border:1px solid rgba(255,255,255,.8);border-radius:999px;background:rgba(2,6,23,.72);color:#fff;font:700 .9rem var(--paruse-sans)}.paruse-using-controls button:disabled{opacity:.48}.paruse-using-ask{width:min(100% - 2rem,760px);margin:auto;padding:clamp(2rem,6vw,4rem) 0}.paruse-using-ask h2{font-size:clamp(1.8rem,5vw,3rem);margin:.25rem 0}.paruse-using-ask form{display:grid;gap:.75rem;margin-top:1.25rem}.paruse-using-ask textarea{width:100%;border:1px solid #b8c3d3;border-radius:1rem;padding:1rem;font:inherit;resize:vertical}.paruse-using-log{display:grid;gap:.75rem;margin-top:1.25rem}.paruse-using-bubble{max-width:88%;margin:0;padding:.85rem 1rem;border-radius:1rem;background:#fff;box-shadow:0 8px 28px rgba(15,23,42,.08);white-space:pre-line}.paruse-using-bubble.is-member{justify-self:end;background:#1e40af;color:#fff}.paruse-using-bubble.is-sophie{justify-self:start;border:1px solid #dbe4f0}
@media(max-width:600px){.paruse-using-media,.paruse-using-media video{height:calc(100svh - 74px);min-height:calc(100svh - 74px)}.paruse-using-media video{object-fit:contain}.paruse-using-overlay{padding:max(1rem,env(safe-area-inset-top)) 1rem 1.15rem}.paruse-using-controls{padding:3rem .75rem max(.75rem,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,1fr)}.paruse-using-controls button{padding:.55rem .4rem}.paruse-using-controls button:nth-child(n+4){grid-column:span 1}.paruse-using-ask{width:min(100% - 1.5rem,760px)}}

@media(max-width:640px){.paruse-site-header{padding-top:env(safe-area-inset-top)}.paruse-body--foundation .paruse-brand-header.brand-header{padding:.45rem max(.65rem,env(safe-area-inset-right)) .45rem max(.65rem,env(safe-area-inset-left))}.paruse-menu{position:fixed;top:calc(env(safe-area-inset-top) + 72px);left:max(.65rem,env(safe-area-inset-left));right:max(.65rem,env(safe-area-inset-right));width:auto;max-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 82px);overflow-y:auto}.paruse-body--landing .paruse-site-header{position:absolute;left:0;right:0;background:linear-gradient(rgba(9,6,4,.62),transparent);border:0}.paruse-body--landing .paruse-menu-toggle{background:rgba(255,252,247,.92)}}

/* Frictionless signup and photo-first profile creation. */
.paruse-age-confirm{display:flex!important;align-items:flex-start;gap:.7rem;padding:.9rem 1rem;border:2px solid #111;border-radius:.85rem;font-weight:750}.paruse-age-confirm input{width:1.25rem;min-height:1.25rem;margin:.1rem 0 0}.paruse-photo-first{max-width:62rem;margin-inline:auto}.paruse-add-photo{display:grid;place-items:center;gap:.35rem;min-height:9rem;padding:1.5rem;border:3px solid #111;border-radius:1.1rem;background:#111;color:#fff;text-align:center;cursor:pointer}.paruse-add-photo span{font-size:clamp(1.25rem,5vw,2rem);font-weight:900;letter-spacing:.02em}.paruse-add-photo small{font-size:.95rem}.paruse-add-photo input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}#studio-upload-progress{width:100%;height:1rem;margin-top:1rem;accent-color:#111}.paruse-studio-dialog{width:min(92vw,38rem);max-height:90vh;padding:clamp(1rem,4vw,2rem);border:0;border-radius:1.25rem;box-shadow:0 24px 90px rgba(0,0,0,.3)}.paruse-studio-dialog::backdrop{background:rgba(0,0,0,.7)}.paruse-dialog-close{float:right;border:0;background:transparent;font-size:2rem;cursor:pointer}.paruse-crop-frame{overflow:hidden;width:min(100%,24rem);aspect-ratio:4/5;margin:1rem auto;background:#111}.paruse-crop-frame img{width:100%;height:100%;object-fit:cover;transform-origin:center}.paruse-studio-dialog label{display:grid;gap:.25rem;margin:.8rem 0;font-weight:750}.paruse-studio-dialog input[type=range]{width:100%;accent-color:#111}.paruse-consent-disclosure{padding:1rem;border:1px solid #9ca3af;border-radius:.8rem;background:#f6f7f8}.paruse-compare{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.paruse-compare figure{margin:0}.paruse-compare img{width:100%;aspect-ratio:4/5;object-fit:cover}.paruse-compare figcaption{text-align:center;font-weight:800}.paruse-photo-actions button{min-height:44px}.paruse-studio-notice:not(:empty){position:sticky;top:.5rem;z-index:5;padding:.8rem 1rem;border-radius:.8rem;background:#e8f7ed;color:#153e24}.paruse-studio-notice.is-error{background:#fee2e2;color:#7f1d1d}
@media(max-width:600px){.paruse-add-photo{min-height:8rem}.paruse-photo-actions{display:grid;grid-template-columns:1fr 1fr}.paruse-photo-actions button{width:100%}.paruse-studio-dialog{width:calc(100% - 1rem);padding:1rem}.paruse-compare{gap:.35rem}}
.paruse-preference-form{display:grid;gap:1.25rem}.paruse-preference-form fieldset{border:1px solid #d7d7d7;border-radius:1rem;padding:1rem;display:grid;gap:.85rem}.paruse-preference-form legend{font-weight:800;padding:0 .4rem}.paruse-preference-form label{display:grid;gap:.35rem;font-weight:650}.paruse-preference-form input,.paruse-preference-form select{min-height:3rem;border:1px solid #767676;border-radius:.65rem;background:#fff;color:#111;padding:.65rem;font:inherit}.paruse-preference-form .paruse-check{display:flex;align-items:center;gap:.65rem;min-height:2.75rem}.paruse-preference-form .paruse-check input{min-height:1.35rem;width:1.35rem;margin:0}

/* Sophia's Morning Whisper — quiet, premium, mobile-first. */
.paruse-signup-logo{display:block;width:132px;height:auto;margin:0 auto 1.5rem;object-fit:contain}.paruse-whisper-invitation{display:grid;gap:1rem;padding:1.1rem;border:1px solid #d8d1ca;border-radius:1.1rem;background:linear-gradient(145deg,#fff,#f3efeb)}.paruse-consent-choice{display:flex!important;align-items:flex-start;gap:.75rem;line-height:1.45}.paruse-consent-choice input{flex:0 0 auto;width:1.3rem;min-height:1.3rem;margin:.15rem 0 0}.paruse-whisper-card{max-width:42rem;margin-inline:auto;background:#fcfbf9;color:#171513}.paruse-whisper-brand{display:flex;align-items:center;justify-content:center;gap:1.1rem;margin-bottom:1.25rem}.paruse-whisper-brand>img:first-child{width:120px;height:auto;object-fit:contain}.paruse-whisper-portrait{width:84px;height:84px;object-fit:cover;object-position:center top;border-radius:50%;border:1px solid #d8d1ca;filter:grayscale(8%)}.paruse-whisper-card form select,.paruse-whisper-card form input[type=time]{width:100%;min-height:48px;padding:.7rem;border:1px solid #777;border-radius:.7rem;background:#fff;font:inherit}.paruse-link-button{border:0;background:transparent;color:#5f2424;text-decoration:underline;font:inherit;cursor:pointer;min-height:44px}
@media(max-width:430px){.paruse-whisper-brand{gap:.7rem}.paruse-whisper-brand>img:first-child{width:105px}.paruse-whisper-portrait{width:72px;height:72px}}

/* The shared trust footer may expose infrastructure channel/provider labels.
   Paruse keeps the operator verification badge but not internal engine branding. */
.paruse-body .istockhomes-verified-footer__channel,
.paruse-body .istockhomes-verified-footer__powered{display:none!important}
.paruse-body .istockhomes-verified-footer{background:#fff;color:#000;border-top:1px solid #d4d4d4}
.paruse-body .istockhomes-verified-footer__badge-image{filter:grayscale(1)}
.paruse-participation-status{margin:1.25rem 0;padding:clamp(1rem,4vw,1.5rem);border:1px solid var(--paruse-line);border-radius:1rem;background:#f8fafc}.paruse-readiness-list{display:grid;gap:.65rem;margin:1rem 0;padding:0;list-style:none}.paruse-readiness-list li{padding:.8rem .9rem;border-left:5px solid #b45309;border-radius:.55rem;background:#fff;line-height:1.4}.paruse-readiness-list li.is-complete{border-left-color:#15803d}.paruse-readiness-list li.is-required strong{color:#92400e}.paruse-readiness-list li.is-complete strong{color:#166534}@media(max-width:430px){.paruse-participation-status{margin-inline:-.2rem;padding:.9rem}.paruse-readiness-list li{padding:.75rem;font-size:.95rem}}
.paruse-studio-dialog.paruse-dialog-fallback[open]{position:fixed;inset:5vh auto auto 50%;z-index:1000;display:block;transform:translateX(-50%);background:#fff}
