
/* Shared public navigation. */
body.design-refresh .site-header{position:relative;z-index:50;gap:20px}
body.design-refresh .site-header #site-nav{gap:20px}
.about-trigger{display:flex;align-items:center;gap:7px;font-size:1rem;padding:12px 0;font-weight:600;background:transparent;white-space:nowrap}
.about-trigger span{transition:transform .2s}.about-trigger[aria-expanded=true] span{transform:rotate(180deg)}
.about-mega{position:absolute;left:0;right:0;top:calc(100% - 1px);padding:28px;background:#faf9f5;border:1px solid #d5d3cb;border-radius:0 0 24px 24px;z-index:60}
.mega-intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.mega-intro>span{font-size:11px;letter-spacing:.12em}.mega-intro p{font-size:20px;line-height:1.2;letter-spacing:-.5px}
.mega-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mega-card{display:flex;flex-direction:column;padding:16px;border:1px solid #292923;border-radius:14px;min-width:0;transition:transform .2s,background .2s}
.mega-card:hover{transform:translateY(-4px)}.mega-art{height:92px;font-size:70px;letter-spacing:-5px;line-height:1;display:flex;align-items:center;justify-content:center;overflow:hidden}.mega-label{display:flex;justify-content:space-between;gap:8px;font-size:17px;font-weight:600;margin-top:20px}.mega-card small{font-size:13px;line-height:1.4;margin-top:8px}.mega-studio{background:#e6b532}.mega-academy{background:#bac5ae}.mega-shop{background:#f2c4cb}.mega-portal{background:#ded8ef}
body.design-refresh .site-header .header-actions{gap:6px;margin-left:4px}body.design-refresh .site-header .header-actions .btn{font-size:14px;padding:12px 14px}
@media(max-width:1100px){body.design-refresh .site-header #site-nav{gap:12px}.brand-logo img{width:160px}body.design-refresh .site-header .header-actions .nav-demo-request{font-size:12px;padding:8px 4px}}
@media(max-width:1100px){body.design-refresh .site-header .mobile-nav-toggle{display:block}body.design-refresh .site-header #site-nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 100px);overflow:auto;padding:22px;background:#faf9f5;flex-direction:column;align-items:stretch;gap:14px}body.design-refresh .site-header #site-nav.open{display:flex}.about-trigger{width:100%;justify-content:space-between}.about-mega{position:static;padding:16px;border-radius:16px;margin-top:8px}.mega-intro{display:none}.mega-links{grid-template-columns:repeat(2,minmax(0,1fr))}.mega-art{height:55px;font-size:45px}.mega-label{font-size:15px;margin-top:12px}.mega-card{padding:12px}body.design-refresh .site-header .header-actions{margin:4px 0 0;flex-wrap:wrap;width:100%}.about-disclosure{width:100%}}
@media(prefers-reduced-motion:reduce){.mega-card,.about-trigger span{transition:none}.mega-card:hover{transform:none}}

body.design-refresh .site-header .header-actions .nav-demo-request{display:inline-flex;border:1px solid #242620;border-radius:100px;padding:12px 14px;font-size:14px;line-height:1.2;min-height:41px;background:transparent;text-decoration:none;transition:background .2s}
body.design-refresh .site-header .header-actions .nav-demo-request:hover{background:#e9e7df;text-decoration:none}
.about-mega:not([hidden]){animation:mega-appear .24s cubic-bezier(.2,.7,.3,1) both;transform-origin:top center}
@keyframes mega-appear{from{opacity:0;transform:translateY(-10px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.about-mega:not([hidden]){animation:none}}

body.design-refresh .site-header{position:sticky;top:0;z-index:100;min-height:72px;padding-top:12px;padding-bottom:12px;border-bottom:0;background:#faf9f5}
body.design-refresh .site-header #site-nav{margin-left:auto;justify-content:flex-end}
body.design-refresh .site-header .about-trigger{display:inline-flex;align-items:center;line-height:1.2;gap:7px}
.about-trigger>span{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:16px;line-height:1;transform-origin:center}
@media(max-width:1100px){body.design-refresh .site-header{min-height:64px;padding-top:10px;padding-bottom:10px}body.design-refresh .site-header #site-nav{max-height:calc(100dvh - 64px);justify-content:flex-start}body.design-refresh .site-header .about-trigger{width:100%;justify-content:flex-start}}

@media(min-width:1101px){body.design-refresh .site-header{gap:32px}body.design-refresh .site-header #site-nav{flex:1;margin-left:0;justify-content:flex-start}body.design-refresh .site-header .header-actions{margin-left:auto}}

body.design-refresh .about-trigger{display:inline-flex;align-items:center;gap:7px;line-height:1.25}
.about-trigger .about-chevron{display:block;flex:0 0 16px;width:16px;height:16px;align-self:center;transition:transform .22s ease;transform:rotate(0deg)}
.about-trigger[aria-expanded=true] .about-chevron{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){.about-trigger .about-chevron{transition:none}}

body.design-refresh .mega-card .mega-art.has-image{height:auto;aspect-ratio:2048 / 833;padding:0;background:transparent;overflow:hidden;border-radius:12px}
body.design-refresh .mega-art.has-image img{display:block;width:100%;height:100%;object-fit:contain;transform:none}

body.design-refresh .mega-card,body.design-refresh .mega-card:hover{background:transparent}
@media(min-width:1200px){body.design-refresh .site-header #site-nav{gap:32px}}
@media(min-width:1101px) and (max-width:1199px){body.design-refresh .site-header #site-nav{gap:18px}}
@media(min-width:1101px){.brand-footer .footer-top{grid-template-columns:1.5fr .8fr 1fr 1fr 1fr;gap:28px}}

/* The same three illustrations identify informational cards across the site. */
body.design-refresh .value-grid>article:nth-child(3n+1),body.design-refresh :is(.audience-grid,.purpose-principles,.services-grid,.ecosystem-grid,.help-grid)>:nth-child(3n+1){--card-art:url('/pricing-art/starter.png')}
body.design-refresh .value-grid>article:nth-child(3n+2),body.design-refresh :is(.audience-grid,.purpose-principles,.services-grid,.ecosystem-grid,.help-grid)>:nth-child(3n+2){--card-art:url('/pricing-art/studio.png')}
body.design-refresh .value-grid>article:nth-child(3n),body.design-refresh :is(.audience-grid,.purpose-principles,.services-grid,.ecosystem-grid,.help-grid)>:nth-child(3n){--card-art:url('/pricing-art/agency.png')}
body.design-refresh .value-grid .feature-card-top{background-image:var(--card-art)!important;background-size:cover;background-position:center}
body.design-refresh .value-grid .feature-specimen{display:none}
body.design-refresh :is(.audience-grid,.purpose-principles,.services-grid,.ecosystem-grid,.help-grid)>:before{content:'';display:block;height:112px;margin-bottom:24px;border-radius:16px 16px 0 0;background-image:var(--card-art);background-size:cover;background-position:center}
body.design-refresh .home-features .feature-card-top::before{display:none}

/* Compact header CTA sizing, shared across desktop and the mobile menu. */
html body.design-refresh .site-header .header-actions :is(.btn,.nav-demo-request){font-size:13px;line-height:1.2;padding:9px 11px;min-height:36px;gap:6px;box-sizing:border-box}
html body.design-refresh .site-header .header-actions .btn svg{width:14px;height:14px}

/* Desktop and tablet navigation labels. */
@media(min-width:641px){html body.design-refresh .site-header #site-nav>a:not(.btn){font-size:14px}}

/* 2026-10-23: mobile navigation follows desktop order and the website design system. */
@media (min-width:1101px) {
  html body.design-refresh .site-header #site-nav > .mobile-menu-layout {display:none!important}
}
@media (max-width:1100px) {
  html body.design-refresh .site-header {z-index:500!important}
  html body.design-refresh .site-header #site-nav {
    position:fixed!important;
    inset:var(--mobile-menu-top,64px) 0 0!important;
    width:100vw!important;
    height:auto!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    background:var(--paper,#faf9f5)!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    -webkit-overflow-scrolling:touch;
  }
  html body.design-refresh .site-header #site-nav:not(.open){display:none!important}
  html body.design-refresh .site-header #site-nav.open{display:flex!important}
  html body.design-refresh .site-header #site-nav > :not(.mobile-menu-layout){display:none!important}
  html body.design-refresh .site-header #site-nav > .mobile-menu-layout {
    display:flex!important;
    flex:1 0 auto;
    flex-direction:column;
    min-height:100%;
    width:100%;
    padding:0;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:inherit;
  }
  html body.design-refresh .site-header #site-nav .mobile-menu-items{flex:0 0 auto;width:100%;padding:0;margin:0}
  html body.design-refresh .site-header #site-nav .mobile-menu-section,
  html body.design-refresh .site-header #site-nav .mobile-menu-direct{
    appearance:none;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:60px!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:16px 6vw!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    color:var(--ink,#242620)!important;
    font-family:inherit!important;
    font-size:17px!important;
    font-weight:500!important;
    line-height:1.4!important;
    letter-spacing:normal!important;
    text-align:left!important;
    text-decoration:none!important;
    cursor:pointer;
  }
  /* Only actual dropdown triggers have icons; no arrows on ordinary links. */
  html body.design-refresh .site-header #site-nav .mobile-menu-section::after {
    content:'';
    display:block;
    box-sizing:border-box;
    flex:0 0 8px;
    width:8px;
    height:8px;
    margin:0 3px 3px 12px;
    border-right:1.75px solid currentColor;
    border-bottom:1.75px solid currentColor;
    transform:rotate(45deg);
    transition:transform .2s ease,margin .2s ease;
  }
  html body.design-refresh .site-header #site-nav .mobile-menu-section[aria-expanded=true]::after{
    transform:rotate(225deg);
    margin-bottom:-3px;
  }
  html body.design-refresh .site-header #site-nav .mobile-menu-direct::after{content:none!important;display:none!important}
  html body.design-refresh .site-header #site-nav .mobile-menu-submenu{
    display:flex;
    flex-direction:column;
    margin:0;
    padding:6px 6vw 12px;
    background:var(--paper,#faf9f5);
    box-shadow:none;
  }
  html body.design-refresh .site-header #site-nav .mobile-menu-submenu[hidden]{display:none!important}
  html body.design-refresh .site-header #site-nav .mobile-menu-submenu a{
    display:block;
    padding:12px 0;
    border:0;
    background:transparent;
    color:var(--ink,#242620);
    font-family:inherit;
    font-size:14px!important;
    font-weight:500!important;
    line-height:1.5!important;
    text-decoration:none;
  }
  html body.design-refresh .site-header #site-nav .mobile-menu-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    flex:0 0 auto;
    gap:12px!important;
    width:100%;
    box-sizing:border-box;
    margin:auto 0 0!important;
    padding:24px 6vw max(24px,env(safe-area-inset-bottom))!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:var(--paper,#faf9f5)!important;
  }
  html body.design-refresh .site-header #site-nav .mobile-menu-actions .btn{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    box-sizing:border-box!important;
    margin:0!important;
    /* Use the website's existing .btn.line and .btn.dark colors, type and radii. */
    min-height:44px!important;
    padding:10px 16px!important;
    font-family:inherit!important;
    font-size:14px!important;
    font-weight:500!important;
    line-height:22px!important;
    border-radius:16px!important;
    text-align:center!important;
  }
  html body.design-refresh .site-header #site-nav .mobile-menu-actions .btn.line{
    border:1px solid var(--ink,#242620)!important;
    background:transparent!important;
    color:var(--ink,#242620)!important;
  }
  html body.design-refresh .site-header #site-nav .mobile-menu-actions .btn.dark{
    border:1px solid var(--ink,#242620)!important;
    background:var(--ink,#242620)!important;
    color:var(--cream,#f4f1e8)!important;
  }
  html body.design-refresh.mobile-menu-open{overflow:hidden!important}
  html body.design-refresh .mobile-nav-toggle[aria-expanded=true]{
    font-family:inherit!important;
    font-size:23px!important;
    line-height:1!important;
  }
}
@media (prefers-reduced-motion:reduce){
  html body.design-refresh .site-header #site-nav .mobile-menu-section::after{transition:none}
}


/* Compact desktop mega menus matched to Brandguide IO typography and colour tokens. */
@media(min-width:1101px){
 html body.design-refresh .site-header #site-nav>.nav-mega-group{
  position:static;display:flex;align-items:center;align-self:stretch;
 }
 html body.design-refresh .site-header #site-nav>.nav-mega-group>.nav-mega-trigger{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:40px;padding:7px 0;
  color:var(--ink,#242620);background:transparent;border:0;
  font-family:inherit;font-size:14px!important;font-weight:500;
  line-height:1.4;white-space:nowrap;text-decoration:none;cursor:pointer;
 }
 html body.design-refresh .site-header #site-nav>.nav-direct-link{
  font-size:14px!important;font-weight:500;white-space:nowrap;
 }
 html body.design-refresh .site-header .nav-mega-chevron{
  display:inline-block;flex:none;width:7px;height:7px;
  margin:-4px 3px 0 0;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);
  transition:transform .22s ease,margin .22s ease;
 }
 html body.design-refresh .site-header .nav-mega-group.is-open .nav-mega-chevron{
  transform:rotate(225deg);margin-top:3px;
 }
 html body.design-refresh .site-header .nav-mega-panel{
  position:absolute;top:calc(100% - 1px);left:50%;z-index:150;
  width:min(960px,calc(100vw - 48px));
  max-height:min(72dvh,610px);overflow-y:auto;overscroll-behavior:contain;
  visibility:hidden;opacity:0;pointer-events:none;
  background:var(--paper,#faf9f5);color:var(--ink,#242620);
  border:0;border-radius:20px;
  box-shadow:0 12px 36px rgba(22,29,22,.11);
  transform:translateX(-50%) translateY(-8px);
  transform-origin:top center;
  transition:opacity .2s ease,transform .26s cubic-bezier(.22,.8,.2,1),visibility 0s linear .26s;
 }
 html body.design-refresh .site-header .nav-mega-group.is-open .nav-mega-panel{
  visibility:visible;opacity:1;pointer-events:auto;
  transform:translateX(-50%) translateY(0);
  transition:opacity .2s ease,transform .26s cubic-bezier(.22,.8,.2,1),visibility 0s;
 }
 html body.design-refresh .site-header .nav-mega-columns{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  min-height:0;
 }
 html body.design-refresh .site-header .nav-mega-column{
  min-width:0;padding:28px clamp(21px,2.25vw,32px) 32px;
 }
 html body.design-refresh .site-header .nav-mega-column+.nav-mega-column{
  border-left:1px solid var(--line,#dcded3);
 }
 html body.design-refresh .site-header .nav-mega-heading{
  margin:0 0 20px!important;
  color:#72786e;
  font-size:11px!important;line-height:1.45!important;
  font-weight:500!important;letter-spacing:.07em!important;
  text-transform:uppercase;
 }
 html body.design-refresh .site-header .nav-mega-list{
  display:flex;flex-direction:column;align-items:stretch;gap:17px;
 }
 html body.design-refresh .site-header .nav-mega-link{
  display:flex;flex-direction:column;gap:3px;min-width:0;
  color:var(--ink,#242620);background:transparent;border-radius:6px;
  text-decoration:none!important;
  transition:color .18s ease,transform .18s ease;
 }
 html body.design-refresh .site-header .nav-mega-link:hover,
 html body.design-refresh .site-header .nav-mega-link:focus-visible{
  color:#596853;transform:translateX(2px);
 }
 html body.design-refresh .site-header .nav-mega-link:focus-visible,
 html body.design-refresh .site-header .nav-mega-trigger:focus-visible{
  outline:2px solid var(--ink,#242620);outline-offset:4px;
 }
 html body.design-refresh .site-header .nav-mega-name{
  display:block;font-family:inherit;
  font-size:15px!important;line-height:1.35!important;
  font-weight:500!important;letter-spacing:-.01em;
 }
 html body.design-refresh .site-header .nav-mega-description{
  display:block;color:#757b72;font-family:inherit;
  font-size:12px!important;line-height:1.5!important;
  font-weight:400!important;letter-spacing:0;
 }
}
@media(min-width:1101px) and (max-width:1250px){
 html body.design-refresh .site-header .nav-mega-column{padding:24px 22px 28px}
 html body.design-refresh .site-header .nav-mega-heading{margin-bottom:17px!important}
 html body.design-refresh .site-header .nav-mega-list{gap:15px}
}
@media(max-width:1100px){
 /* Preserve the original full-width mobile menu and compact its nested lists. */
 html body.design-refresh .site-header #site-nav .mobile-menu-submenu{
  display:block!important;max-height:0;min-height:0;
  padding:0 6vw!important;margin:0!important;
  overflow:hidden!important;visibility:hidden;opacity:0;
  border:0!important;box-shadow:none!important;
  transition:max-height .31s cubic-bezier(.2,.8,.3,1),opacity .2s ease,visibility 0s linear .31s;
 }
 html body.design-refresh .site-header #site-nav .mobile-menu-submenu.is-open{
  max-height:660px;visibility:visible;opacity:1;
  transition:max-height .37s cubic-bezier(.2,.8,.3,1),opacity .22s ease,visibility 0s;
 }
 html body.design-refresh .site-header #site-nav .mobile-menu-submenu-inner{
  display:flex;flex-direction:column;padding:0 0 12px;
 }
 html body.design-refresh .site-header #site-nav .mobile-menu-category{
  display:block;padding:12px 0 3px;
  color:#777e74;font-size:10px!important;font-weight:500!important;
  letter-spacing:.075em;line-height:1.45;
 }
 html body.design-refresh .site-header #site-nav .mobile-menu-submenu-inner>a{
  padding:9px 0!important;font-size:13px!important;
  line-height:1.45!important;font-weight:500!important;
 }
}
@media(prefers-reduced-motion:reduce){
 html body.design-refresh .site-header :is(.nav-mega-chevron,.nav-mega-panel,.nav-mega-link,.mobile-menu-submenu){
  transition:none!important;animation:none!important;
 }
}
