/* Husband sales page. All values reference brand tokens from brand/colors_and_type.css */
html,body{margin:0;padding:0;background:var(--cc-bg-deep)}
.hb-page{color:var(--cc-fg-on-deep);font-family:var(--cc-font-body);letter-spacing:.04em}
.hb-page a{color:var(--cc-fg-on-deep-muted);text-decoration:none}
.hb-page a:hover,.hb-page a:focus-visible{color:var(--cc-fg-on-deep);text-decoration:underline}
.hb-shell{min-height:100vh;min-height:100dvh;box-sizing:border-box;display:flex;flex-direction:column;padding:clamp(20px,3.2vh,36px) clamp(20px,4vw,64px)}
.hb-header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.hb-logo{width:clamp(140px,12vw,180px);height:auto;display:block;filter:brightness(0) invert(1)}
.hb-main{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:clamp(40px,6vw,96px);max-width:1320px;width:100%;margin:0 auto;padding:clamp(16px,2vh,24px) 0}
.hb-intro{flex:1 1 400px;max-width:540px;display:flex;flex-direction:column;gap:clamp(20px,3vh,32px)}
.hb-title{margin:0;font-family:var(--cc-font-display);font-weight:400;color:var(--cc-fg-on-deep);font-size:clamp(28px,2.7vw,42px);line-height:1.2;letter-spacing:.08em;text-transform:uppercase;text-wrap:balance}
.hb-title span{font-style:italic;text-transform:none;letter-spacing:.01em}
.hb-lead{margin:0;font-weight:300;font-size:clamp(16px,1.2vw,18px);line-height:1.65;color:var(--cc-fg-on-deep);text-wrap:pretty}
.hb-coach{display:flex;align-items:center;gap:16px;padding-top:clamp(16px,2.6vh,28px);border-top:1px solid var(--cc-border-on-deep)}
.hb-coach img{width:60px;height:60px;border-radius:50%;object-fit:cover;object-position:50% 18%;display:block;flex:none}
.hb-coach div{display:flex;flex-direction:column;gap:2px}
.hb-coach-name{font-family:var(--cc-font-display);font-size:15px;letter-spacing:.16em;text-transform:uppercase}
.hb-coach-role{font-size:12px;letter-spacing:.08em;color:var(--cc-fg-on-deep-muted)}
.hb-card{flex:1 1 520px;max-width:680px;box-sizing:border-box;background:var(--cc-bg);color:var(--cc-fg);border-radius:var(--cc-radius-lg);padding:clamp(20px,3vh,32px) clamp(22px,3vw,40px);display:flex;flex-direction:column;gap:clamp(12px,1.8vh,18px);box-shadow:var(--cc-shadow-lg)}
.hb-card h2{margin:0;font-family:var(--cc-font-display);font-weight:400;font-size:clamp(18px,1.5vw,22px);line-height:1.3;letter-spacing:.16em;text-transform:uppercase;color:var(--cc-fg)}
.hb-list{list-style:none;margin:0;padding:0}
.hb-list li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding:clamp(10px,1.4vh,14px) 0;border-top:1px solid var(--cc-border)}
.hb-num{font-family:var(--cc-font-display);font-style:italic;font-size:22px;line-height:1.1;color:var(--cc-accent)}
.hb-list div{display:flex;flex-direction:column;gap:6px}
.hb-list h3{margin:0;font-weight:600;font-size:13px;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;color:var(--cc-fg)}
.hb-list p{margin:0;font-size:14px;line-height:1.5;color:var(--cc-fg-muted);text-wrap:pretty;letter-spacing:.04em}
.hb-cta{display:flex;justify-content:center}
.hb-btn{font-family:var(--cc-font-body);font-weight:600;font-size:var(--cc-text-xs);letter-spacing:var(--cc-track-heading);text-transform:uppercase;background:var(--cc-button);color:var(--cc-button-fg);border:1px solid var(--cc-button);border-radius:var(--cc-radius-none);min-width:300px;min-height:48px;padding:0 var(--cc-space-6);cursor:pointer;transition:background var(--cc-dur-base) var(--cc-ease-out),transform var(--cc-dur-fast) var(--cc-ease-out)}
.hb-btn:hover{background:var(--cc-button-hover);border-color:var(--cc-button-hover)}
.hb-btn:active{transform:scale(.98)}
.hb-btn:disabled{opacity:.6;cursor:wait}
.hb-btn:focus-visible,.hb-close:focus-visible,.hb-page a:focus-visible{outline:var(--cc-border-w-bold) solid var(--cc-accent);outline-offset:3px}
.hb-btn-sm{min-width:0;min-height:44px}
.hb-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;max-width:1320px;width:100%;margin:0 auto;padding-top:16px;border-top:1px solid var(--cc-border-on-deep);font-size:12px;letter-spacing:.08em;color:var(--cc-fg-on-deep-muted)}
.hb-footer nav{display:flex;gap:24px}

