:root{
  --zf-stage6-gap: 14px;
}

/* ===== Stage 6: brand authority + stability pass ===== */

body.zf-stage6-ready .brandSub,
body.zf-stage6-ready .edgeDrawerEyebrow,
body.zf-stage6-ready .premiumPreviewKicker,
body.zf-stage6-ready #consultDetailKicker,
body.zf-stage6-ready .accountIntroEyebrow{
  letter-spacing:.12em;
}

/* Keep hero premium, single-line and centered */
#heroText,
#heroHelper{
  text-align:center;
}
#heroText{
  display:block;
  width:100%;
  white-space:nowrap;
  text-wrap:nowrap;
}
#heroHelper{
  white-space:nowrap;
  text-wrap:nowrap;
  max-width:none !important;
  margin-inline:auto;
}

/* Stronger brand surface without adding new sections */
.micro--hero,
.heroTrustItem{
  color:rgba(246,241,234,.72);
}

/* Chat composer: the whole input row should feel like one surface */
.composerRow{
  position:relative;
}
.composerPill{
  position:relative;
  align-items:flex-end;
  min-height:62px;
  padding:8px;
  gap:8px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.085);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  box-shadow:0 16px 38px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04);
}
.composerPill:focus-within{
  border-color:rgba(212,176,120,.24);
  box-shadow:0 18px 44px rgba(0,0,0,.28), 0 0 0 5px rgba(212,176,120,.08), inset 0 1px 0 rgba(255,255,255,.05);
}
.composerPill textarea,
#chatInput{
  flex:1 1 auto;
  width:auto;
  min-height:44px;
  max-height:144px;
  margin:0;
  padding:11px 2px 10px;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:none;
}
#chatInput::placeholder,
.composerPill textarea::placeholder{
  color:rgba(246,241,234,.44);
}
.composerPill .moreBtn,
.composerPill .mic,
.composerPill .send{
  align-self:flex-end;
  margin:0;
}

/* More air between shortcuts panel and composer */
.chatQuick{
  margin-bottom:10px;
}
.chatQuick.panelOpen{
  padding-bottom:18px;
}
.quickPanel{
  bottom:calc(100% + var(--zf-stage6-gap)) !important;
  margin:0 !important;
}
.chatQuick .quickPanel{
  margin-top:0 !important;
}
#quickCustom{
  min-height:88px;
}

/* Legal line tighter and stable */
.composerLegal{
  margin-top:3px !important;
  padding-top:1px !important;
}

/* Home floating consult bubble: prevent overlap with hero input CTA */
.edgeDock{
  right:14px !important;
  bottom:max(118px, calc(env(safe-area-inset-bottom) + 96px)) !important;
}
.edgeDock.edgeDock--avoid-input{
  bottom:max(138px, calc(env(safe-area-inset-bottom) + 112px)) !important;
}
.edgeDockBtn{
  box-shadow:0 18px 42px rgba(0,0,0,.30);
}
.edgeDrawer{
  right:14px;
  bottom:max(16px, calc(env(safe-area-inset-bottom) + 12px));
}

/* Slightly stronger brand context in premium / consult flows */
.premiumPreviewLead,
.consultDetailLead,
.consultModalNote{
  color:rgba(246,241,234,.82);
}

@media (max-width: 820px){
  .composerPill{
    min-height:60px;
  }
  .quickPanel{
    bottom:calc(100% + 16px) !important;
  }
  .edgeDock{
    right:12px !important;
    bottom:max(112px, calc(env(safe-area-inset-bottom) + 90px)) !important;
  }
  .edgeDock.edgeDock--avoid-input{
    bottom:max(132px, calc(env(safe-area-inset-bottom) + 106px)) !important;
  }
}

@media (max-width: 560px){
  :root{
    --zf-stage6-gap: 18px;
  }
  #heroText{
    font-size:clamp(27px, 8.6vw, 34px);
  }
  #heroHelper{
    font-size:clamp(12.6px, 3.55vw, 14px);
  }
  .composerPill{
    min-height:58px;
    border-radius:20px;
    padding:7px;
    gap:7px;
  }
  #chatInput,
  .composerPill textarea{
    min-height:42px;
    padding-top:10px;
    padding-bottom:9px;
  }
  .chatQuick{
    margin-bottom:12px;
  }
  .quickPanel{
    bottom:calc(100% + 18px) !important;
    border-radius:18px;
  }
  .edgeDock{
    right:10px !important;
    bottom:max(108px, calc(env(safe-area-inset-bottom) + 86px)) !important;
  }
  .edgeDock.edgeDock--avoid-input{
    bottom:max(128px, calc(env(safe-area-inset-bottom) + 102px)) !important;
  }
  .edgeDockBtn{
    width:52px;
    height:52px;
    border-radius:17px;
  }
  .edgeDrawer{
    right:8px;
    max-width:calc(100vw - 16px);
  }
}

@media (max-width: 390px){
  #heroText{
    font-size:clamp(25px, 8.2vw, 29px);
  }
  #heroHelper{
    font-size:12px;
  }
  .composerLegal{
    font-size:9.8px !important;
  }
}
