/* Contact links integrated into the header, revealed after Enter. */
.topbar{background:#f6f3ecf5}
.priority-contact{position:absolute;top:100%;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:30px;min-height:56px;padding:4px 48px;background:#f4f1e9f5;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid #213d2d16;border-bottom:1px solid #a38d604d;box-shadow:0 4px 12px #10271b08;color:#223e30;font-family:"DM Sans",sans-serif}
.priority-contact a{display:inline-flex;align-items:center;gap:10px;color:inherit;font-size:16px;font-weight:500;letter-spacing:.015em;line-height:1.5;text-decoration:none;min-height:44px;transition:color .25s}
.contact-ribbon-icon{display:inline-flex;align-items:center;justify-content:center;color:#867047;width:18px;height:18px;font-size:19px;line-height:1}
.contact-ribbon-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.contact-ribbon-divider{width:1px;height:17px;background:#9e8c653d}
.priority-contact .ribbon-referral{font-weight:600;text-decoration:underline;text-decoration-color:#a38d6080;text-underline-offset:6px;text-decoration-thickness:1px}
.priority-contact a:hover{color:#806433}
.priority-contact a:focus-visible,.ribbon-motion-toggle:focus-visible{outline:2px solid #867047;outline-offset:3px;border-radius:2px}
.intro-locked .priority-contact{visibility:hidden}
.intro-complete .priority-contact{animation:contactRibbonIn .8s cubic-bezier(.2,.7,.2,1) both}
@keyframes contactRibbonIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
.intro-complete .priority-contact a{animation:contactLinkSlide 10s ease-in-out infinite alternate}
.priority-contact:hover a,.priority-contact:focus-within a,.priority-contact.is-paused a{animation-play-state:paused}
@keyframes contactLinkSlide{from{translate:-4px 0}to{translate:4px 0}}
.ribbon-motion-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:#6e725f;cursor:pointer;font-size:12px;transition:background .2s}
.ribbon-motion-toggle:hover{background:#a38d6014}
#referrals{scroll-margin-top:170px}
@media(max-width:900px){
 .priority-contact{display:grid;grid-template-columns:auto auto;justify-content:center;column-gap:20px;row-gap:0;padding:2px 40px 2px 12px;min-height:88px}
 .priority-contact a{font-size:14px;letter-spacing:0;min-height:42px;justify-self:center;gap:7px}
 .priority-contact>a:nth-of-type(1){grid-column:1;grid-row:1}
 .priority-contact>a:nth-of-type(2){grid-column:1/-1;grid-row:2}
 .priority-contact>.ribbon-referral{grid-column:2;grid-row:1}
 .contact-ribbon-divider{display:none}
 .ribbon-motion-toggle{right:3px}
 #referrals{scroll-margin-top:195px}
 @keyframes contactLinkSlide{from{translate:-2px 0}to{translate:2px 0}}
}
@media(prefers-reduced-motion:reduce){.intro-complete .priority-contact,.intro-complete .priority-contact a{animation:none}.priority-contact a{transition:none}.ribbon-motion-toggle{display:none}}

/* Integrated top navigation and compact menu. */
.topbar{gap:24px}
.priority-contact{position:relative;top:auto;left:auto;right:auto;flex:1;min-width:0;min-height:44px;padding:0 30px 0 0;gap:18px;background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.priority-contact a{font-size:14px;min-height:44px;gap:7px;white-space:nowrap}
.ribbon-motion-toggle{right:0;width:28px;height:36px}
.topbar.is-scrolled .priority-contact{color:#f6f3ec}
.topbar.is-scrolled .contact-ribbon-icon,.topbar.is-scrolled .ribbon-motion-toggle{color:#d3c29c}
.topbar.is-scrolled .priority-contact a:hover{color:#d3c29c}
.mobile-menu{inset:82px 20px auto auto;width:min(340px,calc(100vw - 32px));max-height:calc(100svh - 100px);padding:48px 24px 20px;justify-content:flex-start;gap:2px;border:1px solid #d3c29c40;border-radius:8px;box-shadow:0 16px 48px #10271b30}
.mobile-menu a{display:flex;align-items:center;min-height:38px;padding:6px 0;font-size:18px;line-height:1.3}
.mobile-menu .menu-close{top:10px;right:14px;width:32px;height:32px;font-size:23px}
#referrals{scroll-margin-top:110px}
@media(max-width:1100px){
 .topbar,.topbar.is-scrolled{display:grid;grid-template-columns:1fr auto;height:auto;min-height:112px;padding:10px 24px 4px;gap:0 16px}
 .topbar .brand{grid-column:1;grid-row:1}
 .topbar .menu-button{grid-column:2;grid-row:1}
 .priority-contact{grid-column:1/-1;grid-row:2;display:flex;justify-content:center;gap:18px;padding:0 30px 0 0;min-height:44px}
 .priority-contact a{font-size:14px;min-height:44px}
 .contact-ribbon-divider{display:block}
 .mobile-menu{top:70px;max-height:calc(100svh - 86px)}
 #referrals{scroll-margin-top:145px}
}
@media(max-width:600px){
 .topbar,.topbar.is-scrolled{padding:8px 16px 4px;min-height:144px}
 .priority-contact{display:grid;grid-template-columns:auto auto;column-gap:20px;row-gap:0;padding:0 28px 0 0;min-height:76px}
 .priority-contact a{font-size:13px;min-height:36px;gap:6px}
 .priority-contact>a:nth-of-type(1){grid-column:1;grid-row:1}
 .priority-contact>a:nth-of-type(2){grid-column:1/-1;grid-row:2}
 .priority-contact>.ribbon-referral{grid-column:2;grid-row:1}
 .contact-ribbon-divider{display:none}
 .mobile-menu{right:16px;width:min(310px,calc(100vw - 32px));padding:46px 22px 16px;gap:0}
 .mobile-menu a{font-size:16px;min-height:38px}
 #referrals{scroll-margin-top:170px}
}

/* Contact tab without a motion button. */
.priority-contact{padding-right:0}
