/* Founder-directed luminous brand layer.
   Presentation only: no auth, SMS, schema, finder, privacy, or retention behavior changes.
   This layer is intentionally bundled into v05.css so the production browser receives it
   through an already-authorized static asset route. */

:root{color-scheme:light dark}

@media(prefers-color-scheme:light){
  html,html[data-theme="light"],html[data-theme="dark"]{
    --bg:#f7faff!important;
    --surface:#ffffff!important;
    --surface-2:#eef4ff!important;
    --surface-3:#e7efff!important;
    --text:#091a37!important;
    --muted:#536784!important;
    --line:rgba(39,72,125,.16)!important;
    --accent:#00bd87!important;
    --accent-2:#5267ff!important;
    --danger:#e53d52!important;
    --warning:#7b4dff!important;
    --shadow:0 24px 70px rgba(38,70,123,.14)!important;
  }
}

@media(prefers-color-scheme:dark){
  html,html[data-theme="light"],html[data-theme="dark"]{
    --bg:#06101f!important;
    --surface:#0b1728!important;
    --surface-2:#102039!important;
    --surface-3:#142743!important;
    --text:#f5f8ff!important;
    --muted:#9db0cb!important;
    --line:rgba(151,182,231,.17)!important;
    --accent:#36e2a8!important;
    --accent-2:#7185ff!important;
    --danger:#ff6575!important;
    --warning:#a985ff!important;
    --shadow:0 28px 80px rgba(0,0,0,.34)!important;
  }
}

/* NexoProof is the master brand, not a small sponsor mark. */
.guided-topbar{min-height:142px!important;padding-top:16px!important;padding-bottom:16px!important}
.public-topbar{min-height:118px!important;padding-top:14px!important;padding-bottom:14px!important}
.guided-topbar .brand-lockup{gap:28px!important;align-items:center!important}
.public-topbar .brand-lockup{gap:24px!important;align-items:center!important}
.guided-topbar .brand-logo{width:460px!important;max-height:112px!important}
.public-topbar .brand-logo{width:320px!important;max-height:86px!important}
.guided-topbar .product-name,.public-topbar .product-name{font-size:1.08rem!important;font-weight:900!important;color:var(--text)!important;letter-spacing:-.018em!important}
.guided-topbar .product-name::after{font-size:.76rem!important;max-width:470px!important;line-height:1.4!important;color:var(--muted)!important}