/* Modal */
.hb-overlay{position:fixed;inset:0;z-index:100;background:color-mix(in srgb,var(--cc-bg-deep) 72%,transparent);display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:var(--cc-space-5) var(--cc-space-4);box-sizing:border-box;animation:hbFade var(--cc-dur-base) var(--cc-ease-out)}
.hb-overlay[hidden]{display:none}
.hb-dialog{width:100%;max-width:640px;background:var(--cc-bg);color:var(--cc-fg);border-radius:var(--cc-radius-lg);box-shadow:var(--cc-shadow-lg);padding:var(--cc-space-5);box-sizing:border-box;outline:none;animation:hbRise var(--cc-dur-base) var(--cc-ease-out)}
.hb-dlg-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--cc-space-4);padding-bottom:var(--cc-space-4);border-bottom:1px solid var(--cc-border);margin-bottom:var(--cc-space-4)}
.hb-dlg-eyebrow{margin:0 0 var(--cc-space-1);font-size:var(--cc-text-xxs);font-weight:600;letter-spacing:var(--cc-track-logo);text-transform:uppercase;color:var(--cc-fg-muted)}
.hb-dialog h2{margin:0;font-family:var(--cc-font-display);font-weight:400;font-size:var(--cc-text-lg);letter-spacing:var(--cc-track-heading);text-transform:uppercase;outline:none}
.hb-dlg-price{margin:var(--cc-space-1) 0 0;font-size:var(--cc-text-sm);color:var(--cc-accent);font-weight:500}
.hb-close{flex:none;width:44px;height:44px;border:1px solid var(--cc-border);background:var(--cc-bg);color:var(--cc-fg);font-size:var(--cc-text-lg);line-height:1;cursor:pointer;border-radius:var(--cc-radius-sm)}
.hb-close:hover{border-color:var(--cc-accent);color:var(--cc-accent)}
.hb-loading{display:flex;flex-direction:column;gap:var(--cc-space-3)}
.hb-loading[hidden]{display:none}
.hb-skel{height:48px;border-radius:var(--cc-radius-sm);background:var(--cc-dusty-shoes);animation:hbPulse 1.4s ease-in-out infinite}
.hb-skel-s{width:60%}
.hb-error{padding:var(--cc-space-4);border:1px solid var(--cc-border-strong);background:var(--cc-bg-soft);display:flex;flex-direction:column;align-items:flex-start;gap:var(--cc-space-3)}
.hb-error p{margin:0;font-size:var(--cc-text-sm)}
.hb-result{display:flex;flex-direction:column;align-items:flex-start;gap:var(--cc-space-3)}
.hb-result h3{margin:0;font-family:var(--cc-font-display);font-weight:400;font-size:var(--cc-text-lg);letter-spacing:var(--cc-track-heading);text-transform:uppercase;outline:none}
.hb-result p{margin:0;font-size:var(--cc-text-sm);line-height:var(--cc-lh-body);color:var(--cc-fg-muted)}
[hidden]{display:none!important}
.hb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.hb-lock{overflow:hidden}
@keyframes hbFade{from{opacity:0}to{opacity:1}}
@keyframes hbRise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes hbPulse{0%,100%{opacity:1}50%{opacity:.5}}
@media (max-width:767px){
  .hb-main{flex-direction:column;align-items:stretch}
  .hb-intro,.hb-card{flex:none;max-width:none}
  .hb-btn{min-width:0;width:100%}
  .hb-btn-sm{width:auto}
  .hb-dialog{padding:var(--cc-space-4)}
}
@media (prefers-reduced-motion:reduce){.hb-overlay,.hb-dialog,.hb-skel{animation:none}}
