html{scrollbar-gutter:stable;}

body[data-page-mode] .topbar{
  min-height:68px!important;
  padding:12px 0 2px!important;
}

body[data-page-mode] .brand{
  left:0!important;
  top:14px!important;
  transform:none!important;
  justify-content:flex-start!important;
}

body[data-page-mode] .brand-wordmark{
  font-size:40px!important;
  line-height:.94!important;
}

body[data-page-mode] .lang{
  margin-left:auto!important;
}

body[data-page-mode] .hero{
  display:block!important;
  width:100%!important;
  max-width:1120px!important;
  margin:0 auto!important;
  padding:4px 0 24px!important;
  text-align:center!important;
}

body[data-page-mode] .hero>div:first-child{
  display:grid!important;
  grid-template-rows:auto auto auto auto!important;
  align-items:center!important;
  justify-items:center!important;
  width:100%!important;
  max-width:920px!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:0!important;
}

body[data-page-mode] .hero .eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-height:30px!important;
  margin:0 auto 4px!important;
  padding:5px 13px!important;
  font-size:10.5px!important;
  line-height:1.15!important;
  letter-spacing:.11em!important;
}

body[data-page-mode] .hero h1,
body[data-page-mode="personal"] .hero h1,
body[data-page-mode="relationship"] .hero h1{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:820px!important;
  min-height:70px!important;
  margin:0 auto 3px!important;
  padding:0!important;
  font-size:clamp(42px,4.8vw,58px)!important;
  line-height:1.06!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
  text-align:center!important;
}

html:lang(zh-CN) body[data-page-mode] .hero h1,
html:lang(zh) body[data-page-mode] .hero h1{
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif!important;
  font-weight:700!important;
  letter-spacing:.025em!important;
  line-height:1.10!important;
}

body[data-page-mode] .hero-copy{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:760px!important;
  min-height:42px!important;
  margin:0 auto 5px!important;
  padding:0 8px!important;
  font-size:15px!important;
  line-height:1.42!important;
  font-weight:500!important;
  text-align:center!important;
}

body[data-page-mode] .trust{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  width:min(850px,100%)!important;
  min-height:0!important;
  margin:4px auto 10px!important;
  padding:0!important;
}

body[data-page-mode] .trust span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:48px!important;
  padding:9px 10px 9px 36px!important;
  border:1px solid rgba(214,196,255,.30)!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,rgba(88,77,148,.22),rgba(37,44,95,.20))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 8px 24px rgba(0,0,0,.10)!important;
  color:#ece6f3!important;
  font-size:11.5px!important;
  line-height:1.25!important;
  font-weight:700!important;
  text-align:center!important;
  position:relative!important;
}

body[data-page-mode] .trust span+span{
  border-left:1px solid rgba(214,196,255,.30)!important;
}

body[data-page-mode] .trust span::before{
  left:9px!important;
  top:50%!important;
  width:20px!important;
  height:20px!important;
  transform:translateY(-50%)!important;
  font-size:12px!important;
}

body[data-page-mode] .hero>.panel{
  width:min(920px,100%)!important;
  max-width:920px!important;
  min-height:278px!important;
  margin:0 auto!important;
  padding:16px 22px 14px!important;
  border-radius:22px!important;
  box-sizing:border-box!important;
}

body[data-page-mode] .journey-switch{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  width:100%!important;
  margin:0 0 8px!important;
  padding:4px!important;
  border-radius:13px!important;
}

body[data-page-mode] .journey-tab{
  min-height:38px!important;
  padding:7px 10px!important;
  border-radius:10px!important;
  font-size:11.5px!important;
  line-height:1.2!important;
}

body[data-page-mode] .panel h2{
  min-height:32px!important;
  margin:0 auto 1px!important;
  font-size:26px!important;
  line-height:1.08!important;
  font-weight:600!important;
  text-align:center!important;
}

body[data-page-mode] .panel-sub{
  min-height:24px!important;
  margin:0 auto 8px!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  text-align:center!important;
}

body[data-page-mode="relationship"] #matchForm{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:9px 16px!important;
  align-items:end!important;
}

body[data-page-mode="relationship"] #matchForm .field{
  min-width:0!important;
  margin:0!important;
}

body[data-page-mode] .field label,
body[data-page-mode] #matchForm label{
  margin-bottom:4px!important;
  font-size:10.5px!important;
  line-height:1.2!important;
}

body[data-page-mode] input[type="date"],
body[data-page-mode] .self-form input,
body[data-page-mode] .self-form select{
  min-width:0!important;
  min-height:40px!important;
  padding:9px 11px!important;
  border-radius:10px!important;
  font-size:12px!important;
}

