/* Webdger's shared identity across the homepage and both portals. */
.brand.brand--logo { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; line-height: 0; }
.brand--logo .brand-logo { display: block; width: 80px; height: 76px; object-fit: contain; }
.portal-page .brand--logo, .home-page .footer .brand--logo { width: 100px; min-height: 88px; padding: 6px 10px; border: 1px solid #332844; border-radius: 14px; background: #100b1d; }
@media (max-width: 800px) {
  .brand--logo .brand-logo { width: 62px; height: 59px; }
  .portal-page .brand--logo, .home-page .footer .brand--logo { width: 82px; min-height: 72px; }
}
:root {
  --brand-fuchsia: #ff00e1;
  --brand-violet: #8f36e8;
  --brand-cyan: #00b9f2;
  --paper: #fcfaff;
  --ink: #211a32;
  --muted: #6e6479;
  --coral: #ca00b3;
  --coral-dark: #a20095;
  --sage: #eee8fc;
  --peach: #fbe8f7;
  --butter: #dbf3ff;
  --line: #e6ddeb;
  --white: #ffffff;
  --shadow: 0 18px 60px #35214f0b;
  --brand-button: linear-gradient(110deg, #bf00a9, #7935d0);
}
.brand > span { color: var(--brand-fuchsia); }
.btn:hover { background: #f0e9f8; }
.btn-primary { color: #fff; background: var(--brand-button); border-color: transparent; }
.btn-primary:hover { color: #fff; background: linear-gradient(110deg, #a70096, #692abd); border-color: transparent; }
input, select, textarea { background: #fefcff; }
input:focus, select:focus, textarea:focus { box-shadow: 0 0 0 3px #ca00b314; }
.service-strip { padding-block: 33px 42px; }
.service-strip i { color: var(--brand-fuchsia); }
.services-section { background: #fff; border-color: var(--line); }
.service-item p, .process-list p { color: #62566b; }
.service-tags { color: #73647f; }
.step-number { border-color: #dbc7df; }
.contact-section { background: linear-gradient(120deg, #f5e9fa, #ece8fb 65%, #e8f2fc); }
.contact-copy h2 em { color: #81379f; }
.portal-aside, .portal-admin .portal-aside { background: linear-gradient(145deg, #f9e6f5, #ece6fb); }
.portal-aside p { color: #65516e; }
.portal-aside li, .portal-admin .portal-aside li { border-color: #d6c5e2; }
.portal-aside:before { background: #dcd5fb; }
.client-ticket { background: #f9f6fc; }
.assistant-header { background: linear-gradient(115deg, #f6e5f5, #ece7fc); }
.assistant-header p, .assistant-message strong { color: #685575; }
.assistant-panel { border-color: var(--line); box-shadow: 0 15px 70px #311e4330; }
.assistant-toggle { background: #21132f; box-shadow: 0 7px 26px #8531a12b; }
.assistant-message { background: #f0ebf8; }
.assistant-message.is-user { background: #f9e1f3; }
.assistant-video-box video { background: #21132f; }

/* The original Vimeo planet fills the header; content remains real HTML. */
.home-page > .topbar {
  position: absolute; inset: 0 0 auto; z-index: 5;
  color: #fff; min-height: 104px;
  border-bottom: 1px solid #ffffff20;
}
.home-page > .topbar .nav a { color: #f4edf9; }
.home-page > .topbar .btn-primary { box-shadow: 0 4px 25px #bc00df24; }
.home-page > .topbar .menu-toggle { color: #fff; border-color: #ffffff40; background: #ffffff09; }
.hero--planet {
  position: relative; display: flex; align-items: stretch; isolation: isolate;
  width: 100%; max-width: none; margin: 0; padding: 0; gap: 0;
  min-height: 640px; height: min(780px, 91svh);
  overflow: hidden; background: #06060e; color: #fff;
}
.planet-background { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.planet-poster { width: 100%; height: 100%; object-fit: cover; object-position: 65% center; }
.planet-video { position: absolute; inset: 0; opacity: 0; transition: opacity 1.2s ease; pointer-events: none; }
.is-video-ready .planet-video { opacity: 1; }
.planet-video iframe { position: absolute; left: 50%; top: 50%; border: 0; transform: translate(-50%, -50%); }
.hero--planet:after {
  content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(90deg, #08050ef2 0%, #100918dd 29%, #120b1c80 55%, #0805100d 85%), linear-gradient(0deg, #09060f80, transparent 30%, transparent 75%, #070410a6);
}
.planet-hero-inner { display: flex; align-items: center; padding-block: 145px 100px; }
.hero--planet .hero-content { width: 63%; max-width: 740px; padding: 0; }
.hero--planet h1 { font-size: clamp(54px, 5.5vw, 82px); line-height: 1.055; letter-spacing: -.065em; }
.hero--planet h1 em { color: #f0b7ff; background: linear-gradient(100deg, #ff7fe8, #c2a4ff 60%, #7addff); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.hero--planet .hero-description { color: #e1d9e9; max-width: 530px; font-size: clamp(16px, 1.3vw, 19px); }
.hero--planet .hero-actions { gap: 25px; margin-top: 30px; }
.hero--planet .text-link { color: #fff; border-color: #ffffff80; }
.hero--planet .text-link:hover { color: #f2a4ff; }
.hero--planet .hero-actions .btn { box-shadow: 0 5px 32px #c800c22b; }
.planet-bottom { position: absolute; inset: auto 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.planet-caption { color: #d6c7e4; font-family: Georgia, serif; font-style: italic; font-size: 17px; }
.planet-motion { display: inline-flex; align-items: center; gap: 10px; padding: 10px 15px; border: 1px solid #ffffff50; border-radius: 30px; background: #100b20a6; color: #f6efff; font-size: 12px; min-height: 42px; backdrop-filter: blur(8px); }
.planet-motion:hover { background: #251431; border-color: #efb6ff; }
.planet-motion-icon { width: 15px; text-align: center; font-size: 15px; }
@media (min-width: 1600px) { .hero--planet { gap: 0; } }
@media (max-width: 1150px) {
  .hero--planet .hero-content { width: 68%; }
  .hero--planet h1 { font-size: clamp(51px, 5.8vw, 69px); }
}
@media (max-width: 800px) {
  .home-page > .topbar { min-height: 84px; padding-block: 18px; }
  .home-page .nav.is-open { background: #150d22f5; border: 1px solid #ffffff26; border-radius: 12px; padding: 9px 18px; margin-top: 15px; }
  .hero--planet { min-height: 660px; height: auto; }
  .planet-hero-inner { padding-block: 145px 110px; }
  .hero--planet .hero-content { width: 90%; max-width: 590px; }
  .hero--planet h1 { font-size: clamp(50px, 7.5vw, 63px); }
  .hero--planet:after { background: linear-gradient(90deg, #08050ee8, #12091aad 65%, #0805104d), linear-gradient(0deg, #09060f99, transparent 65%); }
  .planet-poster { object-position: 60% center; }
  .service-strip { padding-block: 25px 32px; }
}
@media (max-width: 560px) {
  .hero--planet { min-height: 660px; height: auto; }
  .planet-hero-inner { padding-block: 137px 116px; }
  .hero--planet .hero-content { width: 100%; }
  .hero--planet h1 { font-size: clamp(42px, 10.7vw, 59px); }
  .hero--planet .hero-description { font-size: 16px; margin-top: 25px; max-width: 340px; }
  .hero--planet .hero-actions { gap: 17px; margin-top: 25px; }
  .planet-bottom { bottom: 20px; gap: 12px; }
  .planet-caption { font-size: 14px; }
  .planet-motion { font-size: 11px; padding: 9px 11px; gap: 7px; }
}
