/* The Haus Signal: Portfolio Haus intake assistant
   Self-contained. Loads only on pages with signal: true front matter.
   Remove this file, the include, and the layout hook to remove the feature. */

#haus-signal-root{position:fixed;right:22px;bottom:22px;z-index:960;font-family:"Crimson Pro",Georgia,serif;}
#haus-signal-root *{box-sizing:border-box;}

/* Launcher */
.hs-launcher{
  display:flex;align-items:center;gap:10px;cursor:pointer;
  background:#1C1A2E;color:#F5EDE0;border:1px solid rgba(230,168,23,0.55);
  border-top:3px solid #E6A817;padding:12px 18px;
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:0.85rem;
  letter-spacing:0.12em;text-transform:uppercase;
  box-shadow:0 14px 30px -14px rgba(28,26,46,0.6);
  transition:transform .2s ease,box-shadow .2s ease;
}
.hs-launcher:hover{transform:translateY(-2px);box-shadow:0 18px 34px -14px rgba(28,26,46,0.65);}
.hs-lines{display:flex;flex-direction:column;gap:3px;}
.hs-lines span{display:block;width:16px;height:2px;background:#E6A817;}
.hs-lines span:last-child{width:10px;}

/* Panel */
.hs-panel{
  position:absolute;right:0;bottom:calc(100% + 14px);
  width:min(370px,calc(100vw - 44px));
  background:#F5EDE0;border:1px solid rgba(28,26,46,0.25);border-top:3px solid #E6A817;
  box-shadow:0 30px 60px -30px rgba(28,26,46,0.6);
  display:flex;flex-direction:column;max-height:min(560px,calc(100vh - 120px));
}
.hs-panel[hidden]{display:none;}

.hs-head{background:#1C1A2E;color:#F5EDE0;padding:16px 18px 14px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}
.hs-title{font-family:"Big Shoulders",sans-serif;font-weight:800;font-size:1.05rem;letter-spacing:0.06em;text-transform:uppercase;margin:0;line-height:1.1;}
.hs-sub{font-style:italic;color:rgba(245,237,224,0.75);font-size:0.85rem;margin:3px 0 0;}
.hs-close{
  background:none;border:none;color:#F5EDE0;cursor:pointer;font-size:1.15rem;line-height:1;
  padding:4px 6px;margin:-4px -6px 0 0;opacity:.8;
}
.hs-close:hover{opacity:1;}
.hs-close:focus-visible,.hs-launcher:focus-visible{outline:2px solid #E6A817;outline-offset:2px;}

.hs-body{padding:16px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:10px;}
.hs-msg{max-width:88%;padding:10px 13px;font-size:0.95rem;line-height:1.5;color:#1C1A2E;}
.hs-msg.hs-bot{background:#EFE5D3;border-left:3px solid #E6A817;align-self:flex-start;}
.hs-msg.hs-user{background:#1C1A2E;color:#F5EDE0;align-self:flex-end;}
.hs-msg p{margin:0 0 8px;}
.hs-msg p:last-child{margin:0;}

.hs-opts{display:flex;flex-direction:column;gap:7px;align-self:stretch;}
.hs-opt{
  text-align:left;background:#F5EDE0;border:1px solid rgba(28,26,46,0.3);
  color:#1C1A2E;padding:9px 12px;font-family:"Crimson Pro",Georgia,serif;font-size:0.93rem;
  cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
.hs-opt:hover{border-color:#E6A817;background:#FBF6EC;transform:translateX(2px);}
.hs-opt:focus-visible{outline:2px solid #E6A817;outline-offset:1px;}

.hs-rec{border:2px solid #1C1A2E;background:#F5EDE0;padding:14px 15px;align-self:stretch;}
.hs-rec-label{
  display:inline-block;background:#E6A817;color:#1C1A2E;
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:0.66rem;
  letter-spacing:0.13em;text-transform:uppercase;padding:3px 9px;margin-bottom:9px;
}
.hs-rec-service{font-family:"Big Shoulders",sans-serif;font-weight:800;font-size:1.15rem;color:#1C1A2E;margin:0 0 6px;line-height:1.1;}
.hs-rec p{font-size:0.92rem;color:#3E3A55;margin:0 0 12px;line-height:1.5;}
.hs-cta{
  display:inline-block;background:#E6A817;color:#1C1A2E;text-decoration:none;
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:0.8rem;
  letter-spacing:0.1em;text-transform:uppercase;padding:9px 15px;
  transition:transform .15s ease,box-shadow .15s ease;
}
.hs-cta:hover{transform:translateY(-1px);box-shadow:0 8px 18px -8px rgba(230,168,23,0.7);}
.hs-again{
  background:none;border:none;color:#6B2D5E;font-family:"Crimson Pro",Georgia,serif;
  font-style:italic;font-size:0.88rem;cursor:pointer;padding:0;margin-left:14px;
}
.hs-again:hover{color:#1C1A2E;}

.hs-foot{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(28,26,46,0.15);background:#EFE5D3;}
.hs-input{
  flex:1;border:1px solid rgba(28,26,46,0.3);background:#F5EDE0;color:#1C1A2E;
  font-family:"Crimson Pro",Georgia,serif;font-size:0.95rem;padding:9px 11px;min-width:0;
}
.hs-input:focus-visible{outline:2px solid #E6A817;outline-offset:1px;}
.hs-send{
  background:#1C1A2E;color:#F5EDE0;border:none;cursor:pointer;
  font-family:"Big Shoulders",sans-serif;font-weight:700;font-size:0.78rem;
  letter-spacing:0.1em;text-transform:uppercase;padding:9px 14px;
}
.hs-send:hover{background:#2A2740;}

/* Entry motion, gated the same way as the rest of the site */
.ph-motion .hs-panel:not([hidden]){animation:hdUp .25s ease both;}
@keyframes hdUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

/* Mobile: bottom sheet */
@media (max-width:560px){
  #haus-signal-root{right:14px;bottom:14px;left:14px;display:flex;justify-content:flex-end;}
  .hs-panel{width:100%;max-height:72vh;}
}

@media (prefers-reduced-motion:reduce){
  .hs-panel,.hs-launcher,.hs-opt,.hs-cta{animation:none !important;transition:none !important;}
  .hs-launcher:hover,.hs-cta:hover,.hs-opt:hover{transform:none !important;}
}