body[data-page-mode="relationship"] #matchForm>.primary{
  grid-column:1 / -1!important;
  width:min(430px,56%)!important;
  min-height:42px!important;
  margin:1px auto 0!important;
  padding:9px 18px!important;
  font-size:17px!important;
}

body[data-page-mode="personal"] #selfForm{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:9px 16px!important;
  align-items:end!important;
}

body[data-page-mode="personal"] #selfForm>.field:nth-of-type(1){
  grid-column:1!important;
  grid-row:1!important;
}
body[data-page-mode="personal"] #selfForm>.field:nth-of-type(2){
  grid-column:2!important;
  grid-row:1!important;
}

body[data-page-mode="personal"] #personalDeepToggle{
  grid-column:1!important;
  grid-row:2!important;
  width:100%!important;
  min-height:42px!important;
  height:42px!important;
  margin:0!important;
  padding:7px 10px!important;
  border-radius:10px!important;
}

body[data-page-mode="personal"] #personalDeepToggle>span{
  font-size:10.5px!important;
  line-height:1.15!important;
}

body[data-page-mode="personal"] #personalDeepToggle>small{
  max-width:54%!important;
  font-size:8px!important;
  line-height:1.2!important;
}

body[data-page-mode="personal"] #personalRevealBtn{
  grid-column:2!important;
  grid-row:2!important;
  width:100%!important;
  min-height:42px!important;
  height:42px!important;
  margin:0!important;
  padding:9px 14px!important;
  font-size:16px!important;
}

body[data-page-mode="personal"] #personalDeepFields{
  grid-column:1 / -1!important;
  grid-row:auto!important;
}

body[data-page-mode] .fineprint{
  min-height:18px!important;
  margin:7px 0 0!important;
  font-size:9px!important;
  line-height:1.35!important;
  text-align:center!important;
}

@media (max-width:760px){
  body[data-page-mode] .shell{width:min(94%,560px)!important;}

  body[data-page-mode] .topbar{
    min-height:60px!important;
    padding:8px 0 1px!important;
  }

  body[data-page-mode] .brand{
    left:0!important;
    top:11px!important;
    transform:none!important;
  }

  body[data-page-mode] .brand-wordmark{
    font-size:31px!important;
  }

  body[data-page-mode] .lang{
    gap:2px!important;
    padding:3px!important;
  }
  body[data-page-mode] .lang button{
    padding:6px 7px!important;
    font-size:10px!important;
  }

  body[data-page-mode] .hero{
    width:100%!important;
    padding:3px 0 18px!important;
  }

  body[data-page-mode] .hero>div:first-child{
    min-height:0!important;
    padding:0!important;
  }

  body[data-page-mode] .hero .eyebrow{
    min-height:26px!important;
    margin:0 auto 3px!important;
    padding:4px 10px!important;
    font-size:8.8px!important;
    letter-spacing:.08em!important;
  }

  body[data-page-mode] .hero h1,
  body[data-page-mode="personal"] .hero h1,
  body[data-page-mode="relationship"] .hero h1{
    max-width:98%!important;
    min-height:80px!important;
    margin:0 auto 2px!important;
    font-size:clamp(30px,8.8vw,40px)!important;
    line-height:1.08!important;
  }

  body[data-page-mode] .hero-copy{
    max-width:98%!important;
    min-height:56px!important;
    margin:0 auto 4px!important;
    padding:0 4px!important;
    font-size:11.5px!important;
    line-height:1.38!important;
  }

  body[data-page-mode] .trust{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
    width:100%!important;
    min-height:0!important;
    margin:3px auto 8px!important;
  }

  body[data-page-mode] .trust span{
    min-height:48px!important;
    padding:7px 5px 7px 25px!important;
    border-radius:9px!important;
    font-size:8.5px!important;
    line-height:1.2!important;
  }

  body[data-page-mode] .trust span::before{
    left:5px!important;
    width:17px!important;
    height:17px!important;
    font-size:10px!important;
  }

  body[data-page-mode] .hero>.panel{
    width:100%!important;
    min-height:238px!important;
    margin:0 auto!important;
    padding:11px 9px 10px!important;
    border-radius:16px!important;
  }

  body[data-page-mode] .journey-switch{
    grid-template-columns:1fr 1fr!important;
    gap:5px!important;
    margin:0 0 6px!important;
    padding:3px!important;
    border-radius:10px!important;
  }

  body[data-page-mode] .journey-tab{
    min-height:34px!important;
    padding:6px 4px!important;
    border-radius:8px!important;
    font-size:9.5px!important;
  }

  body[data-page-mode] .panel h2{
    min-height:27px!important;
    margin:0 auto 1px!important;
    font-size:20px!important;
    line-height:1.08!important;
  }

  body[data-page-mode] .panel-sub{
    min-height:22px!important;
    margin:0 auto 6px!important;
    padding:0 3px!important;
    font-size:9.5px!important;
    line-height:1.3!important;
  }

  body[data-page-mode="relationship"] #matchForm{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:7px!important;
  }

  body[data-page-mode] .field label,
  body[data-page-mode] #matchForm label{
    margin-bottom:3px!important;
    font-size:8.5px!important;
  }

  body[data-page-mode] input[type="date"],
  body[data-page-mode] .self-form input,
  body[data-page-mode] .self-form select{
    min-height:37px!important;
    padding:8px 7px!important;
    border-radius:8px!important;
    font-size:10px!important;
  }

  body[data-page-mode="relationship"] #matchForm>.primary{
    grid-column:1 / -1!important;
    width:min(310px,76%)!important;
    min-height:39px!important;
    margin:1px auto 0!important;
    padding:8px 10px!important;
    font-size:14px!important;
  }

  body[data-page-mode="personal"] #selfForm{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:7px!important;
  }

  body[data-page-mode="personal"] #personalDeepToggle{
    grid-column:1!important;
    grid-row:2!important;
    min-height:39px!important;
    height:39px!important;
    padding:5px 6px!important;
  }

  body[data-page-mode="personal"] #personalDeepToggle>span{
    font-size:8.5px!important;
  }

  body[data-page-mode="personal"] #personalDeepToggle>small{
    font-size:6.7px!important;
  }

  body[data-page-mode="personal"] #personalRevealBtn{
    grid-column:2!important;
    grid-row:2!important;
    min-height:39px!important;
    height:39px!important;
    padding:7px 7px!important;
    font-size:12.5px!important;
  }

  body[data-page-mode] .fineprint{
    min-height:16px!important;
    margin-top:5px!important;
    font-size:7.5px!important;
  }
}