/* Lively accent typography: vivid enough to notice, restrained enough to trust. */
.guided-wrap .eyebrow,.public-section>.eyebrow,.step-heading .eyebrow,.section-title-row .eyebrow,.setup-complete .eyebrow{color:#5d4aff!important;text-shadow:0 5px 18px rgba(80,82,255,.12)}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
  .guided-wrap .eyebrow,.public-section>.eyebrow,.step-heading .eyebrow,.section-title-row .eyebrow,.setup-complete .eyebrow{
    background:linear-gradient(90deg,#7447ff 0%,#2568ff 42%,#00b99a 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent!important;
  }
}

@media(prefers-color-scheme:dark){
  .guided-wrap .eyebrow,.public-section>.eyebrow,.step-heading .eyebrow,.section-title-row .eyebrow,.setup-complete .eyebrow{color:#9c8cff!important}
  @supports ((background-clip:text) or (-webkit-background-clip:text)){
    .guided-wrap .eyebrow,.public-section>.eyebrow,.step-heading .eyebrow,.section-title-row .eyebrow,.setup-complete .eyebrow{
      background:linear-gradient(90deg,#b580ff 0%,#6ba8ff 45%,#53efbd 100%);
      -webkit-background-clip:text;
      background-clip:text;
      color:transparent!important;
    }
  }
}

/* Luminous, premium interactive accents. */
.save-button,.upload-button,.public-nav .nav-cta{
  background:linear-gradient(135deg,#7b3cff 0%,#3b5fff 42%,#00d2d5 76%,#24dba7 100%)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 13px 32px rgba(76,74,255,.30),0 0 0 1px rgba(255,255,255,.18) inset!important;
  text-shadow:0 1px 0 rgba(0,0,0,.12)
}
.save-button:hover,.public-nav .nav-cta:hover{filter:brightness(1.08) saturate(1.12)!important;transform:translateY(-1px)}
.progress-step.active{border-color:#6c58ff!important;background:linear-gradient(135deg,rgba(123,60,255,.15),rgba(0,210,213,.10))!important;box-shadow:0 0 0 2px rgba(108,88,255,.15),0 11px 30px rgba(76,74,255,.14)!important}
.progress-step.active>span{background:linear-gradient(135deg,#7b3cff,#366cff 55%,#00cbd7)!important;color:#fff!important;box-shadow:0 8px 22px rgba(80,86,255,.34)!important}
.progress-step.complete>span{background:linear-gradient(135deg,#00c98f,#55edb7)!important;color:#05271d!important;box-shadow:0 8px 22px rgba(16,200,143,.28)!important}
.progress-step.active strong{color:var(--text)!important}

.message.warning{
  position:relative;
  background:linear-gradient(135deg,rgba(123,60,255,.15),rgba(0,204,230,.11) 58%,rgba(36,219,167,.08))!important;
  border:1px solid rgba(123,60,255,.48)!important;
  border-left:4px solid #7b3cff!important;
  color:var(--text)!important;
  box-shadow:0 11px 32px rgba(96,72,235,.13),0 0 0 1px rgba(255,255,255,.20) inset!important
}
.message.error{
  background:linear-gradient(135deg,rgba(229,61,82,.13),rgba(255,111,125,.08))!important;
  border:1px solid rgba(229,61,82,.42)!important;
  border-left:4px solid #e53d52!important;
  color:var(--text)!important
}

/* Home hero is deliberately video-ready. A future muted/looping reunion film can replace
   .hero-film-stage without changing copy, CTAs, or layout. */
.hero.home-hero{
  position:relative!important;
  isolation:isolate;
  overflow:hidden;
  width:100%!important;
  max-width:none!important;
  min-height:calc(100svh - 118px);
  margin:0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  align-items:center!important;
  background:linear-gradient(145deg,#07142c 0%,#101d44 44%,#0a2035 100%)!important
}
.hero-film-stage{position:absolute;inset:0;z-index:-3;overflow:hidden;background:linear-gradient(135deg,#07142c 0%,#16245b 48%,#09314b 100%)}
.hero-film-stage::before,.hero-film-stage::after{content:"";position:absolute;border-radius:50%;filter:blur(12px);opacity:.94}
.hero-film-stage::before{width:52vw;height:52vw;min-width:620px;min-height:620px;right:-12vw;top:-20vw;background:radial-gradient(circle,#684bff 0%,rgba(104,75,255,.32) 35%,transparent 70%)}
.hero-film-stage::after{width:42vw;height:42vw;min-width:500px;min-height:500px;left:-10vw;bottom:-20vw;background:radial-gradient(circle,#12e0b2 0%,rgba(18,224,178,.23) 35%,transparent 70%)}
.hero-film-orbit{position:absolute;inset:14% 8%;border:1px solid rgba(255,255,255,.14);border-radius:48% 52% 46% 54%;transform:rotate(-8deg);box-shadow:0 0 140px rgba(86,78,255,.25) inset}
.hero-film-orbit::before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#59f2c4;left:18%;top:10%;box-shadow:0 0 30px #59f2c4,0 0 88px rgba(89,242,196,.72)}
.hero-scrim{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(3,10,24,.88) 0%,rgba(3,10,24,.70) 46%,rgba(3,10,24,.24) 100%)}
.home-hero-inner{width:min(1220px,calc(100% - 56px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr);gap:54px;align-items:center;padding:76px 0 68px}
.home-hero-copy{max-width:830px;color:#fff}
.home-hero-copy .eyebrow{color:#a99bff!important}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
  .home-hero-copy .eyebrow{background:linear-gradient(90deg,#bd85ff,#75b0ff,#5af1c1);-webkit-background-clip:text;background-clip:text;color:transparent!important}
}
.home-hero-copy h1{font-size:clamp(3.2rem,6.6vw,6.4rem)!important;line-height:.92!important;letter-spacing:-.055em!important;max-width:900px!important;color:#fff!important;text-wrap:balance}
.home-hero-copy .lead{font-size:clamp(1.08rem,1.6vw,1.35rem)!important;line-height:1.55!important;max-width:760px!important;color:#d9e6fb!important}
.home-hero .secondary-action{border-color:rgba(255,255,255,.44)!important;color:#fff!important;background:rgba(255,255,255,.075)!important;backdrop-filter:blur(10px)}
.home-hero .secondary-action:hover{background:rgba(255,255,255,.14)!important}
.home-hero .trust-line{color:#bfd0e9!important;font-size:.84rem!important;letter-spacing:.01em!important}
.home-flow-card{background:rgba(8,19,40,.58)!important;border:1px solid rgba(255,255,255,.18)!important;backdrop-filter:blur(18px);box-shadow:0 28px 80px rgba(0,0,0,.28)!important;color:#fff}
.home-flow-card .hero-step{background:linear-gradient(135deg,#7b3cff,#416aff 55%,#00cbd7)!important;color:#fff!important;box-shadow:0 9px 26px rgba(72,79,255,.34)}
.home-flow-card small{color:#b9cbe5!important}
.hero-proof-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hero-proof-row span{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#e0e9f8;font-size:.76rem;font-weight:750;backdrop-filter:blur(8px)}
.hero-proof-row span::before{content:"";width:7px;height:7px;border-radius:50%;background:#55f0be;box-shadow:0 0 15px rgba(85,240,190,.95)}

.reassurance-strip{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px!important;padding:28px 0 56px!important}
.reassurance-strip article{padding:22px!important;border-radius:20px!important;border:1px solid var(--line)!important;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 96%,transparent),color-mix(in srgb,var(--accent-2) 4%,var(--surface)))!important;box-shadow:0 14px 38px rgba(54,88,145,.08)!important}
.reassurance-strip strong{display:block;font-size:1.02rem;color:var(--text)}
.reassurance-strip p{margin:7px 0 0;color:var(--muted);line-height:1.5;font-size:.9rem}

@media(max-width:1120px){
  .guided-topbar .brand-logo{width:380px!important;max-height:96px!important}
  .public-topbar .brand-logo{width:265px!important;max-height:72px!important}
  .guided-topbar .brand-lockup{gap:22px!important}
  .public-topbar .brand-lockup{gap:18px!important}
}

@media(max-width:900px){
  .guided-topbar .brand-logo{width:300px!important;max-height:78px!important}
  .public-topbar .brand-logo{width:220px!important;max-height:60px!important}
  .home-hero-inner{grid-template-columns:1fr;width:min(100% - 32px,760px);padding:54px 0 48px}
  .home-flow-card{max-width:560px}
  .reassurance-strip{grid-template-columns:1fr!important}
  .hero-scrim{background:linear-gradient(180deg,rgba(3,10,24,.82),rgba(3,10,24,.64))}
}

@media(max-width:560px){
  .guided-topbar{min-height:96px!important}
  .public-topbar{min-height:88px!important}
  .guided-topbar .brand-logo{width:205px!important;max-height:58px!important}
  .public-topbar .brand-logo{width:190px!important;max-height:54px!important}
  .guided-topbar .product-name::after{display:none!important}
  .home-hero-inner{width:min(100% - 24px,720px);padding-top:42px}
  .home-hero-copy h1{font-size:clamp(2.8rem,15vw,4.5rem)!important}
}

/* Existing V0.5 component rules. */
.metric-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.single-action {
  grid-template-columns: 1fr;
}

.message-config-card,
.photo-config-card {
  display: grid;
  gap: 14px;
}

.card-copy {
  margin: 8px 0 2px;
  color: var(--muted);
  line-height: 1.5;
  max-width: 760px;
}

.field-label {
  color: #dce6f3;
  font-size: .82rem;
  font-weight: 750;
  margin-top: 4px;
}

.form-control {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,.035);
  color: var(--text);
  padding: 12px 14px;
  font: inherit;
}

.form-control:focus {
  outline: 3px solid rgba(124,168,255,.35);
  border-color: rgba(124,168,255,.55);
}

.form-control option {
  background: var(--surface);
  color: var(--text);
}

.message-editor {
  min-height: 126px;
  resize: vertical;
  line-height: 1.5;
}

.field-footer {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: #8091a7;
  font-size: .76rem;
}

.save-button,
.upload-button {
  width: fit-content;
  border: 0;
  border-radius: 12px;
  padding: 11px 15px;
  background: var(--accent-2);
  color: #081426;
  font-weight: 800;
  cursor: pointer;
}

.choice-fieldset {
  margin: 4px 0 0;
  padding: 0;
  border: 0;
}

.choice-fieldset legend {
  color: #f2f6fb;
  font-weight: 800;
  margin-bottom: 10px;
}

.choice-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.choice-card {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px;
  background: rgba(255,255,255,.025);
  cursor: pointer;
}

.choice-card:has(input:checked) {
  border-color: rgba(124,168,255,.55);
  background: rgba(124,168,255,.08);
}

.choice-card input {
  margin-top: 3px;
}

.choice-card strong,
.choice-card small {
  display: block;
}

.choice-card small {
  color: var(--muted);
  margin-top: 3px;
  line-height: 1.35;
}

.privacy-inline {
  color: #8091a7;
  font-size: .76rem;
  line-height: 1.45;
  margin: 9px 0 0;
}

.photo-editor-row {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 4px;
}

.guardian-photo-preview {
  width: 92px;
  height: 92px;
  flex: 0 0 92px;
  border-radius: 24px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #263f62, #1b304d);
  border: 1px solid rgba(255,255,255,.12);
  color: #cfe1ff;
  font-size: 2rem;
  font-weight: 800;
}

.guardian-photo-preview img,
.profile-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.guardian-photo-preview img:not([hidden]),
.profile-photo img:not([hidden]) {
  display: block;
}

.guardian-photo-preview img[hidden],
.profile-photo img[hidden] {
  display: none;
}

.photo-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.photo-controls small {
  flex-basis: 100%;
  color: #8091a7;
  line-height: 1.4;
}

.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;
}

.event-map-link {
  display: inline-block;
  margin-top: 6px;
  color: #a8c7ff;
  font-size: .82rem;
  font-weight: 750;
  text-decoration: none;
}

.event-map-link:hover {
  text-decoration: underline;
}

@media (max-width: 760px) {
  .metric-grid,
  .choice-row {
    grid-template-columns: 1fr;
  }

  .field-footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .save-button {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .photo-editor-row {
    align-items: flex-start;
  }

  .photo-controls {
    align-items: stretch;
    flex-direction: column;
    flex: 1;
  }

  .upload-button,
  .photo-controls .quiet-button {
    width: 100%;
    text-align: center;
  }
}
