:root {
  --bg: #eef3f8;
  --text: #081a36;
  --muted: #587093;
  --line: rgba(204, 216, 230, 0.95);
  --primary: #173f9d;
  --primary-2: #2450ba;
  --dark: #07111d;
  --white: #ffffff;
  --shadow: 0 18px 50px rgba(7, 17, 29, 0.14);
  --radius-xl: 34px;
  --radius-lg: 26px;
  --header-utility: 30px;
  --header-nav: 72px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: #fff;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
img { max-width: 100%; display: block; }
.container { width: min(1280px, calc(100% - 42px)); margin: 0 auto; }
.site-main { position: relative; z-index: 1; }

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 80;
  transition: transform .34s ease, background-color .34s ease;
}
.site-header.is-overlay .utility-bar,
.site-header.is-overlay .nav-shell {
  background: rgba(152, 187, 220, 0.14);
  backdrop-filter: blur(10px);
}
.site-header.is-inner .utility-bar {
  background: rgba(152, 187, 220, 0.88);
}
.site-header.is-inner .nav-shell {
  background: rgba(255,255,255,0.94);
  border-bottom: 1px solid rgba(212, 223, 235, 0.96);
}
.utility-bar {
  position: relative;
  z-index: 96;
  height: var(--header-utility);
  transition: transform .32s ease, opacity .22s ease, height .32s ease, margin .32s ease;
  border-bottom: 1px solid rgba(255,255,255,0.18);
}
.utility-inner, .utility-right, .lang-switcher { overflow: visible; }
.utility-inner {
  min-height: var(--header-utility);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.utility-left, .utility-right { display: flex; align-items: center; gap: 14px; }
.utility-phone {
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: -.02em;
  color: rgba(255,255,255,.98);
}
.social-icons { display: flex; align-items: center; gap: 8px; }
.social-link {
  width: 15px; height: 15px; display: inline-flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.92);
  transition: color .18s ease, transform .18s ease;
}
.social-link svg { width: 15px; height: 15px; }
.social-link:hover { transform: translateY(-1px); }
.social-instagram:hover { color: #E4405F; }
.social-linkedin:hover { color: #0A66C2; }
.social-youtube:hover { color: #FF0033; }
.social-email:hover { color: #f0f6ff; }
.lang-switcher { position: relative; }
.lang-toggle {
  border: 0; background: transparent; color: rgba(255,255,255,.95); padding: 2px 4px; cursor: pointer; font-size: 1rem;
}
.lang-menu {
  position: absolute; right: 0; top: calc(100% + 10px); min-width: 86px; display: none; z-index: 220;
  padding: 8px; border-radius: 18px; background: rgba(255,255,255,.96); border: 1px solid rgba(221,228,237,.95); box-shadow: var(--shadow);
}
.lang-switcher.is-open .lang-menu { display: grid; gap: 4px; }
.lang-menu a { padding: 8px 10px; border-radius: 12px; font-size: .86rem; color: var(--text); font-weight: 800; }
.lang-menu a.is-active, .lang-menu a:hover { background: #eef3f9; }

.nav-shell {
  position: relative;
  z-index: 90;
  min-height: var(--header-nav);
  border-bottom: 1px solid rgba(255,255,255,.18);
  transition: min-height .34s ease, background-color .34s ease, transform .34s ease, border-color .34s ease;
}
.nav-inner {
  min-height: var(--header-nav);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  transition: min-height .34s ease, padding .34s ease;
}
.brand { display: inline-flex; align-items: center; }
.brand-logo { height: 42px; width: auto; }
.brand-logo-dark { display: none; }
.page-inner .brand-logo-light, .site-header.is-scrolled .brand-logo-light { display: none; }
.page-inner .brand-logo-dark, .site-header.is-scrolled .brand-logo-dark { display: block; }
.main-nav {
  display: flex; align-items: center; justify-content: center; gap: 10px;
}
.main-nav > a, .nav-link-row > a {
  color: rgba(255,255,255,.96);
  font-size: .98rem;
  font-weight: 800;
  padding: 8px 10px;
  border-radius: 14px;
  transition: color .2s ease, background-color .2s ease;
}
.page-inner .main-nav > a,
.page-inner .nav-link-row > a,
.site-header.is-scrolled .main-nav > a,
.site-header.is-scrolled .nav-link-row > a { color: var(--text); }
.main-nav > a:hover,
.nav-link-row > a:hover { background: rgba(255,255,255,.10); }
.page-inner .main-nav > a:hover,
.page-inner .nav-link-row > a:hover,
.site-header.is-scrolled .main-nav > a:hover,
.site-header.is-scrolled .nav-link-row > a:hover { background: rgba(238,243,249,.92); }
.nav-item { position: relative; }
.nav-link-row { display: flex; align-items: center; gap: 2px; }
.submenu-toggle-mobile { display: none; }
.submenu {
  position: absolute; left: 0; top: calc(100% + 12px); min-width: 220px; display: none; gap: 6px; z-index: 110;
  padding: 10px; border-radius: 18px; background: rgba(255,255,255,.96); border: 1px solid rgba(222,229,238,.96); box-shadow: var(--shadow);
}
.nav-item.is-open .submenu { display: grid; }
.submenu a { padding: 8px 10px; border-radius: 12px; color: var(--text); font-weight: 700; }
.submenu a:hover { background: #eef3f9; }
.nav-actions { display: flex; align-items: center; gap: 12px; }
.search-toggle {
  width: 52px; height: 52px; border-radius: 999px; border: 1px solid rgba(255,255,255,.34);
  background: rgba(255,255,255,.10); color: rgba(255,255,255,.96); display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
}
.page-inner .search-toggle, .site-header.is-scrolled .search-toggle {
  border-color: rgba(204,216,230,.96); background: rgba(255,255,255,.95); color: var(--text);
}
.search-toggle svg { width: 24px; height: 24px; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 24px;
  border-radius: 999px; font-weight: 800; letter-spacing: -.02em; border: 1px solid transparent; transition: transform .18s ease, background-color .18s ease, color .18s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--primary); color: #fff; }
.btn-primary:hover { background: var(--primary-2); }
.btn-soft { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.28); color: rgba(255,255,255,.98); }
.page-inner .btn-soft, .site-header.is-scrolled .btn-soft {
  background: rgba(255,255,255,.96); border-color: rgba(210,220,230,.96); color: var(--text);
}
.btn-dark { background: var(--dark); color: #fff; }
.profile-chip {
  display: inline-flex; align-items: center; gap: 12px; min-height: 54px; padding: 0 18px;
  border-radius: 999px; background: rgba(255,255,255,.92); border: 1px solid rgba(220,228,237,.96); color: var(--text); box-shadow: 0 10px 30px rgba(7,17,29,.08);
}
.profile-meta strong { color: var(--text); display:block; }
.profile-meta small { color: #6a7f9f; display:block; }
.profile-avatar { color: var(--text); }
.profile-avatar {
  width: 40px; height: 40px; border-radius: 999px; overflow: hidden; background: #e8eef8; display: inline-flex; align-items: center; justify-content: center; font-weight: 900;
}
.profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.profile-meta { display: flex; flex-direction: column; }
.profile-meta strong { font-size: .96rem; }
.profile-meta small { color: var(--muted); font-weight: 700; }
.menu-toggle { display: none; background: transparent; border: 0; padding: 0; cursor: pointer; }
.menu-toggle span { display:block; width:24px; height:2px; margin:5px 0; background: currentColor; border-radius: 999px; }
.page-inner .menu-toggle, .site-header.is-scrolled .menu-toggle { color: var(--text); }
.page-home .menu-toggle { color: #fff; }

.site-header.is-scrolled .utility-bar {
  transform: translateY(-100%);
  opacity: 0;
  height: 0;
  margin-top: -1px;
  overflow: hidden;
  border-bottom-color: transparent;
}
.site-header.is-scrolled .nav-shell {
  transform: none;
  min-height: 60px;
  background: rgba(255,255,255,.88);
  border-bottom: 1px solid rgba(220,228,237,.96);
  backdrop-filter: blur(18px);
}
.site-header.is-scrolled .nav-inner { min-height: 60px; }
.site-header.is-scrolled .main-nav > a,
.site-header.is-scrolled .nav-link-row > a,
.site-header.is-scrolled .lang-toggle,
.site-header.is-scrolled .search-toggle { color: var(--text); }
.site-header.is-scrolled .btn-soft { color: var(--text); }

.hero {
  position: relative; min-height: 100svh; color: #fff; overflow: clip;
}
.hero-media { position: absolute; inset: 0; overflow: hidden; }
.hero-media video { width: 100%; height: 100%; object-fit: cover; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,17,29,.18), rgba(7,17,29,.26) 38%, rgba(7,17,29,.38) 100%); }
.hero-grid {
  position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 28px; align-items: end;
  padding: 170px 0 90px;
}
.glass-card {
  border-radius: var(--radius-xl);
  border: 1px solid rgba(255,255,255,.20);
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(12px);
  box-shadow: var(--shadow);
}
.glass-card-light {
  background: rgba(255,255,255,.22);
  border-color: rgba(255,255,255,.16);
  color: var(--text);
}
.hero-copy { padding: 36px; }
.eyebrow {
  display: inline-flex; align-items: center; min-height: 30px; padding: 0 12px; border-radius: 999px;
  background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.24); text-transform: uppercase; letter-spacing: .11em; font-size: .78rem; font-weight: 900;
}
.eyebrow-dark { background: rgba(21,63,157,.08); border-color: rgba(21,63,157,.12); color: #536e9f; }
.hero-copy h1 {
  margin: 18px 0 14px; font-size: clamp(64px, 9vw, 116px); line-height: .9; letter-spacing: -.07em;
}
.hero-subtitle {
  margin: 0; font-size: 1.18rem; font-weight: 700; color: rgba(255,255,255,.92); max-width: 48rem;
}
.hero-copy-text {
  margin: 20px 0 0; font-size: 1.03rem; line-height: 1.8; color: rgba(255,255,255,.86); max-width: 46rem;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 26px; }
.hero-proof-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.proof-pill {
  display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.24); color: rgba(255,255,255,.95); font-weight: 700;
}
.hero-side-card { padding: 30px; }
.hero-side-card h3 { margin: 16px 0 12px; font-size: clamp(30px, 4vw, 42px); letter-spacing: -.05em; }
.hero-side-card p { margin: 0; line-height: 1.8; color: rgba(255,255,255,.86); }
.hero-side-card .btn { margin-top: 24px; }

.section { padding: 82px 0; }
.section-head { display: grid; gap: 12px; margin-bottom: 28px; }
.section-head-row { grid-template-columns: 1fr auto; align-items: end; }
.section-head h2 { margin: 0; font-size: clamp(34px, 5vw, 58px); letter-spacing: -.05em; color: var(--text); }
.section-head p { margin: 0; max-width: 54rem; color: var(--muted); line-height: 1.8; }
.services-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px;
}
.service-card { padding: 24px; }
.service-card h3 { margin: 0 0 8px; font-size: 1.22rem; }
.service-card p { margin: 0; color: var(--muted); line-height: 1.8; }
.about-grid {
  display: grid; grid-template-columns: 1.08fr .92fr; gap: 24px; align-items: stretch;
}
.about-copy-card, .portrait-card { padding: 28px; }
.about-copy-card h2 { margin: 14px 0 12px; font-size: clamp(34px, 4.5vw, 58px); letter-spacing: -.05em; }
.about-copy-card p { margin: 0; color: #44597d; line-height: 1.85; }
.about-points-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; margin-top: 26px;
}
.about-points-grid article h3 { margin: 0 0 8px; font-size: 1.12rem; }
.about-points-grid article p { margin: 0; font-size: .98rem; }
.portrait-media {
  min-height: 100%; border-radius: 28px; overflow: hidden; background: linear-gradient(135deg, #f5f7fb, #e8eef8); display: grid; place-items: center;
}
.portrait-media img { width: 100%; height: 100%; object-fit: cover; }
.portrait-fallback { min-height: 420px; display: grid; place-items: center; padding: 28px; text-align: center; }
.portrait-fallback strong { font-size: 2rem; }
.portrait-fallback span { color: var(--muted); }
.events-rail {
  display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 300px); gap: 18px; overflow-x: auto; padding-bottom: 10px; scrollbar-width: thin;
}
.events-rail::-webkit-scrollbar { height: 10px; }
.events-rail::-webkit-scrollbar-thumb { background: rgba(117, 137, 165, 0.45); border-radius: 999px; }
.album-note { color: var(--muted); font-weight: 700; }
.event-card { padding: 20px; }
.event-image-slot {
  height: 180px; border-radius: 22px; overflow: hidden; background: linear-gradient(135deg, #edf3fb, #e2ebf6); margin-bottom: 16px;
}
.event-image-fallback { width: 100%; height: 100%; display: grid; place-items: center; font-size: 2rem; font-weight: 900; color: #5f78a4; }
.event-year { display: inline-flex; font-weight: 900; font-size: .82rem; text-transform: uppercase; letter-spacing: .12em; color: #5c76a3; }
.event-card h3 { margin: 10px 0 6px; font-size: 1.2rem; }
.event-location { margin: 0; color: var(--muted); }
.text-link { display: inline-flex; margin-top: 16px; font-weight: 800; color: var(--primary); }
.packages-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px;
}
.package-card { padding: 28px; position: relative; }
.package-card.is-featured { outline: 2px solid rgba(36,80,186,.25); transform: translateY(-4px); }
.package-badge {
  position: absolute; top: 18px; right: 18px; min-height: 28px; padding: 0 12px; border-radius: 999px; background: rgba(36,80,186,.10); color: #2148a9; font-size: .78rem; font-weight: 900; display: inline-flex; align-items: center;
}
.package-card h3 { margin: 0; font-size: 1.28rem; }
.package-price {
  display: block; margin-top: 12px; font-size: 2.2rem; font-weight: 900; letter-spacing: -.05em;
}
.package-card p { margin: 12px 0 0; color: var(--muted); line-height: 1.75; }
.package-list { margin: 18px 0 22px; padding: 0; list-style: none; display: grid; gap: 10px; }
.package-list li { position: relative; padding-left: 22px; color: #29456f; }
.package-list li::before { content: '•'; position: absolute; left: 0; top: 0; color: var(--primary); font-weight: 900; }

.site-footer {
  background: #07111d; color: #d7e2f0; padding: 56px 0 22px;
}
.footer-companies-wrap { padding-bottom: 34px; }
.footer-companies-head { display: grid; gap: 8px; margin-bottom: 20px; }
.footer-companies-head h3 { margin: 0; color: #fff; font-size: clamp(30px, 4vw, 42px); letter-spacing: -.04em; }
.footer-company-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px;
}
.footer-company-card {
  padding: 16px; border-radius: 24px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); display: grid; gap: 10px; align-content: start;
}
.footer-company-logo-wrap {
  min-height: 74px; border-radius: 18px; background: rgba(255,255,255,.03); display: flex; align-items: center; justify-content: center; padding: 10px;
}
.footer-company-logo-wrap img { max-width: 100%; max-height: 44px; }
.footer-company-fallback { font-weight: 800; color: #fff; text-align: center; }
.footer-company-card strong { color: #fff; font-size: 1.1rem; }
.footer-company-card small { color: #aebdd1; line-height: 1.6; font-size: .93rem; }
.footer-grid {
  display: grid; grid-template-columns: 2fr 1fr 1fr 1.2fr; gap: 24px; padding: 34px 0 26px; border-bottom: 1px solid rgba(255,255,255,.10);
}
.footer-logo { max-width: 240px; max-height: 42px; margin-bottom: 16px; }
.footer-brand p { margin: 0; max-width: 30rem; line-height: 1.75; }
.site-footer h4 { margin: 0 0 12px; color: #fff; }
.site-footer ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.site-footer a { color: #d7e2f0; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; padding-top: 18px; }
.back-to-top { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; }
.back-to-top::before { content: '↑'; }

.search-overlay {
  position: fixed; inset: 0; z-index: 110; background: rgba(7,17,29,.55); backdrop-filter: blur(6px); display: grid; place-items: start center; padding-top: 100px;
}
.search-overlay[hidden] { display: none; }
.search-panel {
  width: min(720px, calc(100vw - 32px)); background: #fff; border-radius: 28px; padding: 22px; box-shadow: var(--shadow);
}
.search-panel__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.search-panel__head button { border: 0; background: transparent; font-size: 2rem; cursor: pointer; }
.search-panel input { width: 100%; min-height: 54px; border-radius: 18px; border: 1px solid #d8e0eb; padding: 0 16px; }
.search-results { min-height: 90px; padding-top: 14px; color: var(--muted); }

.page-inner .site-main { padding-top: calc(var(--header-utility) + var(--header-nav) + 24px); }
.page-inner .utility-phone,
.page-inner .social-link,
.page-inner .lang-toggle { color: var(--text); }
.page-inner .nav-shell { background: rgba(255,255,255,.94); }
.page-inner .utility-bar { background: rgba(152,187,220,.90); }

@media (max-width: 1100px) {
  .hero-grid, .about-grid, .packages-grid, .footer-grid, .footer-company-grid, .services-grid { grid-template-columns: 1fr 1fr; }
  .hero-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
}
@media (max-width: 860px) {
  .menu-toggle { display: inline-block; }
  .nav-inner { grid-template-columns: auto auto auto; }
  .main-nav {
    display: none; position: fixed; top: 86px; left: 14px; right: 14px; padding: 18px; border-radius: 24px;
    flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 8px;
    background: rgba(255,255,255,.98); border: 1px solid rgba(224,230,238,.96); box-shadow: var(--shadow);
  }
  .site-header.menu-open .main-nav { display: flex; }
  .page-home .main-nav > a, .page-home .nav-link-row > a { color: var(--text); }
  .submenu { position: static; display: none; box-shadow: none; border: 0; padding: 8px 0 0; background: transparent; }
  .nav-item.is-open .submenu { display: grid; }
  .submenu-toggle-mobile { display: inline-flex; border: 0; background: transparent; font-weight: 900; color: var(--text); }
  .nav-actions .btn-soft, .nav-actions .profile-chip { display: none; }
  .page-inner .site-main { padding-top: 124px; }
}
@media (max-width: 720px) {
  .container { width: min(100% - 26px, 1280px); }
  .utility-bar { height: 26px; }
  .utility-inner { min-height: 26px; justify-content: center; }
  .utility-left { gap: 10px; }
  .utility-phone { font-size: .76rem; }
  .social-icons { gap: 8px; }
  .social-link, .social-link svg { width: 15px; height: 15px; }
  .nav-shell { min-height: 66px; }
  .nav-inner { min-height: 66px; }
  .brand-logo { height: 34px; }
  .hero-grid { padding-top: 126px; padding-bottom: 70px; }
  .hero-copy { padding: 22px; }
  .hero-copy h1 { font-size: clamp(44px, 14vw, 72px); }
  .hero-subtitle { font-size: 1rem; }
  .hero-copy-text { font-size: .96rem; }
  .hero-side-card { padding: 22px; }
  .section { padding: 64px 0; }
  .services-grid, .about-grid, .about-points-grid, .packages-grid, .footer-grid, .footer-company-grid { grid-template-columns: 1fr; }
  .section-head-row { grid-template-columns: 1fr; }
  .events-rail { grid-auto-columns: 86%; }
  .footer-bottom { flex-direction: column; gap: 12px; align-items: flex-start; }
}

.section.section-services,
.section.section-about,
.section.section-events,
.section.section-packages { color: var(--text); }
.service-card h3,
.package-card h3,
.about-copy-card h2,
.event-book__page h3,
.auth-side h1,
.auth-main h2,
.auth-form label span { color: var(--text); }

.event-album { padding: 28px; }
.event-album__head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:18px; }
.event-album__years { display:flex; flex-wrap:wrap; gap:10px; }
.event-year-chip, .album-nav-btn {
  min-height: 42px; padding: 0 16px; border-radius: 999px; border:1px solid rgba(34,65,118,.14); background:#fff; color:var(--text); font-weight:800; cursor:pointer;
}
.event-year-chip.is-active, .album-nav-btn:hover { background: rgba(36,80,186,.10); border-color: rgba(36,80,186,.28); color: #173f9d; }
.event-book { display:grid; grid-template-columns: 1.1fr .9fr; gap:18px; align-items:stretch; }
.event-book__page { min-height: 360px; border-radius: 26px; overflow:hidden; background:linear-gradient(135deg,#f7f9fc,#edf2f9); padding: 24px; }
.event-book__page--visual { padding:0; }
.event-image-slot--book, .event-image-slot--book img { width:100%; height:100%; object-fit:cover; }
.event-summary { color: #536b8d; line-height: 1.8; }

.package-selection-bar { margin-top: 18px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding: 18px 22px; }
.package-selection-bar strong { color: var(--text); }
#packageSelectionLabel { color:#315088; font-weight:800; }
.package-card { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, outline-color .18s ease; cursor:pointer; }
.package-card.is-selected { outline: 2px solid rgba(23,63,157,.34); box-shadow: 0 18px 40px rgba(23,63,157,.12); transform: translateY(-2px); }

.auth-page { padding: 150px 0 82px; background: linear-gradient(180deg, rgba(228,236,246,.92), rgba(241,245,251,.98)); }
.auth-grid { display:grid; grid-template-columns: .92fr 1.08fr; gap:24px; align-items:stretch; }
.auth-side, .auth-main { padding: 30px; }
.auth-side h1 { margin: 14px 0 14px; font-size: clamp(36px, 5vw, 58px); letter-spacing:-.05em; }
.auth-side p { margin:0; color:#526987; line-height:1.85; }
.auth-side-points { margin-top: 22px; display:grid; gap:14px; }
.auth-side-points article { display:grid; gap:4px; padding: 16px 18px; border-radius: 20px; background: rgba(255,255,255,.58); border:1px solid rgba(214,224,236,.84); }
.auth-side-points strong { color: var(--text); }
.auth-side-points span { color:#597190; }
.auth-package-chip { margin-top: 22px; display:inline-grid; gap:6px; padding:16px 18px; border-radius:20px; background: rgba(255,255,255,.64); border:1px solid rgba(214,224,236,.84); }
.auth-package-chip strong { color: var(--text); }
.auth-package-chip span { color:#2f4f86; font-weight:900; }
.oauth-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.oauth-btn { min-height: 58px; padding: 0 18px; border-radius: 18px; border:1px solid rgba(213,224,236,.94); background:#fff; display:inline-flex; align-items:center; justify-content:center; gap:12px; color:var(--text); font-weight:800; }
.oauth-btn svg { width:20px; height:20px; }
.oauth-google:hover { border-color: rgba(66,133,244,.35); box-shadow: 0 12px 26px rgba(66,133,244,.10); }
.oauth-facebook:hover { border-color: rgba(24,119,242,.35); box-shadow: 0 12px 26px rgba(24,119,242,.10); }
.auth-form { display:grid; gap:16px; }
.auth-form label { display:grid; gap:8px; }
.auth-form input { width:100%; min-height:58px; border-radius:18px; border:1px solid #d8e0eb; padding: 0 16px; background:#fff; color:var(--text); }
.auth-form input:focus { outline:none; border-color:#9ab2d1; box-shadow:0 0 0 4px rgba(152,178,219,.18); }
.btn-full { width:100%; justify-content:center; }
.auth-switch { margin:0; color:#5e7494; }
.auth-switch a { color:#173f9d; font-weight:800; }

@media (max-width: 860px) {
  .event-book, .auth-grid, .oauth-grid { grid-template-columns: 1fr; }
  .package-selection-bar { flex-direction: column; align-items: flex-start; }
}

.lang-switcher.is-open { z-index: 240; }


/* v92a admin + auth */
.page-admin .site-main,
.page-auth .site-main { padding-top: calc(var(--header-utility) + var(--header-nav) + 24px); }
.page-admin .nav-shell,
.page-auth .nav-shell { background: rgba(255,255,255,.88); backdrop-filter: blur(16px); }
.page-admin .brand-logo-light,
.page-auth .brand-logo-light { display: none; }
.page-admin .brand-logo-dark,
.page-auth .brand-logo-dark { display: block; }
.page-admin .main-nav a,
.page-auth .main-nav a,
.page-admin .utility-phone,
.page-auth .utility-phone,
.page-admin .profile-meta strong,
.page-auth .profile-meta strong,
.page-admin .profile-meta small,
.page-auth .profile-meta small { color: #0a1320; }

.admin-shell { padding: 1.25rem 0 3rem; }
.admin-shell__grid { display: grid; grid-template-columns: 300px minmax(0,1fr); gap: 1.5rem; align-items: start; }
.admin-sidebar-card { position: sticky; top: 104px; background: rgba(255,255,255,.9); border: 1px solid rgba(15,23,42,.08); border-radius: 28px; padding: 1.1rem; box-shadow: 0 24px 80px rgba(15,23,42,.08); backdrop-filter: blur(14px); }
.admin-brand-lockup { display:flex; gap:.9rem; align-items:center; margin-bottom:1rem; }
.admin-brand-lockup__media { position:relative; width:72px; height:72px; border-radius:22px; overflow:hidden; background: linear-gradient(180deg,#f4f7fb,#e9eef6); display:grid; place-items:center; }
.admin-brand-lockup__logo { width:100%; height:100%; object-fit:contain; padding:.8rem; }
.admin-brand-lockup__avatar { position:absolute; right:-6px; bottom:-6px; width:34px; height:34px; border-radius:50%; background:#0f172a; color:#fff; border:3px solid #fff; display:grid; place-items:center; overflow:hidden; font-size:.82rem; font-weight:800; }
.admin-brand-lockup__avatar img { width:100%; height:100%; object-fit:cover; }
.admin-brand-lockup strong { display:block; color:#0f172a; }
.admin-brand-lockup small { color:#667085; }
.admin-sidebar-section + .admin-sidebar-section { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgba(15,23,42,.08); }
.admin-sidebar-heading { display:block; margin-bottom:.55rem; font-size:.76rem; letter-spacing:.12em; text-transform:uppercase; color:#64748b; }
.admin-sidebar-nav { display:grid; gap:.4rem; }
.admin-sidebar-nav a { display:flex; align-items:center; justify-content:space-between; padding:.8rem .95rem; border-radius:16px; color:#162234; text-decoration:none; background:transparent; transition:.18s ease; }
.admin-sidebar-nav a:hover, .admin-sidebar-nav a.is-active { background:#0f172a; color:#fff; }
.admin-sidebar-footnote p { margin:0; color:#667085; font-size:.92rem; line-height:1.55; }
.admin-main { min-width:0; }
.admin-page-head { display:flex; gap:1rem; align-items:flex-end; justify-content:space-between; margin-bottom:1.2rem; }
.admin-page-head h1 { margin:.1rem 0 .3rem; color:#0f172a; font-size:clamp(1.8rem,3vw,2.5rem); }
.admin-page-head p { margin:0; color:#556273; max-width:56rem; }
.admin-head-actions { display:flex; gap:.75rem; flex-wrap:wrap; }
.admin-stats-grid { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:1rem; margin-bottom:1rem; }
.admin-stat-card { background:#fff; border:1px solid rgba(15,23,42,.08); border-radius:24px; padding:1.15rem; box-shadow:0 18px 60px rgba(15,23,42,.06); }
.admin-stat-card small { display:block; color:#64748b; margin-bottom:.35rem; text-transform:uppercase; letter-spacing:.08em; font-size:.72rem; }
.admin-stat-card strong { display:block; color:#0f172a; font-size:2rem; line-height:1; margin-bottom:.35rem; }
.admin-stat-card span { color:#667085; font-size:.92rem; }
.admin-content-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:1rem; }
.admin-content-grid--single { grid-template-columns: minmax(0,1fr); }
.admin-list { display:grid; gap:.65rem; }
.admin-list-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1rem; border-radius:18px; background:#f8fafc; border:1px solid rgba(15,23,42,.06); }
.admin-list-row strong { display:block; color:#0f172a; }
.admin-list-row small { color:#667085; }
.status-pill { display:inline-flex; align-items:center; border-radius:999px; padding:.38rem .65rem; background:#e8edf4; color:#0f172a; font-size:.75rem; font-weight:700; }
.admin-table-wrap { overflow:auto; }
.admin-table { width:100%; border-collapse:separate; border-spacing:0; }
.admin-table th, .admin-table td { text-align:left; padding:1rem .85rem; border-bottom:1px solid rgba(15,23,42,.08); vertical-align:top; }
.admin-table th { font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:#64748b; }
.admin-table td strong { display:block; color:#0f172a; }
.admin-table td small { color:#667085; }
.admin-actions-cell { white-space:nowrap; }
.btn-sm { padding:.6rem .85rem; font-size:.84rem; }
.admin-form-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:1rem; }
.admin-form-grid label { display:grid; gap:.42rem; }
.admin-form-grid label span { color:#475569; font-size:.88rem; }
.admin-form-grid input, .admin-form-grid select, .admin-form-grid textarea { width:100%; border:1px solid rgba(15,23,42,.12); border-radius:16px; padding:.9rem 1rem; background:#fff; color:#0f172a; }
.admin-form-grid__full { grid-column: 1 / -1; }

.auth-shell { padding: 2rem 0 4rem; }
.auth-shell__grid { display:grid; grid-template-columns: 1.05fr .95fr; gap:1.25rem; align-items:stretch; }
.auth-marketing-card, .auth-form-card { background: rgba(255,255,255,.9); border:1px solid rgba(15,23,42,.08); border-radius: 32px; box-shadow: 0 28px 90px rgba(15,23,42,.08); backdrop-filter: blur(16px); }
.auth-marketing-card { padding:2rem; }
.auth-marketing-card h1 { margin:.15rem 0 .65rem; color:#0f172a; font-size:clamp(2rem,3.6vw,3rem); }
.auth-marketing-card p { color:#556273; max-width:44rem; }
.auth-benefits { margin-top:1.15rem; padding:1rem 1.1rem; border-radius:24px; background:#0f172a; color:#fff; }
.auth-benefits h2 { margin:0 0 .75rem; font-size:1rem; }
.auth-benefits ul { margin:0; padding-left:1.1rem; display:grid; gap:.4rem; }
.auth-form-card { padding:1.6rem; }
.auth-brand-row { display:flex; gap:.8rem; align-items:center; margin-bottom:1rem; }
.auth-brand-row img { height:38px; width:auto; object-fit:contain; }
.auth-brand-row span { color:#0f172a; font-weight:700; }
.auth-socials { display:grid; gap:.7rem; }
.auth-social { display:flex; align-items:center; gap:.72rem; justify-content:center; border-radius:18px; padding:.95rem 1rem; border:1px solid rgba(15,23,42,.12); text-decoration:none; color:#0f172a; background:#fff; transition:.18s ease; }
.auth-social:hover { transform:translateY(-1px); box-shadow:0 18px 44px rgba(15,23,42,.08); }
.auth-social svg { width:18px; height:18px; }
.auth-social--google:hover { border-color: rgba(66,133,244,.35); }
.auth-social--facebook:hover { border-color: rgba(24,119,242,.35); }
.auth-divider { position:relative; text-align:center; margin:1rem 0; color:#64748b; }
.auth-divider:before { content:''; position:absolute; left:0; right:0; top:50%; height:1px; background:rgba(15,23,42,.1); }
.auth-divider span { position:relative; z-index:1; background:#fff; padding:0 .75rem; }
.auth-form { display:grid; gap:.9rem; }
.auth-form label { display:grid; gap:.42rem; }
.auth-form label span { font-size:.9rem; color:#334155; }
.auth-form input { width:100%; border:1px solid rgba(15,23,42,.12); border-radius:16px; padding:1rem 1rem; background:#fff; color:#0f172a; }
.auth-remember { display:flex !important; align-items:center; gap:.6rem; }
.auth-remember input { width:auto; }
.auth-submit { width:100%; justify-content:center; }
.auth-footnote { margin-top:1rem; color:#64748b; }
.auth-footnote a { color:#0f172a; font-weight:700; }
.auth-flash { margin-bottom:1rem; padding:.85rem 1rem; border-radius:16px; background:#eff6ff; color:#0f172a; border:1px solid rgba(59,130,246,.18); }
.auth-error { color:#b91c1c; }

@media (max-width: 1100px) {
  .admin-shell__grid, .auth-shell__grid { grid-template-columns: 1fr; }
  .admin-sidebar-card { position: static; }
  .admin-stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-content-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .admin-page-head { flex-direction:column; align-items:flex-start; }
  .admin-stats-grid { grid-template-columns: 1fr; }
  .admin-form-grid { grid-template-columns: 1fr; }
}


/* v93a admin dropdown + company workspace */
.page-admin .utility-bar,
.page-auth .utility-bar { background: rgba(152,187,220,.90); }
.page-admin .utility-phone,
.page-auth .utility-phone,
.page-admin .social-link,
.page-auth .social-link,
.page-admin .lang-toggle,
.page-auth .lang-toggle { color:#0a1320; }
.page-admin .nav-shell,
.page-auth .nav-shell { position: sticky; top: 0; z-index: 95; }
.account-dropdown { position: relative; }
.profile-chip--button { border:0; cursor:pointer; }
.profile-caret { color:#6b7d96; font-size:.88rem; }
.account-menu { position:absolute; right:0; top:calc(100% + 12px); min-width:220px; display:none; gap:6px; padding:10px; background:rgba(255,255,255,.98); border:1px solid rgba(220,228,237,.96); border-radius:20px; box-shadow:0 22px 80px rgba(15,23,42,.12); z-index:230; }
.account-dropdown.is-open .account-menu { display:grid; }
.account-menu a, .account-menu__form button { display:flex; width:100%; align-items:center; justify-content:flex-start; padding:10px 12px; border-radius:14px; color:var(--text); font-weight:700; background:transparent; border:0; cursor:pointer; }
.account-menu a:hover, .account-menu__form button:hover { background:#eef3f9; }
.account-menu__form { margin:0; }
.admin-list-row--link { text-decoration:none; }
.admin-toolbar-row { display:flex; gap:.8rem; flex-wrap:wrap; margin-top:1rem; }
.company-shell { padding: 1.25rem 0 3rem; }
.company-shell__grid { display:grid; grid-template-columns: 300px minmax(0,1fr); gap:1.5rem; align-items:start; }
.company-sidebar-card { position:sticky; top:104px; background:rgba(255,255,255,.9); border:1px solid rgba(15,23,42,.08); border-radius:28px; padding:1.1rem; box-shadow:0 24px 80px rgba(15,23,42,.08); backdrop-filter:blur(14px); }
.company-brand-stack { display:grid; gap:.5rem; justify-items:start; margin-bottom:1rem; }
.company-logo-block { position:relative; width:96px; height:96px; border-radius:24px; background:linear-gradient(180deg,#f4f7fb,#e9eef6); display:grid; place-items:center; overflow:hidden; }
.company-logo-block img { width:100%; height:100%; object-fit:contain; padding:.8rem; }
.company-logo-block > span { font-weight:900; font-size:1.8rem; color:#0f172a; }
.company-avatar-overlay { position:absolute; right:-8px; bottom:-8px; width:42px; height:42px; border-radius:50%; border:3px solid #fff; background:#0f172a; color:#fff; display:grid; place-items:center; overflow:hidden; }
.company-avatar-overlay img { width:100%; height:100%; object-fit:cover; }
.company-sidebar-nav { display:grid; gap:.5rem; }
.company-sidebar-nav a { display:flex; align-items:center; padding:.85rem .95rem; border-radius:16px; color:#162234; text-decoration:none; }
.company-sidebar-nav a:hover, .company-sidebar-nav a.is-active { background:#0f172a; color:#fff; }
.company-main { min-width:0; }
.company-page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.2rem; }
.company-page-head h1 { margin:.1rem 0 .35rem; color:#0f172a; font-size:clamp(1.8rem,3vw,2.4rem); }
.company-page-head p { margin:0; color:#556273; max-width:48rem; }
.company-budget-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; }
@media (max-width: 1100px) {
  .company-shell__grid { grid-template-columns:1fr; }
  .company-sidebar-card { position:static; }
}
@media (max-width: 860px) {
  .nav-actions .account-dropdown { display:none; }
  .page-admin .site-main,
  .page-auth .site-main { padding-top: 124px; }
  .company-page-head { flex-direction:column; align-items:flex-start; }
  .company-budget-grid { grid-template-columns:1fr; }
}


/* v94a-admin-persistence */
.flash-banner{padding:14px 18px;border-radius:16px;margin-bottom:18px;font-weight:700}
.flash-banner--success{background:#e8fff3;border:1px solid #a9e2c2;color:#14532d}
.flash-banner--error{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}
.admin-btn-light{color:var(--text)!important}
.admin-inline-check{display:flex;align-items:center;gap:10px;padding-top:30px}
.admin-company-stack{display:grid;gap:18px}
.admin-company-card{border:1px solid rgba(212,221,232,.96);border-radius:24px;padding:22px;background:rgba(255,255,255,.82)}
.admin-company-card__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}
.admin-list-actions{display:flex;align-items:center;gap:10px}
.mini-link{font-weight:800;color:var(--primary)}
.admin-content-grid--wide{grid-template-columns:1.15fr .85fr}
@media (max-width: 980px){.admin-content-grid--wide{grid-template-columns:1fr}}

/* v95a-admin-company-workspace */
.admin-shell--v95 .panel-card,
.company-shell--v95 .panel-card,
.admin-company-card,
.admin-stat-card,
.quick-link-card,
.budget-card,
.media-item,
.request-row {
  color: #0f172a;
}
.admin-shell--v95 h1,
.admin-shell--v95 h2,
.company-shell--v95 h1,
.company-shell--v95 h2,
.admin-shell--v95 .eyebrow,
.company-shell--v95 .eyebrow,
.admin-shell--v95 p,
.company-shell--v95 p,
.admin-shell--v95 small,
.company-shell--v95 small,
.admin-shell--v95 span,
.company-shell--v95 span,
.admin-shell--v95 label,
.company-shell--v95 label {
  color: #0f172a;
}
.admin-sidebar-card--v95,
.company-sidebar-card--v95 {
  position: sticky;
  top: 132px;
  align-self: start;
}
.admin-sidebar-logo-wrap--v95,
.company-logo-block--v95 {
  position: relative;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(245,247,251,.95));
  min-height: 124px;
  display: grid;
  place-items: center;
  overflow: visible;
  border: 1px solid rgba(17,24,39,.08);
}
.admin-sidebar-logo-wrap--v95 img,
.company-logo-block--v95 > img {
  max-width: 72%;
  max-height: 70px;
  object-fit: contain;
}
.admin-sidebar-avatar--overlay,
.company-avatar-overlay--v95 {
  position: absolute;
  right: -8px;
  bottom: -8px;
  width: 54px;
  height: 54px;
  border-radius: 999px;
  background: #08122c;
  color: white;
  border: 4px solid #f3f6fb;
  box-shadow: 0 12px 24px rgba(8,18,44,.14);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.admin-sidebar-avatar--overlay img,
.company-avatar-overlay--v95 img {
  width: 100%; height: 100%; object-fit: cover;
}
.admin-sidebar-avatar--overlay { font-size: 1rem; }
.company-avatar-overlay--v95 span { color: #fff; font-weight: 800; }
.admin-chart-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin: 24px 0;
}
.chart-card canvas { width: 100% !important; }
.chart-card__head { margin-bottom: 14px; }
.chart-card__head h2 { margin: 0 0 4px; color: #0f172a; }
.chart-card__head p { margin: 0; color: #52627d; }
.quick-links-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.quick-link-card {
  display: block;
  padding: 20px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid rgba(17,24,39,.08);
  text-decoration: none;
  box-shadow: 0 20px 40px rgba(15,23,42,.05);
}
.quick-link-card strong { display:block; margin-bottom:6px; color:#0f172a; }
.quick-link-card span { color:#5a6b87; }
.quick-link-card--muted { background:#f8fafc; }
.admin-sidebar-note {
  margin-top: 18px;
  padding: 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(17,24,39,.08);
}
.admin-sidebar-note strong { display:block; margin-bottom:8px; color:#0f172a; }
.admin-sidebar-note p { margin:0; color:#5a6b87; font-size:.95rem; }
.company-budget-grid--notes,
.request-stack,
.media-item-stack,
.mini-stack {
  display: grid;
  gap: 14px;
}
.request-row,
.mini-row,
.media-item {
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  padding:16px 18px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(17,24,39,.08);
}
.media-item { text-decoration:none; }
.request-row__meta, .mini-row small, .media-item small { color:#6b7a92; }
.company-sidebar-nav--v95 a,
.admin-sidebar-card--v95 a { color:#13203a; }
.company-sidebar-nav--v95 a.is-active,
.admin-sidebar-card--v95 a.is-active { background:#08122c; color:#fff; }
.company-shell--v95 .panel-card,
.admin-shell--v95 .panel-card { background: rgba(255,255,255,.9); backdrop-filter: blur(12px); }
.company-shell--v95 .admin-stat-card strong,
.admin-shell--v95 .admin-stat-card strong { color:#08122c; }
.company-shell--v95 .company-page-head h1,
.admin-shell--v95 .admin-page-head h1 { color:#08122c; }
.company-shell--v95 .company-page-head p,
.admin-shell--v95 .admin-page-head p { color:#52627d; }
@media (max-width: 1024px) {
  .admin-chart-grid,
  .quick-links-grid { grid-template-columns: 1fr; }
  .admin-sidebar-card--v95,
  .company-sidebar-card--v95 { position: static; top: auto; }
}


/* v96a admin/company persistence + tours */
.admin-shell--v96 .panel-card,
.company-shell--v96 .panel-card,
.admin-shell--v96 .admin-stat-card,
.company-shell--v96 .admin-stat-card,
.admin-shell--v96 .quick-link-card,
.company-shell--v96 .quick-link-card,
.admin-shell--v96 .mini-row,
.company-shell--v96 .mini-row,
.admin-shell--v96 .request-card,
.company-shell--v96 .request-card,
.admin-shell--v96 .message-bubble,
.company-shell--v96 .message-bubble { color:#0f172a; }
.admin-shell--v96 h1, .admin-shell--v96 h2, .admin-shell--v96 h3,
.company-shell--v96 h1, .company-shell--v96 h2, .company-shell--v96 h3 { color:#08122c; }
.admin-shell--v96 p, .admin-shell--v96 small, .admin-shell--v96 span, .admin-shell--v96 label,
.company-shell--v96 p, .company-shell--v96 small, .company-shell--v96 span, .company-shell--v96 label { color:#52627d; }
.admin-shell--v96 .eyebrow, .company-shell--v96 .eyebrow { color:#6c83a8; }
.admin-sidebar-card--v96 .admin-sidebar-nav a { display:flex; align-items:center; justify-content:space-between; padding:.85rem .95rem; border-radius:16px; color:#13203a; }
.admin-sidebar-card--v96 .admin-sidebar-nav a.is-active, .admin-sidebar-card--v96 .admin-sidebar-nav a:hover { background:#08122c; color:#fff; }
.admin-sidebar-stack { display:grid; gap:1rem; }
.admin-sidebar-group + .admin-sidebar-group { padding-top:1rem; border-top:1px solid rgba(15,23,42,.08); }
.settings-divider { height:1px; background:rgba(15,23,42,.08); margin:1.5rem 0; }
.settings-subtitle { margin:0 0 1rem; font-size:1.15rem; }
.footer-logo-admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.panel-card--nested { background:#f8fafc; border:1px solid rgba(15,23,42,.08); }
.panel-card--wide { background: rgba(255,255,255,.92); }
.admin-form-grid--single { grid-template-columns:1fr; }
.mini-row--stacked { align-items:flex-start; }
.mini-row__side { display:grid; gap:6px; justify-items:end; }
.progress-track { width:100%; height:10px; background:#e9eef7; border-radius:999px; overflow:hidden; margin:.75rem 0 .5rem; }
.progress-track span { display:block; height:100%; background:linear-gradient(90deg,#173fcb,#3b82f6); border-radius:999px; }
.request-card { display:grid; gap:10px; padding:18px; border-radius:20px; background:#fff; border:1px solid rgba(15,23,42,.08); box-shadow:0 14px 42px rgba(15,23,42,.05); }
.request-card__head { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.message-thread { display:grid; gap:12px; }
.message-bubble { padding:16px 18px; border-radius:22px; background:#fff; border:1px solid rgba(15,23,42,.08); box-shadow:0 12px 32px rgba(15,23,42,.04); }
.message-bubble.is-admin { background:#eef4ff; }
.message-bubble.is-company { background:#ffffff; }
.message-bubble strong { display:block; color:#08122c; margin-bottom:6px; }
.message-bubble p { margin:0 0 8px; color:#243246; }
.company-logo-block--v95 { min-height:140px; }
.company-avatar-overlay--v95 { right:-10px; bottom:-10px; width:58px; height:58px; }
.company-brand-stack strong { color:#08122c; }
.company-brand-stack small { color:#5c6f8a; }
.company-sidebar-nav a { color:#13203a; font-weight:700; }
.company-sidebar-nav a.is-active, .company-sidebar-nav a:hover { background:#08122c; color:#fff; }
.tours-page .tour-hero-card { position:relative; overflow:hidden; }
.tour-feature-list { margin:0; padding-left:1.2rem; display:grid; gap:.55rem; }
.tour-map-mock { position:relative; height:280px; border-radius:26px; margin-top:1.2rem; background:linear-gradient(180deg,#eef4ff,#dce8fa); border:1px solid rgba(15,23,42,.08); overflow:hidden; }
.tour-map-mock::before, .tour-map-mock::after { content:''; position:absolute; inset:auto -10% auto 0; height:2px; background:rgba(23,63,203,.1); transform:rotate(-9deg); top:28%; }
.tour-map-mock::after { transform:rotate(18deg); top:58%; }
.tour-map-pin { position:absolute; width:22px; height:22px; border-radius:999px; background:#173fcb; box-shadow:0 0 0 6px rgba(23,63,203,.12); }
.pin-a { top:28%; left:22%; }
.pin-b { top:49%; right:25%; }
.pin-c { bottom:18%; left:48%; }
.tour-path { position:absolute; inset:20% 18% 20% 18%; border:2px dashed rgba(23,63,203,.28); border-radius:50px; }
@media (max-width: 1024px) { .footer-logo-admin-grid { grid-template-columns:1fr; } }

/* v97a admin/company refinement */
body[data-build="v97a"] { color: #0f172a; }
body[data-build="v97a"] .site-main { padding-top: calc(var(--header-utility) + var(--header-nav)); }
.panel-card--rounded { border-radius: 28px; }
.panel-card--rounded-sm { border-radius: 22px; }
.admin-main--v97 .panel-card,
.company-main--v97 .panel-card,
.admin-main--v97 .panel-card h2,
.company-main--v97 .panel-card h2,
.admin-main--v97 .panel-card p,
.company-main--v97 .panel-card p,
.admin-main--v97 .panel-card small,
.company-main--v97 .panel-card small,
.admin-main--v97 .panel-card span,
.company-main--v97 .panel-card span { color: #0f172a; }
.admin-shell--v97 .eyebrow,
.company-shell--v97 .eyebrow { color: #5d77a7; }
.admin-form--v97 input,
.admin-form--v97 select,
.admin-form--v97 textarea {
  width: 100%;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.96);
  color: #0f172a;
  border-radius: 18px;
  padding: 1rem 1.1rem;
  outline: none;
}
.admin-form--v97 textarea { resize: vertical; }
.admin-form--v97 label { display: grid; gap: .45rem; }
.admin-form--v97 label span { font-size: .94rem; color: #4f6484; font-weight: 700; }
.admin-form-grid--single { grid-template-columns: 1fr; }
.btn-blockish { min-height: 54px; width: 100%; }
.admin-sidebar-card--v97 {
  position: sticky; top: 118px; align-self: start; background: rgba(255,255,255,.9); border: 1px solid rgba(15,23,42,.08); border-radius: 30px; padding: 1.15rem; box-shadow: 0 24px 80px rgba(15,23,42,.08);
}
.admin-sidebar-brand--v97 { display: grid; gap: .75rem; margin-bottom: 1rem; }
.admin-sidebar-logo-wrap--v97 {
  position: relative; min-height: 152px; border-radius: 28px; overflow: visible; display: grid; place-items: center; background: linear-gradient(180deg,#ffffff,#eef3fa); border:1px solid rgba(15,23,42,.08);
}
.admin-sidebar-logo-wrap--v97 img { max-width: 78%; max-height: 88px; object-fit: contain; }
.admin-sidebar-avatar--overlay--v97 {
  right: -10px; bottom: -10px; width: 62px; height: 62px; border-width: 4px; box-shadow: 0 14px 34px rgba(15,23,42,.16);
}
.admin-sidebar-avatar--overlay--v97 img,
.company-avatar-overlay--v97 img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.admin-sidebar-brand-copy strong,
.company-brand-copy strong { display: block; font-size: 1.05rem; color: #0f172a; }
.admin-sidebar-brand-copy small,
.company-brand-copy small { display: block; color: #5f728e; font-weight: 700; }
.admin-sidebar-nav--v97,
.company-sidebar-nav--v97 { display: grid; gap: .95rem; }
.admin-sidebar-group { display: grid; gap: .45rem; padding-top: .4rem; border-top: 1px solid rgba(15,23,42,.08); }
.admin-sidebar-group:first-child { border-top: 0; }
.admin-sidebar-heading { text-transform: uppercase; letter-spacing: .16em; font-size: .82rem; color: #6c82a4; font-weight: 800; margin-bottom: .15rem; }
.admin-sidebar-nav--v97 a,
.company-sidebar-nav--v97 a { display: flex; align-items: center; padding: .92rem 1rem; border-radius: 18px; color: #162234; font-weight: 700; }
.admin-sidebar-nav--v97 a:hover,
.admin-sidebar-nav--v97 a.is-active,
.company-sidebar-nav--v97 a:hover,
.company-sidebar-nav--v97 a.is-active { background: #0f172a; color: #fff; }
.admin-page-head--compact { margin-bottom: 1rem; }
.admin-company-card--v97 { border-radius: 26px; background: rgba(255,255,255,.92); }
.company-shell--v97 { padding: 1.4rem 0 3rem; }
.company-sidebar-card--v97 { position: sticky; top: 118px; background: rgba(255,255,255,.92); border: 1px solid rgba(15,23,42,.08); border-radius: 30px; padding: 1.15rem; box-shadow: 0 24px 80px rgba(15,23,42,.08); }
.company-brand-stack--v97 { display: grid; gap: .85rem; margin-bottom: 1rem; }
.company-logo-block--v97 {
  position: relative; min-height: 164px; border-radius: 30px; overflow: visible; display: grid; place-items: center; background: linear-gradient(180deg,#ffffff,#eef3fa); border:1px solid rgba(15,23,42,.08);
}
.company-logo-block--v97 img { max-width: 82%; max-height: 96px; object-fit: contain; }
.company-avatar-overlay--v97 {
  position: absolute; right: -10px; bottom: -10px; width: 64px; height: 64px; border-radius: 999px; border: 4px solid #fff; background: #08122c; color: #fff; display: grid; place-items: center; overflow: hidden; box-shadow: 0 14px 34px rgba(8,18,44,.16);
}
.company-brand-copy--v97 { display: grid; gap: .2rem; }
.package-pill {
  display:inline-flex; align-items:center; width:max-content; min-height: 30px; padding: 0 .75rem; border-radius: 999px; background: rgba(23,63,157,.08); border: 1px solid rgba(23,63,157,.12); color:#173f9d; font-size:.84rem; font-weight:800;
}
.company-main--v97 .chart-card__head h2,
.company-main--v97 .chart-card__head p,
.company-main--v97 h2,
.company-main--v97 h1,
.company-main--v97 p,
.company-main--v97 strong,
.company-main--v97 small,
.company-main--v97 label,
.company-main--v97 span,
.company-main--v97 li { color: #0f172a; }
.wallet-note { padding: 1rem 1.1rem; border-radius: 20px; background: rgba(255,255,255,.82); border: 1px solid rgba(15,23,42,.08); margin-bottom: 1rem; }
.wallet-note strong { display: block; margin-bottom: .35rem; }
.wallet-note p { margin: 0; color: #5b708f; }
.request-card,
.campaign-row-card {
  background: rgba(255,255,255,.92); border: 1px solid rgba(15,23,42,.08); border-radius: 22px; padding: 1rem 1.05rem; display: grid; gap: .6rem;
}
.request-stack,
.campaign-board { display: grid; gap: .85rem; }
.status-pill { display:inline-flex; align-items:center; min-height: 28px; padding: 0 .7rem; border-radius: 999px; background: #eef3f9; color: #173f9d; font-weight: 800; font-size: .82rem; }
.progress-track { height: 12px; border-radius: 999px; background: #e2e8f0; overflow: hidden; }
.progress-track > span { display:block; height:100%; background: linear-gradient(90deg,#173f9d,#3b82f6); border-radius: 999px; }
.campaign-row-card__head,
.request-card__head { display:flex; align-items:flex-start; justify-content:space-between; gap: .8rem; }
.campaign-row-card__foot { display:flex; justify-content:space-between; align-items:flex-start; gap: 1rem; flex-wrap: wrap; }
.message-thread { display:grid; gap:.85rem; }
.message-bubble { padding: 1rem 1.05rem; border-radius: 22px; border:1px solid rgba(15,23,42,.08); background:#fff; max-width: 42rem; }
.message-bubble.is-admin { background:#eef3f9; }
.message-bubble p { margin:.4rem 0 0; color:#415570; }
.media-item-stack { display:grid; gap:.75rem; }
.media-item { padding: .95rem 1rem; border-radius: 18px; border:1px solid rgba(15,23,42,.08); background:#fff; }
.media-item strong { display:block; }
.tours-page--v97 .tours-grid,
.tours-page--v97 .tours-detail-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.2rem; }
.tours-map-mock { min-height: 260px; border-radius: 24px; background: linear-gradient(180deg,#e9f0f8,#dbe6f3); display:grid; place-items:center; text-align:center; position:relative; overflow:hidden; }
.tours-map-mock__pin { font-size: 2.3rem; }
.tours-map-mock__label { font-weight: 800; color:#0f172a; }
.tours-list, .tours-flow { margin: 0; padding-left: 1.2rem; color: #40526f; display:grid; gap: .55rem; }
.quick-links-grid--single { grid-template-columns: 1fr; }
.account-menu { min-width: 240px; }
@media (max-width: 1100px) {
  .admin-shell__grid, .company-shell__grid, .tours-page--v97 .tours-grid, .tours-page--v97 .tours-detail-grid { grid-template-columns: 1fr; }
  .admin-sidebar-card--v97, .company-sidebar-card--v97 { position: static; }
}
@media (max-width: 768px) {
  .admin-page-head, .company-page-head { flex-direction: column; align-items: flex-start; }
  .admin-stats-grid { grid-template-columns: 1fr; }
  .admin-form-grid { grid-template-columns: 1fr; }
  .company-logo-block--v97, .admin-sidebar-logo-wrap--v97 { min-height: 138px; }
}


/* v99a-home-company-mobile */
.page-home .site-header.is-overlay .utility-bar,
.page-home .site-header.is-overlay .nav-shell {
  background: rgba(152,187,220,.10);
  backdrop-filter: blur(10px);
}
.page-home .site-header.is-scrolled .nav-shell {
  background: rgba(255,255,255,.78);
}
.page-home .hero-grid { padding-top: 148px; }
.page-home .hero-copy,
.page-home .hero-side-card { background: rgba(255,255,255,.12); }
.mobile-rail { overflow-x: auto; scrollbar-width: thin; }
.mobile-rail::-webkit-scrollbar { height: 10px; }
.mobile-rail::-webkit-scrollbar-thumb { background: rgba(117,137,165,.45); border-radius: 999px; }
.company-sidebar-card--v95 .company-logo-block--v95,
.company-logo-block--v98 {
  width: 136px; height: 136px; border-radius: 30px; background: linear-gradient(180deg,#f6f9fc,#e9eef6); overflow: visible; place-items:center;
}
.company-logo-block--v95 > img,
.company-logo-block--v98 > img { max-width: 90%; max-height: 86px; object-fit: contain; }
.company-avatar-overlay--v95,
.company-avatar-overlay--v98 {
  width: 58px; height: 58px; right: -12px; bottom: -12px; border-width: 4px;
}
.company-avatar-overlay--v95 img,
.company-avatar-overlay--v98 img { object-fit: cover; object-position: center top; }
.company-sidebar-card--v95 .company-brand-stack { justify-items: center; }
.company-sidebar-card--v95 .company-sidebar-meta { display:grid; gap:4px; text-align:center; }
.company-sidebar-card--v95 .company-sidebar-meta strong { color:#0f172a; font-size:1.18rem; }
.company-sidebar-card--v95 .company-sidebar-meta small { color:#60718b; }
.progress-track { height: 12px; border-radius: 999px; background: #dbe4f1; overflow: hidden; }
.progress-track span { display:block; height:100%; border-radius:999px; background: linear-gradient(90deg,#173f9d,#3b82f6,#38bdf8); }
.message-thread { display:grid; gap:12px; }
.message-bubble { padding:14px 16px; border-radius:18px; background:#fff; border:1px solid rgba(17,24,39,.08); color:#0f172a; }
.message-bubble.is-admin { border-left: 4px solid #173f9d; }
.message-bubble.is-company { border-left: 4px solid #0f172a; }
.company-affiliate-card { margin-top: 20px; padding: 20px; border-radius: 22px; background: rgba(255,255,255,.85); border:1px solid rgba(17,24,39,.08); }
.company-affiliate-card h3 { margin:0 0 8px; color:#0f172a; }
.company-affiliate-card p, .company-affiliate-card li { color:#556273; }
.footer-company-grid.mobile-rail-footer,
.footer-grid.mobile-rail-footer { overflow-x:auto; }
.public-company-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:18px; }
.public-company-card { padding:22px; border-radius:24px; background: rgba(255,255,255,.78); border:1px solid rgba(17,24,39,.08); color:#0f172a; box-shadow:0 18px 40px rgba(15,23,42,.06); }
.public-company-card h3{ margin:14px 0 8px; color:#0f172a; }
.public-company-card p, .public-company-card small { color:#5a6b87; }
.public-company-logo { min-height:92px; border-radius:20px; background:#fff; display:flex; align-items:center; justify-content:center; padding:14px; }
.public-company-logo img{ max-width:100%; max-height:58px; object-fit:contain; }
.rating-pill { display:inline-flex; min-height:30px; padding:0 12px; border-radius:999px; background:#eef3f9; color:#173f9d; font-weight:800; align-items:center; }
.domains-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:18px; }
.checkout-grid { display:grid; grid-template-columns: 1.1fr .9fr; gap: 24px; }
.availability-shell { display:grid; gap:24px; }
.availability-grid { display:grid; grid-template-columns: 1fr 1fr; gap:20px; }
.trade-chip-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:12px; }
.trade-chip { padding:12px 14px; border-radius:16px; background:#fff; border:1px solid rgba(17,24,39,.08); color:#0f172a; font-weight:700; }
.county-note { color:#5a6b87; }
@media (max-width: 720px){
  .page-home .hero-grid { padding-top: 112px; }
  .page-home .nav-shell { min-height: 62px; }
  .page-home .nav-inner { min-height: 62px; }
  .mobile-rail--cards { display:grid; grid-auto-flow:column; grid-auto-columns: 86%; gap:16px; padding-bottom:10px; }
  .page-home .about-grid { grid-template-columns:1fr; }
  .site-footer .footer-grid,
  .site-footer .footer-company-grid { display:grid; grid-auto-flow:column; grid-auto-columns: 82%; gap:16px; padding-bottom:10px; overflow-x:auto; }
  .public-company-grid,
  .domains-grid,
  .availability-grid,
  .checkout-grid,
  .trade-chip-grid { grid-template-columns:1fr; }
}


/* v99a-home-admin-company-fixes */
.page-home .site-header.is-overlay .utility-bar,
.page-home .site-header.is-overlay .nav-shell {
  background: rgba(152,187,220,.06);
  backdrop-filter: blur(10px);
  border-bottom-color: rgba(255,255,255,.06);
}
.page-home .site-header .utility-bar {
  border-bottom-color: rgba(255,255,255,.06);
}
.page-home .hero-grid {
  padding-top: 118px;
  padding-bottom: 84px;
}
.page-home .hero-copy,
.page-home .hero-side-card {
  background: rgba(255,255,255,.14);
}
.page-home .hero-side-card {
  margin-top: -16px;
}
.page-home .hero-copy {
  margin-top: -8px;
}
.page-home .nav-shell,
.page-home .utility-bar {
  box-shadow: none;
}
.account-menu a:first-child {
  /* Dashboard stays first */
}
.company-sidebar-card--v97 {
  max-width: 360px;
}
.company-brand-stack--v97 {
  gap: 1rem;
}
.company-logo-block--v97 {
  min-height: 152px;
  border-radius: 28px;
}
.company-logo-block--v97 img {
  max-width: 78%;
  max-height: 88px;
  object-fit: contain;
}
.company-avatar-overlay--v97 {
  right: -10px;
  bottom: -10px;
  width: 62px;
  height: 62px;
  border-width: 4px;
  box-shadow: 0 14px 34px rgba(15,23,42,.16);
}
.company-brand-copy strong {
  font-size: 1.05rem;
}
.company-brand-copy small {
  color: #5f728e;
  font-weight: 700;
}
@media (max-width: 720px) {
  .page-home .hero-grid {
    padding-top: 98px;
    padding-bottom: 64px;
  }
  .page-home .hero-side-card,
  .page-home .hero-copy {
    margin-top: 0;
  }
}



/* v101 logo + mobile cleanup */
.site-header .brand-logo {
  width: auto !important;
  height: 40px !important;
  max-width: 230px !important;
  object-fit: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.site-header.is-overlay .brand-logo-light,
.page-home .brand-logo-light {
  display: block !important;
}

.site-header.is-overlay .brand-logo-dark,
.page-home .brand-logo-dark {
  display: none !important;
}

.site-header.is-inner .brand-logo-dark,
.page-inner .brand-logo-dark,
.site-header.is-scrolled .brand-logo-dark {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.site-header.is-inner .brand-logo-light,
.page-inner .brand-logo-light,
.site-header.is-scrolled .brand-logo-light {
  display: none !important;
}

.footer-logo {
  display: block !important;
  width: auto !important;
  max-width: 190px !important;
  height: 40px !important;
  object-fit: contain !important;
}

.footer-company-logo-wrap {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer-company-logo-wrap img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: 34px !important;
  object-fit: contain !important;
}

@media (max-width: 900px) {
  .page-home [class*="rail"],
  .page-home [class*="scroll"],
  .page-home [class*="carousel"] {
    overflow-x: visible !important;
    scroll-snap-type: none !important;
  }

  .page-home .services-grid,
  .page-home .timeline-grid,
  .page-home .packages-grid,
  .page-home .footer-company-grid,
  .page-home .footer-grid,
  .page-home .company-grid,
  .page-home .blog-grid,
  .page-home .cards-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  .site-header .brand-logo {
    max-width: 170px !important;
    height: 32px !important;
  }
}




/* v1012 visual finish */
.footer-companies-head .eyebrow{
  opacity:.92;
}

.footer-company-grid{
  align-items:stretch;
}

.footer-company-card{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.footer-company-logo-wrap{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:.75rem;
  overflow:hidden;
}

.footer-company-logo-wrap img{
  width:auto !important;
  height:30px !important;
  max-width:160px !important;
  object-fit:contain !important;
  display:block !important;
}

.footer-company-fallback{
  width:34px;
  height:34px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.82rem;
  font-weight:800;
  background:rgba(255,255,255,.08);
  color:#fff;
}

.footer-logo{
  width:auto !important;
  height:40px !important;
  max-width:190px !important;
  object-fit:contain !important;
  display:block !important;
}

/* inner-page header logos */
.site-header.is-inner .brand-logo,
.site-header.is-inner .brand-logo img,
.site-header.is-inner .site-brand img,
.site-header.is-inner .header-logo img{
  opacity:1 !important;
  visibility:visible !important;
  display:block !important;
  height:38px !important;
  width:auto !important;
  max-width:220px !important;
  object-fit:contain !important;
}

/* company dashboard left identity block */
.company-sidebar .brand-stage,
.company-sidebar .company-logo-stage,
.company-sidebar .workspace-logo-stage,
.company-sidebar .identity-logo-stage,
.company-sidecard .brand-stage,
.company-sidecard .company-logo-stage,
.company-sidecard .workspace-logo-stage,
.company-sidecard .identity-logo-stage{
  min-height:150px !important;
  height:150px !important;
  border-radius:24px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
}

.company-sidebar .brand-stage img,
.company-sidebar .company-logo-stage img,
.company-sidebar .workspace-logo-stage img,
.company-sidebar .identity-logo-stage img,
.company-sidecard .brand-stage img,
.company-sidecard .company-logo-stage img,
.company-sidecard .workspace-logo-stage img,
.company-sidecard .identity-logo-stage img{
  width:auto !important;
  height:auto !important;
  max-width:170px !important;
  max-height:58px !important;
  object-fit:contain !important;
}

.company-sidebar .avatar-overlay,
.company-sidebar .company-avatar,
.company-sidebar .workspace-avatar,
.company-sidecard .avatar-overlay,
.company-sidecard .company-avatar,
.company-sidecard .workspace-avatar{
  width:56px !important;
  height:56px !important;
  border-radius:999px !important;
  bottom:-8px !important;
  right:18px !important;
  border:4px solid #fff !important;
}

/* mobile: keep homepage stacked cleanly */
@media (max-width: 900px){
  .page-home .footer-company-grid,
  .page-home .footer-grid,
  .page-home .company-grid,
  .page-home .packages-grid,
  .page-home .blog-grid,
  .page-home .timeline-grid,
  .page-home .cards-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:1rem !important;
    overflow:visible !important;
  }
}



/* v102 header + footer + workspace polish */
.site-header.is-inner .brand-logo-light,
.site-header.is-inner .site-brand .brand-logo-light,
.site-header.is-inner .header-logo-light {
  display: none !important;
}

.site-header.is-inner .brand-logo-dark,
.site-header.is-inner .site-brand .brand-logo-dark,
.site-header.is-inner .header-logo-dark {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.site-header.is-overlay .brand-logo-dark,
.site-header.is-overlay .site-brand .brand-logo-dark,
.site-header.is-overlay .header-logo-dark {
  display: none !important;
}

.site-header.is-overlay .brand-logo-light,
.site-header.is-overlay .site-brand .brand-logo-light,
.site-header.is-overlay .header-logo-light {
  display: block !important;
}

.footer-company-logo-wrap {
  gap: .5rem !important;
  align-items: center !important;
}

.footer-company-logo-wrap strong,
.footer-company-logo-wrap b,
.footer-company-logo-wrap .company-name,
.footer-company-logo-wrap .logo-name,
.footer-company-logo-wrap .name-chip,
.footer-company-logo-wrap .title-chip {
  display: none !important;
}

.footer-company-logo-wrap img {
  width: auto !important;
  max-width: 150px !important;
  height: 28px !important;
  object-fit: contain !important;
}

.footer-logo {
  display: block !important;
  width: auto !important;
  max-width: 185px !important;
  height: 40px !important;
  object-fit: contain !important;
}

/* make company dashboard identity card look closer to admin */
.page-company [class*="sidebar"] [class*="logo-stage"],
.page-company [class*="sidebar"] [class*="brand-stage"],
.page-company [class*="sidebar"] [class*="workspace-logo"],
.page-company [class*="sidebar"] [class*="company-logo"],
.page-company [class*="sidebar"] [class*="identity-logo"],
.page-company [class*="sidecard"] [class*="logo-stage"],
.page-company [class*="sidecard"] [class*="brand-stage"],
.page-company [class*="sidecard"] [class*="workspace-logo"],
.page-company [class*="sidecard"] [class*="company-logo"],
.page-company [class*="sidecard"] [class*="identity-logo"] {
  min-height: 122px !important;
  height: 122px !important;
  max-height: 122px !important;
  border-radius: 28px !important;
  padding: 16px 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}

.page-company [class*="sidebar"] [class*="logo-stage"] img,
.page-company [class*="sidebar"] [class*="brand-stage"] img,
.page-company [class*="sidebar"] [class*="workspace-logo"] img,
.page-company [class*="sidebar"] [class*="company-logo"] img,
.page-company [class*="sidebar"] [class*="identity-logo"] img,
.page-company [class*="sidecard"] [class*="logo-stage"] img,
.page-company [class*="sidecard"] [class*="brand-stage"] img,
.page-company [class*="sidecard"] [class*="workspace-logo"] img,
.page-company [class*="sidecard"] [class*="company-logo"] img,
.page-company [class*="sidecard"] [class*="identity-logo"] img {
  width: auto !important;
  max-width: 160px !important;
  max-height: 44px !important;
  object-fit: contain !important;
}

.page-company [class*="sidebar"] [class*="avatar"],
.page-company [class*="sidecard"] [class*="avatar"] {
  width: 54px !important;
  height: 54px !important;
  border-radius: 999px !important;
  right: 14px !important;
  bottom: -10px !important;
  border: 4px solid #fff !important;
}

/* mobile homepage stays stacked */
@media (max-width: 900px) {
  .page-home .footer-company-grid,
  .page-home .footer-grid,
  .page-home .company-grid,
  .page-home .packages-grid,
  .page-home .blog-grid,
  .page-home .timeline-grid,
  .page-home .cards-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    overflow: visible !important;
  }
}



/* v103 header/footer/company logo fix */
/* inner header: show only one logo */
.site-header.is-inner .brand-logo-light,
.page-admin .site-header .brand-logo-light,
.page-inner .site-header .brand-logo-light,
.page-company .site-header .brand-logo-light {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

.site-header.is-inner .brand-logo-dark,
.page-admin .site-header .brand-logo-dark,
.page-inner .site-header .brand-logo-dark,
.page-company .site-header .brand-logo-dark {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* top bar / inner page logo sizing */
.site-header.is-inner .brand-logo,
.site-header.is-inner .brand-logo img,
.page-admin .site-header .brand-logo,
.page-admin .site-header .brand-logo img,
.page-company .site-header .brand-logo,
.page-company .site-header .brand-logo img {
  height: 42px !important;
  width: auto !important;
  max-width: 230px !important;
  object-fit: contain !important;
}

/* footer company cards: logos only on top row, no duplicate text chip */
.footer-company-logo-wrap {
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: .5rem !important;
  overflow: hidden !important;
}

.footer-company-logo-wrap img {
  display: block !important;
  width: auto !important;
  height: 34px !important;
  max-width: 180px !important;
  object-fit: contain !important;
}

.footer-company-fallback,
.footer-company-logo-wrap .logo-chip,
.footer-company-logo-wrap .brand-chip,
.footer-company-logo-wrap .initials,
.footer-company-logo-wrap .badge,
.footer-company-logo-wrap .pill,
.footer-company-logo-wrap .bubble {
  display: none !important;
}

/* if broken image alt text ever shows, keep the row clean */
.footer-company-logo-wrap img[alt] {
  font-size: 0 !important;
}

/* footer brand logo */
.footer-logo {
  display: block !important;
  width: auto !important;
  height: 40px !important;
  max-width: 190px !important;
  object-fit: contain !important;
}

/* company workspace left card: flatten the tall logo stage and center it like admin */
.page-company .company-logo-stage,
.page-company .workspace-logo-stage,
.page-company .identity-logo-stage,
.page-company .brand-stage,
.page-company .logo-stage,
.page-company .profile-stage,
.page-company .company-identity-stage,
.page-company .company-sidebar .company-logo-stage,
.page-company .company-sidebar .workspace-logo-stage,
.page-company .company-sidebar .identity-logo-stage,
.page-company .company-sidebar .brand-stage,
.page-company .company-sidebar .logo-stage,
.page-company .company-sidebar .profile-stage,
.page-company .company-sidebar .company-identity-stage,
.page-company .company-sidecard .company-logo-stage,
.page-company .company-sidecard .workspace-logo-stage,
.page-company .company-sidecard .identity-logo-stage,
.page-company .company-sidecard .brand-stage,
.page-company .company-sidecard .logo-stage,
.page-company .company-sidecard .profile-stage,
.page-company .company-sidecard .company-identity-stage {
  min-height: 118px !important;
  height: 118px !important;
  max-height: 118px !important;
  border-radius: 28px !important;
  padding: 0 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}

.page-company .company-logo-stage img,
.page-company .workspace-logo-stage img,
.page-company .identity-logo-stage img,
.page-company .brand-stage img,
.page-company .logo-stage img,
.page-company .profile-stage img,
.page-company .company-identity-stage img,
.page-company .company-sidebar .company-logo-stage img,
.page-company .company-sidebar .workspace-logo-stage img,
.page-company .company-sidebar .identity-logo-stage img,
.page-company .company-sidebar .brand-stage img,
.page-company .company-sidebar .logo-stage img,
.page-company .company-sidebar .profile-stage img,
.page-company .company-sidebar .company-identity-stage img,
.page-company .company-sidecard .company-logo-stage img,
.page-company .company-sidecard .workspace-logo-stage img,
.page-company .company-sidecard .identity-logo-stage img,
.page-company .company-sidecard .brand-stage img,
.page-company .company-sidecard .logo-stage img,
.page-company .company-sidecard .profile-stage img,
.page-company .company-sidecard .company-identity-stage img {
  width: auto !important;
  height: auto !important;
  max-width: 190px !important;
  max-height: 52px !important;
  object-fit: contain !important;
}

.page-company .company-avatar,
.page-company .workspace-avatar,
.page-company .avatar-overlay,
.page-company .company-sidebar .company-avatar,
.page-company .company-sidebar .workspace-avatar,
.page-company .company-sidebar .avatar-overlay,
.page-company .company-sidecard .company-avatar,
.page-company .company-sidecard .workspace-avatar,
.page-company .company-sidecard .avatar-overlay {
  width: 58px !important;
  height: 58px !important;
  border-radius: 999px !important;
  right: 18px !important;
  bottom: -8px !important;
  border: 4px solid #fff !important;
  overflow: hidden !important;
}

.page-company .company-avatar img,
.page-company .workspace-avatar img,
.page-company .avatar-overlay img,
.page-company .company-sidebar .company-avatar img,
.page-company .company-sidebar .workspace-avatar img,
.page-company .company-sidebar .avatar-overlay img,
.page-company .company-sidecard .company-avatar img,
.page-company .company-sidecard .workspace-avatar img,
.page-company .company-sidecard .avatar-overlay img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* mobile homepage: keep stacked */
@media (max-width: 900px) {
  .page-home .footer-company-grid,
  .page-home .footer-grid,
  .page-home .company-grid,
  .page-home .packages-grid,
  .page-home .blog-grid,
  .page-home .timeline-grid,
  .page-home .cards-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    overflow: visible !important;
  }
}




/* v104 footer + company logo alignment */
.footer-company-logo-wrap{
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  overflow:hidden;
}
.footer-company-logo-wrap img{
  display:block !important;
  width:auto !important;
  height:34px !important;
  max-width:180px !important;
  object-fit:contain !important;
}
.footer-company-fallback{
  display:none !important;
}
.footer-logo{
  display:block !important;
  width:auto !important;
  height:40px !important;
  max-width:190px !important;
  object-fit:contain !important;
}

/* company dashboard left card should match admin proportions more closely */
.page-shell--company aside .panel-card:first-child,
.page-shell--company .company-sidebar .panel-card:first-child,
.page-shell--company .company-sidecard,
.page-shell--company .workspace-sidecard{
  padding:24px !important;
}

.page-shell--company aside .panel-card:first-child img:first-of-type,
.page-shell--company .company-sidebar .panel-card:first-child img:first-of-type,
.page-shell--company .company-sidecard img:first-of-type,
.page-shell--company .workspace-sidecard img:first-of-type{
  display:block !important;
  width:auto !important;
  max-width:210px !important;
  max-height:72px !important;
  height:auto !important;
  object-fit:contain !important;
  margin:0 auto !important;
}

.page-shell--company aside .panel-card:first-child img:last-of-type,
.page-shell--company .company-sidebar .panel-card:first-child img:last-of-type,
.page-shell--company .company-sidecard img:last-of-type,
.page-shell--company .workspace-sidecard img:last-of-type{
  display:block !important;
  width:62px !important;
  height:62px !important;
  border-radius:999px !important;
  object-fit:cover !important;
  margin:-14px auto 12px !important;
  border:4px solid #fff !important;
  box-shadow:0 10px 24px rgba(7,17,29,.16) !important;
}

/* common stage wrappers on company dashboard */
.page-shell--company [class*="logo-stage"],
.page-shell--company [class*="brand-stage"],
.page-shell--company [class*="workspace-logo"],
.page-shell--company [class*="company-logo"]{
  min-height:168px !important;
  width:100% !important;
  border-radius:28px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
}