@media (max-width:390px){
  body[data-page-mode] .shell{width:95%!important;}

  body[data-page-mode] .hero h1,
  body[data-page-mode="personal"] .hero h1,
  body[data-page-mode="relationship"] .hero h1{
    min-height:80px!important;
    font-size:clamp(28px,8.9vw,35px)!important;
  }

  body[data-page-mode] .hero-copy{
    min-height:56px!important;
    font-size:10.5px!important;
  }

  body[data-page-mode] .trust span{
    min-height:46px!important;
    padding-left:22px!important;
    font-size:7.8px!important;
  }
  body[data-page-mode] .trust span::before{
    left:4px!important;
    width:15px!important;
    height:15px!important;
    font-size:9px!important;
  }

  body[data-page-mode] .hero>.panel{
    min-height:238px!important;
    padding:10px 7px 9px!important;
  }

  body[data-page-mode] .journey-tab{font-size:8.8px!important;}
  body[data-page-mode] input[type="date"],
  body[data-page-mode] .self-form input,
  body[data-page-mode] .self-form select{font-size:9px!important;}
}

@media (min-width:761px){
  html:lang(en) body[data-page-mode] .hero h1,
  html:lang(fi) body[data-page-mode] .hero h1,
  html:lang(zh-CN) body[data-page-mode] .hero h1,
  html:lang(zh) body[data-page-mode] .hero h1{min-height:70px!important;}

  html:lang(en) body[data-page-mode] .hero-copy,
  html:lang(fi) body[data-page-mode] .hero-copy,
  html:lang(zh-CN) body[data-page-mode] .hero-copy,
  html:lang(zh) body[data-page-mode] .hero-copy{min-height:42px!important;}
}

@media (max-width:760px){
  html:lang(en) body[data-page-mode] .hero h1,
  html:lang(fi) body[data-page-mode] .hero h1,
  html:lang(zh-CN) body[data-page-mode] .hero h1,
  html:lang(zh) body[data-page-mode] .hero h1{min-height:80px!important;}

  html:lang(en) body[data-page-mode] .hero-copy,
  html:lang(fi) body[data-page-mode] .hero-copy,
  html:lang(zh-CN) body[data-page-mode] .hero-copy,
  html:lang(zh) body[data-page-mode] .hero-copy{min-height:56px!important;}
}

@media (max-width:390px){
  html:lang(en) body[data-page-mode] .hero h1,
  html:lang(fi) body[data-page-mode] .hero h1,
  html:lang(zh-CN) body[data-page-mode] .hero h1,
  html:lang(zh) body[data-page-mode] .hero h1{min-height:80px!important;}

  html:lang(en) body[data-page-mode] .hero-copy,
  html:lang(fi) body[data-page-mode] .hero-copy,
  html:lang(zh-CN) body[data-page-mode] .hero-copy,
  html:lang(zh) body[data-page-mode] .hero-copy{min-height:56px!important;}
}
