/* Tokai-only sticky contact CTA. Approved design A; desktop and mobile layouts. */
.tokai-sticky-enabled{--cta-white: #fffefb; --cta-navy: #123343; --cta-blue: #0864bd; --cta-blue-deep: #064c91; --cta-orange: #b83d08; --cta-orange-deep: #913006; --cta-green: #087a3b; --cta-green-deep: #05602d; --cta-ice: #e6f5fc; --cta-cream: #fff3db; --cta-gold: #ffcf5b; --cta-line: #c5d8df; --cta-shadow: #12334326; --cta-muted: #4d6570; --tokai-cta-clearance: calc(210px + env(safe-area-inset-bottom,0px));}
.tokai-sticky-enabled .cta-option{position: fixed; inset: auto 0px 0px; z-index: 200; font-family: var(--font-body); color: var(--cta-navy); padding: 14px 20px calc(16px + env(safe-area-inset-bottom,0px)); background: var(--cta-white);}
.tokai-sticky-enabled .cta-content{max-width: 1000px; margin: auto;}
.tokai-sticky-enabled .cta-heading{display: flex; align-items: center; justify-content: center; gap: 12px; margin: 0px 0px 12px; font-size: 16px; font-weight: 800; line-height: 1.4;}
.tokai-sticky-enabled .cta-heading small{font-size: 12px; font-weight: 700;}
.tokai-sticky-enabled .cta-links{display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 12px;}
.tokai-sticky-enabled .cta-link{display: flex; align-items: center; justify-content: center; gap: 12px; min-width: 0px; min-height: 64px; padding: 12px 16px; border: 1px solid transparent; border-radius: 12px; text-decoration: none; font-size: 19px; font-weight: 800; line-height: 1.3; white-space: nowrap; transition: background-color 0.15s;}
.tokai-sticky-enabled .cta-link svg{width: 26px; height: 26px; flex: 0 0 auto;}
.tokai-sticky-enabled .cta-link:focus-visible{outline: 3px solid var(--cta-navy); outline-offset: 3px;}
.tokai-sticky-enabled .cta-link:active{transform: translateY(2px);}
.tokai-sticky-enabled .cta-phone{background: var(--cta-orange); color: var(--cta-white);}
.tokai-sticky-enabled .cta-mail{background: var(--cta-blue); color: var(--cta-white);}
.tokai-sticky-enabled .cta-line{background: var(--cta-green); color: var(--cta-white);}
@media (hover: hover){
.tokai-sticky-enabled .cta-phone:hover{background: var(--cta-orange-deep);}
.tokai-sticky-enabled .cta-mail:hover{background: var(--cta-blue-deep);}
.tokai-sticky-enabled .cta-line:hover{background: var(--cta-green-deep);}
}
@media (max-width: 700px){
.tokai-sticky-enabled .cta-option{padding: 10px 10px calc(12px + env(safe-area-inset-bottom,0px));}
.tokai-sticky-enabled .cta-heading{font-size: 14px; gap: 8px; margin-bottom: 10px;}
.tokai-sticky-enabled .cta-heading small{font-size: 10px;}
.tokai-sticky-enabled .cta-links{gap: 7px; grid-template-columns: 1.15fr 1fr 1fr;}
.tokai-sticky-enabled .cta-link{font-size: 14px; min-height: 58px; padding: 8px 7px; gap: 6px;}
.tokai-sticky-enabled .cta-link svg{width: 20px; height: 20px;}
.tokai-sticky-enabled .cta-long{display: none;}
}
@media (prefers-reduced-motion: reduce){
.tokai-sticky-enabled .cta-link{transition: none;}
}
.tokai-sticky-enabled .mobile-contact{display: none;}
@media (min-width: 701px){
.tokai-sticky-enabled .cta-option .cta-links{grid-template-columns: 1.5fr 1fr 1fr;}
.tokai-sticky-enabled .cta-option .cta-phone{font-size: 20px;}
.tokai-sticky-enabled .cta-option .desktop-phone-copy{display: flex; flex-direction: column; align-items: center; gap: 2px; line-height: 1.15;}
.tokai-sticky-enabled .cta-option .desktop-phone-copy small{font-size: 10px; font-weight: 700; line-height: 1.2;}
}
.tokai-sticky-enabled{--compact-orange: #ffcb5b; --compact-edge: #ba8120; --compact-light: #fffdf6; --compact-dark: #0e2a39; --compact-mail: #dcf2ff; --compact-green: #b7f4c9; --compact-green-ink: #07502c; --compact-coral: #ffc3a0; --compact-coral-ink: #6e2607; --compact-border: #4b6a79; --compact-shadow: #071d28; --compact-line-edge: #074d2c; --tokai-cta-clearance: calc(132px + env(safe-area-inset-bottom,0px));}
.tokai-sticky-enabled .compact-dock{background: var(--compact-dark); color: var(--cta-white); padding: 12px 18px calc(14px + env(safe-area-inset-bottom,0px)); border-top: 2px solid var(--cta-gold);}
.tokai-sticky-enabled .compact-dock .cta-content{display: grid; grid-template-columns: 1fr 2.7fr; align-items: center; gap: 24px; max-width: 1000px;}
.tokai-sticky-enabled .compact-dock .cta-heading{display: block; text-align: left; margin: 0px; font-size: 18px; line-height: 1.45;}
.tokai-sticky-enabled .compact-dock .cta-heading small{display: block; color: var(--cta-gold); font-size: 11px; margin-bottom: 3px; letter-spacing: 0.03em;}
.tokai-sticky-enabled .compact-dock .cta-links{grid-template-columns: 1.25fr 1fr 1fr; gap: 10px;}
.tokai-sticky-enabled .compact-dock .cta-link{min-height: 60px; padding: 9px 12px; font-size: 17px; gap: 9px; border-radius: 10px;}
.tokai-sticky-enabled .compact-dock .cta-link:focus-visible{outline-color: var(--cta-white);}
.tokai-sticky-enabled .compact-icon{display: grid; place-items: center; flex: 0 0 auto;}
.tokai-sticky-enabled .compact-icon svg{width: 23px; height: 23px;}
.tokai-sticky-enabled .compact-label{white-space: nowrap;}
.tokai-sticky-enabled .compact-chevron{margin-left: auto; font-size: 22px; font-weight: 500; line-height: 1;}
.tokai-sticky-enabled .compact-a .cta-link{border-radius: 999px; border-top: 2px solid var(--compact-light); box-shadow: 0 4px 0 var(--compact-shadow);}
.tokai-sticky-enabled .compact-a .cta-phone{background: var(--compact-orange); color: var(--cta-navy); box-shadow: 0 4px 0 var(--compact-edge);}
.tokai-sticky-enabled .compact-a .cta-mail{background: var(--compact-light); color: var(--cta-navy);}
.tokai-sticky-enabled .compact-a .cta-line{background: var(--cta-green); color: var(--cta-white); box-shadow: 0 4px 0 var(--compact-line-edge);}
.tokai-sticky-enabled .compact-a .compact-icon{width: 34px; height: 34px; border-radius: 50%; background: var(--compact-light); color: var(--cta-navy);}
.tokai-sticky-enabled .compact-a .cta-mail .compact-icon{background: var(--compact-mail); color: var(--cta-blue);}
.tokai-sticky-enabled .compact-a .cta-line .compact-icon{color: var(--cta-green);}
.tokai-sticky-enabled .compact-number{font-family: var(--font-numeric); white-space: nowrap;}
@media (hover: hover){
.tokai-sticky-enabled .compact-a .cta-phone:hover{background: var(--cta-cream);}
.tokai-sticky-enabled .compact-a .cta-mail:hover{background: var(--compact-mail);}
.tokai-sticky-enabled .compact-a .cta-line:hover{background: var(--cta-green-deep);}
}
@media (min-width: 701px) and (max-width: 1050px){
.tokai-sticky-enabled .compact-dock .cta-content{display: block;}
.tokai-sticky-enabled .compact-dock .cta-heading{display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; font-size: 15px;}
.tokai-sticky-enabled .compact-dock .cta-heading small{margin: 0px;}
}
@media (max-width: 700px){
.tokai-sticky-enabled .compact-dock{padding: 10px 10px calc(12px + env(safe-area-inset-bottom,0px));}
.tokai-sticky-enabled .compact-dock .cta-content{display: block;}
.tokai-sticky-enabled .compact-dock .cta-heading{display: flex; align-items: center; justify-content: space-between; gap: 6px; font-size: 13px; margin-bottom: 10px; line-height: 1.4;}
.tokai-sticky-enabled .compact-dock .cta-heading small{font-size: 10px; margin: 0px; letter-spacing: 0px;}
.tokai-sticky-enabled .compact-dock .cta-links{grid-template-columns: 1.15fr 1fr 1fr; gap: 7px;}
.tokai-sticky-enabled .compact-dock .cta-link{min-height: 56px; font-size: 14px; gap: 6px; padding: 8px;}
.tokai-sticky-enabled .compact-dock .compact-icon{width: 26px; height: 26px;}
.tokai-sticky-enabled .compact-dock .compact-icon svg{width: 19px; height: 19px;}
.tokai-sticky-enabled .compact-chevron{display: none;}
.tokai-sticky-enabled .compact-number{display: none;}
.tokai-sticky-enabled .compact-dock .cta-long{display: none;}
}
@media (max-width: 700px){
.tokai-sticky-enabled{--tokai-cta-clearance: calc(84px + env(safe-area-inset-bottom,0px));}
.tokai-sticky-enabled .cta-option{padding: 6px 8px calc(8px + env(safe-area-inset-bottom,0px)); border-top-width: 1px;}
.tokai-sticky-enabled .cta-option .cta-heading{display: none;}
.tokai-sticky-enabled .cta-option .cta-content{display: block;}
.tokai-sticky-enabled .cta-option .cta-links{display: grid; grid-template-columns: minmax(0px, 1fr) 60px 60px; gap: 6px; overflow: visible; border: 0px; border-radius: 0px;}
.tokai-sticky-enabled .cta-option .cta-link{height: 58px; min-height: 58px; padding: 4px; gap: 0px; border-radius: 8px; font-size: 14px; box-shadow: none; border-top-width: 1px; border-bottom-width: 1px;}
.tokai-sticky-enabled .cta-option .cta-link > .compact-icon,.tokai-sticky-enabled  .cta-option .cta-link > .compact-label,.tokai-sticky-enabled  .cta-option .cta-link > .compact-chevron,.tokai-sticky-enabled  .cta-option .cta-link > span:not(.mobile-contact){display: none;}
.tokai-sticky-enabled .cta-option .cta-link .mobile-contact{display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-width: 0px;}
.tokai-sticky-enabled .cta-option .mobile-contact-phone small{font-size: clamp(7px, 2.13vw, 10px); font-weight: 700; line-height: 1.2; white-space: nowrap; letter-spacing: -0.03em;}
.tokai-sticky-enabled .cta-option .mobile-contact-phone small span{margin-inline-start: 6px;}
.tokai-sticky-enabled .cta-option .mobile-contact-phone strong{display: flex; align-items: center; justify-content: center; gap: 5px; font-family: var(--font-numeric); font-size: clamp(18px, 5.2vw, 25px); font-weight: 800; letter-spacing: -0.04em; line-height: 1.2; white-space: nowrap;}
.tokai-sticky-enabled .cta-option .mobile-contact-phone strong svg{width: 16px; height: 16px; flex: 0 0 auto;}
.tokai-sticky-enabled .compact-a .cta-phone{border-top: 2px solid var(--compact-light);}
.tokai-sticky-enabled .compact-a .mobile-contact-phone strong svg{width: 24px; height: 24px; padding: 4px; border-radius: 50%; background: var(--compact-light); color: var(--cta-navy);}
.tokai-sticky-enabled .cta-option .mobile-contact-other > span{display: flex; align-items: center; justify-content: center; gap: 3px; font-size: 12px; line-height: 1.2;}
.tokai-sticky-enabled .cta-option .mobile-contact-other svg{width: 14px; height: 14px;}
.tokai-sticky-enabled .cta-option .mobile-contact-other small{font-size: 10px; font-weight: 700; line-height: 1.3; white-space: nowrap;}
}

/* Keep CTA clearance inside the footer so its background reaches the bottom. */
body.tokai-sticky-enabled{padding-bottom:0}
.tokai-sticky-enabled .footer{padding-bottom:calc(var(--space-12) + var(--tokai-cta-clearance))}
