/* TrafficManager shared UX baseline. Page-specific styles load after this file. */
.public-pages-container{--tm-body-font:"Roboto",sans-serif;--tm-heading-font:"Darker Grotesque",sans-serif}
.public-pages-container :is(h1,h2,h3,h4,h5,h6){font-family:var(--tm-heading-font)!important;text-wrap:balance}
.public-pages-container p,.public-pages-container .tm-header{font-family:var(--tm-body-font)!important}
.public-pages-container main :is(h1,h2,h3,p){overflow-wrap:break-word}
.public-pages-container main :is(input,select,textarea){font-family:var(--tm-body-font);font-size:16px}
.public-pages-container :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #b66c22;outline-offset:4px}
.public-pages-container [id]{scroll-margin-top:100px}
.tm-site-hero{height:auto;min-height:100svh}
.tm-site-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));grid-auto-rows:1fr;gap:24px}
.tm-site-feature-grid>*{min-width:0;grid-column:auto}
.tm-site-feature-grid>*>div.relative{height:100%;box-sizing:border-box}
.public-pages-container footer [data-tm-cookie-settings]{padding:0!important;margin:0!important;border:0;background:none;font-family:inherit;text-align:inherit;vertical-align:baseline}
/* Shorter footer map from tablet width. The lower footer still overlaps it by 224px (-mb-56),
   so phones keep the taller portrait crop from main.css or the country labels end up covered. */
@media(min-width:768px){
    .public-pages-container .tm-upper-footer{height:clamp(280px,60vw,720px);background-position:right top}
}
@media(max-width:767px){
    .tm-site-hero{min-height:0;padding-top:100px!important;padding-bottom:96px!important}
    .tm-site-feature-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
}
@media(max-width:575px){
    .public-pages-container main h1{font-size:clamp(34px,9vw,42px)!important;line-height:1.08!important}
    .public-pages-container main h2{font-size:32px!important;line-height:1.15!important;letter-spacing:0}
}
@media(prefers-reduced-motion:reduce){
    .public-pages-container *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* One visibility breakpoint: mobile by default, desktop from 1024px. */
#site-header nav{display:none}
#site-header .tm-header__burger{display:block}
@media(min-width:1024px){
    #site-header>.bootstrap-container{max-width:1360px!important;width:100%;padding-inline:24px!important;gap:20px}
    #site-header>.bootstrap-container>a:first-child{margin-right:0!important}
    #site-header nav{display:flex!important;margin-left:auto;flex-shrink:0}
    #site-header .tm-header__burger{display:none!important}
}
@media(min-width:1024px) and (max-width:1199px){
    #site-header .tm-header__logo{width:210px!important;max-height:none!important}
    #site-header nav{font-size:14px;gap:0}
    #site-header .tm-navbtn{font-size:14px!important;padding-inline:8px!important}
    #site-header>.bootstrap-container{gap:16px;padding-inline:20px!important}
}


/* Clear primary and registration actions across desktop and mobile. */
#site-header .tm-nav-register{border:1px solid #ffffffaa;border-radius:8px!important;padding:8px 12px!important;margin-inline:8px!important}
#site-header nav>a[href*="calendly"]{min-height:40px}
#site-header .tm-nav-current,#site-header a[aria-current="page"]{background:#ffffff20}
/* The negative margin keeps the label aligned with its siblings while the highlight gets room. */
#site-header .tm-dropdown__panel a[aria-current="page"]{background:#f4eafa;color:#71388f;border-radius:6px;margin-inline:-8px;padding-inline:8px}
#mobile-drawer .tm-nav-register{display:block;border:1px solid #ffffffaa;border-radius:8px!important;padding:10px 16px!important;text-align:center}
#mobile-drawer a[href*="calendly"]{display:block;width:100%!important;padding:12px 16px!important;text-align:center;border-radius:8px!important}
#mobile-drawer a[aria-current="page"]{background:#ffffff20}

#site-header .tm-nav-pricing-option{width:300px;max-width:calc(100vw - 64px);white-space:normal;padding:12px 0!important}
.tm-nav-pricing-name{display:block;font-weight:400;font-size:15px;line-height:1.5}
.tm-nav-pricing-description{display:block;font-size:13px;line-height:1.5;margin-top:4px;color:#626278;font-weight:400}
#mobile-drawer .tm-nav-pricing-description{color:#ffffffcc}
#mobile-drawer .tm-nav-pricing-option{border-radius:8px!important;padding-block:12px!important}

/* Separate the two product destinations without heavier menu typography. */
#site-header .tm-nav-pricing-option+.tm-nav-pricing-option{border-top:1px solid #ece7f2}
#mobile-drawer .tm-nav-pricing-option+.tm-nav-pricing-option{border-top:1px solid #ffffff26}
