:root {
  --hp-site-night: #21132b;
  --hp-site-ink: #1d2a3a;
  --hp-site-ink-soft: #465568;
  --hp-site-paper: #fff;
  --hp-site-line: #e4dfe8;
  --hp-site-purple: #812990;
  --hp-site-purple-dark: #4f1f67;
  --hp-site-blue: #0aa3c7;
  --hp-site-blue-dark: #087c9a;
  --hp-site-gradient: linear-gradient(118deg, var(--hp-site-purple), #6c3d8a 56%, var(--hp-site-blue));
}

.hp-site-header,
.hp-site-footer,
.hp-site-header *,
.hp-site-footer * { box-sizing: border-box; }

.hp-site-header,
.hp-site-footer {
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

.hp-site-shell { width: min(calc(100% - 40px), 1200px); margin-inline: auto; }

.hp-site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  height: auto;
  color: var(--hp-site-ink);
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid rgba(228,223,232,.9);
  transition: box-shadow .25s ease;
}

.hp-site-utility { color: #e9dff0; background: var(--hp-site-purple-dark); font-size: .82rem; }
.hp-site-utility-inner { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.hp-site-utility p { margin: 0; font-weight: 600; letter-spacing: .025em; }
.hp-site-utility-links { display: flex; align-items: center; gap: 24px; }
.hp-site-utility a { color: var(--hp-site-paper); font-weight: 600; text-decoration: none; }
.hp-site-utility a span { color: #76d9ec; }

.hp-site-nav-wrap { position: relative; }
.hp-site-nav {
  min-height: 76px;
  display: grid;
  grid-template-columns: 270px 1fr auto;
  align-items: center;
  gap: 28px;
}
.hp-site-logo { width: 260px; display: inline-flex; align-items: center; line-height: 0; }
.hp-site-logo img { width: 100%; height: auto; display: block; }
.hp-site-menu { display: flex; justify-content: flex-end; align-items: center; gap: 4px; }
.hp-site-menu > a,
.hp-site-dropdown > summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 10px 11px;
  border-radius: 9px;
  color: var(--hp-site-ink);
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: .91rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
  text-decoration: none;
  text-transform: none;
}
.hp-site-menu > a:hover,
.hp-site-menu > a:focus,
.hp-site-dropdown > summary:hover,
.hp-site-dropdown > summary:focus { color: var(--hp-site-purple); background: #f1eaf3; }

.hp-site-dropdown { position: relative; }
.hp-site-dropdown > summary { gap: 7px; list-style: none; cursor: pointer; }
.hp-site-dropdown > summary::-webkit-details-marker { display: none; }
.hp-site-dropdown > summary > span { color: var(--hp-site-purple); font-size: .9rem; transition: transform .2s ease; }
.hp-site-dropdown[open] > summary > span { transform: rotate(180deg); }
.hp-site-dropdown > summary:focus-visible { outline: 3px solid rgba(10,163,199,.32); outline-offset: 2px; }
.hp-site-dropdown-panel {
  position: absolute;
  z-index: 120;
  top: calc(100% + 14px);
  left: 0;
  width: 560px;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 26px;
  padding: 27px;
  border: 1px solid var(--hp-site-line);
  border-radius: 17px;
  background: var(--hp-site-paper);
  box-shadow: 0 24px 64px rgba(45,23,53,.18);
}
.hp-site-dropdown-panel-right { right: 0; left: auto; }
.hp-site-dropdown-panel strong { display: block; margin-bottom: 9px; color: var(--hp-site-purple); font-size: .72rem; letter-spacing: .11em; text-transform: uppercase; }
.hp-site-menu .hp-site-dropdown-panel a {
  min-height: 0;
  display: block;
  padding: 8px 0;
  border-bottom: 1px solid var(--hp-site-line);
  color: var(--hp-site-ink-soft);
  font-size: .88rem;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  transition: padding-left .2s ease;
}
.hp-site-menu .hp-site-dropdown-panel a:last-child { border-bottom: 0; }
.hp-site-menu .hp-site-dropdown-panel a:hover,
.hp-site-menu .hp-site-dropdown-panel a:focus { padding-left: 4px; color: var(--hp-site-purple); }

.hp-site-cta {
  min-height: 44px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 9px;
  padding: 11px 18px;
  border: 1px solid var(--hp-site-purple);
  border-radius: 999px;
  color: var(--hp-site-paper);
  background: var(--hp-site-purple);
  box-shadow: 0 9px 26px rgba(129,41,144,.23);
  font-size: .9rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.hp-site-cta:hover,
.hp-site-cta:focus { color: var(--hp-site-paper); background: #932ca4; box-shadow: 0 13px 32px rgba(129,41,144,.31); transform: translateY(-2px); }

.hp-site-nav-toggle { width: auto; height: auto; display: none; align-items: center; gap: 10px; padding: 10px 0 10px 14px; border: 0; color: var(--hp-site-purple); background: transparent; font: inherit; font-weight: 700; }
.hp-site-nav-toggle-label { display: inline; color: inherit; }
.hp-site-nav-toggle-icon { width: 28px; height: 14px; display: flex; flex-direction: column; gap: 10px; }
.hp-site-nav-toggle-icon span { width: 100%; height: 2px; display: block; border-radius: 2px; background: currentColor; transition: transform .2s ease; }
.hp-site-nav-toggle[aria-expanded="true"] .hp-site-nav-toggle-icon span:first-child { transform: translateY(6px) rotate(45deg); }
.hp-site-nav-toggle[aria-expanded="true"] .hp-site-nav-toggle-icon span:last-child { transform: translateY(-6px) rotate(-45deg); }
.hp-site-nav-toggle:focus-visible { outline: 3px solid rgba(10,163,199,.35); outline-offset: 4px; border-radius: 7px; }

.hp-site-frame-toggle { margin: 0; }
.hp-site-frame-toggle button { padding: 4px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.42); border-radius: 0; color: #fff; background: transparent; font: inherit; font-size: .74rem; font-weight: 750; cursor: pointer; }
.hp-site-frame-toggle button:hover,
.hp-site-frame-toggle button:focus { border-color: #76d9ec; color: #76d9ec; }
.hp-site-frame-toggle--compact { margin: 0; }
.hp-site-frame-toggle--compact button { padding: 7px 10px; border: 1px solid #d7c9dc; border-radius: 8px; color: var(--hp-site-purple-dark); background: #fff; font: inherit; font-size: .74rem; font-weight: 850; cursor: pointer; }

.hp-site-footer { position: relative; overflow: hidden; color: #cbbfd1; background: var(--hp-site-night); }
.hp-site-footer-flare { width: 580px; height: 580px; position: absolute; top: -380px; right: -100px; border-radius: 50%; background: radial-gradient(circle,rgba(10,163,199,.22),transparent 68%); }
.hp-site-footer-top { position: relative; display: grid; grid-template-columns: 1.35fr 1fr 1fr 1fr; gap: 48px; padding-block: 76px 58px; }
.hp-site-footer p { margin-top: 0; margin-bottom: 1.2em; }
.hp-site-footer-intro img { width: 240px; height: auto; display: block; margin-bottom: 22px; filter: brightness(0) invert(1); }
.hp-site-footer-intro p { max-width: 320px; }
.hp-site-footer address { font-size: .91rem; font-style: normal; line-height: 1.8; }
.hp-site-footer-label { margin-bottom: 16px; color: var(--hp-site-paper); font-family: "Manrope","DM Sans",sans-serif; font-size: .92rem; font-weight: 700; letter-spacing: 0; }
.hp-site-footer-contact { display: block; width: max-content; margin-bottom: 8px; color: var(--hp-site-paper); font-weight: 700; text-decoration: none; }
.hp-site-footer-button { display: inline-flex; gap: 12px; margin-top: 17px; color: #75dced; font-weight: 800; text-decoration: none; }
.hp-site-social { display: flex; gap: 8px; }
.hp-site-social a { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; color: var(--hp-site-paper); font-size: .8rem; font-weight: 900; text-decoration: none; }
.hp-site-footer-bottom { position: relative; display: flex; justify-content: space-between; gap: 25px; padding-block: 22px; border-top: 1px solid rgba(255,255,255,.12); color: #bcaec4; font-size: .78rem; }
.hp-site-footer-bottom p { margin: 0; }
.hp-site-footer-bottom div { display: flex; gap: 22px; }
.hp-site-footer-bottom a { color: #cbbfd1; text-decoration: none; }

.has-website-chrome { font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
.has-website-chrome button,
.has-website-chrome input,
.has-website-chrome textarea,
.has-website-chrome select,
.has-website-chrome summary { font-family: inherit; }
.has-website-chrome h1,
.has-website-chrome h2,
.has-website-chrome h3 { font-family: "Manrope","DM Sans",sans-serif; }
.portal-body.has-website-chrome .portal-main { min-height: 0; }
.portal-login-body.has-website-chrome { min-height: 100vh; display: flex; align-items: stretch; flex-direction: column; padding: 0; background: #f0f5f8; }
.portal-login-body.has-website-chrome .portal-login-page { width: 100%; min-height: 620px; flex: 1; display: grid; place-items: center; padding: 64px 24px; background: radial-gradient(circle at 15% 15%,rgba(15,167,189,.13),transparent 32%),radial-gradient(circle at 85% 15%,rgba(132,42,148,.18),transparent 35%),#f0f5f8; }
.portal-login-body.has-website-chrome .portal-login-shell { margin: 0; }
.portal-access-page { width: 100%; flex: 1; }
.portal-access-hero { position: relative; overflow: hidden; padding: clamp(74px,8vw,118px) 0; color: #ece4f0; background: radial-gradient(circle at 88% 10%,rgba(10,163,199,.25),transparent 28%),radial-gradient(circle at 10% 90%,rgba(129,41,144,.34),transparent 32%),linear-gradient(135deg,#21132b 0%,#4f1f67 56%,#351840 100%); }
.portal-access-hero::after { width: 480px; height: 480px; position: absolute; right: -180px; bottom: -300px; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; content: ""; box-shadow: 0 0 0 60px rgba(255,255,255,.025),0 0 0 120px rgba(255,255,255,.018); }
.portal-access-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.18fr) minmax(380px,.72fr); align-items: center; gap: clamp(48px,7vw,92px); }
.portal-access-copy { max-width: 720px; }
.portal-access-eyebrow { margin: 0 0 17px; color: #79dded; font-size: .78rem; font-weight: 800; letter-spacing: .16em; line-height: 1.2; text-transform: uppercase; }
.portal-access-copy h1 { max-width: 760px; margin: 0 0 25px; color: #fff; font-size: clamp(3.25rem,6.2vw,6.2rem); line-height: .98; letter-spacing: -.052em; }
.portal-access-lead { max-width: 670px; margin: 0; color: #ddd1e3; font-size: clamp(1.08rem,1.55vw,1.3rem); line-height: 1.65; }
.portal-access-highlights { display: flex; flex-wrap: wrap; gap: 9px; margin: 31px 0 0; padding: 0; list-style: none; }
.portal-access-highlights li { padding: 8px 12px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: #fff; background: rgba(255,255,255,.07); font-size: .78rem; font-weight: 700; }
.portal-access-studio { display: grid; gap: 4px; margin-top: 35px; padding: 19px 0 0 20px; border-left: 3px solid #0aa3c7; }
.portal-access-studio strong { color: #fff; font-size: .95rem; }
.portal-access-studio span { color: #cfc1d6; font-size: .86rem; }
.portal-access-studio a { color: #80dfef; font-weight: 700; text-decoration: none; }
.portal-access-login { align-content: start; gap: 16px; padding: clamp(31px,3vw,44px); border: 0; border-radius: 22px; box-shadow: 0 28px 70px rgba(14,8,21,.28); }
.portal-access-login .portal-eyebrow { color: #812990; }
.portal-access-login h2 { margin: 0; color: #4f1f67; font-size: clamp(1.85rem,3vw,2.55rem); line-height: 1.08; }
.portal-access-login > p:not(.portal-eyebrow) { margin: 0 0 4px; color: #6b7887; line-height: 1.55; }
.portal-access-login form { display: grid; gap: 16px; }
.portal-access-login label { display: grid; gap: 7px; }
.portal-access-login label > span { color: #1d2a3a; font-size: .8rem; font-weight: 750; }
.portal-access-login input { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #cfc7d4; border-radius: 9px; color: #1d2a3a; background: #fff; font: inherit; }
.portal-access-login input:focus { outline: 3px solid rgba(10,163,199,.22); border-color: #0aa3c7; }
.portal-access-login .portal-button { width: 100%; min-height: 49px; margin-top: 3px; border-radius: 999px; background: linear-gradient(118deg,#812990,#6c3d8a 56%,#0aa3c7); }
.portal-access-login > small { color: #6b7887; font-size: .78rem; line-height: 1.55; }
.portal-access-features { padding: clamp(76px,8vw,112px) 0; background: #f6f3f8; }
.portal-access-section-head { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); align-items: end; gap: 60px; margin-bottom: 44px; }
.portal-access-section-head h2,.portal-access-support h2 { max-width: 760px; margin: 0; color: #4f1f67; font-size: clamp(2.25rem,4.4vw,4.25rem); line-height: 1.05; letter-spacing: -.045em; }
.portal-access-section-head > p { max-width: 440px; margin: 0; color: #6b7887; line-height: 1.7; }
.portal-access-feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.portal-access-feature-grid article { min-height: 250px; display: flex; flex-direction: column; padding: 28px; border: 1px solid #e4dfe8; border-radius: 18px; background: #fff; box-shadow: 0 10px 32px rgba(65,31,76,.055); }
.portal-access-feature-grid article > span { margin-bottom: auto; color: #812990; font-size: .73rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.portal-access-feature-grid h3 { margin: 34px 0 10px; color: #4f1f67; font-size: 1.28rem; letter-spacing: -.025em; }
.portal-access-feature-grid p { margin: 0; color: #6b7887; font-size: .91rem; line-height: 1.65; }
.portal-access-support { padding: clamp(72px,8vw,108px) 0; background: #fff; }
.portal-access-support-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(320px,.65fr); align-items: center; gap: clamp(50px,8vw,110px); }
.portal-access-support-grid > div > p:last-child { max-width: 720px; margin: 24px 0 0; color: #6b7887; font-size: 1.05rem; line-height: 1.75; }
.portal-access-support aside { padding: 31px; border-radius: 19px; color: #ddd1e3; background: linear-gradient(145deg,#21132b,#4f1f67); box-shadow: 0 20px 50px rgba(64,30,75,.18); }
.portal-access-support aside strong { color: #fff; font-family: "Manrope","DM Sans",sans-serif; font-size: 1.35rem; }
.portal-access-support aside p { margin: 13px 0 21px; line-height: 1.65; }
.portal-access-support aside a { display: inline-flex; align-items: center; gap: 10px; color: #7ddded; font-weight: 800; text-decoration: none; }
body.hp-nav-open { overflow: hidden; }

@media (max-width: 1080px) {
  .hp-site-nav { grid-template-columns: 220px 1fr auto; gap: 16px; }
  .hp-site-logo { width: 210px; }
  .hp-site-menu { gap: 1px; }
  .hp-site-menu > a,
  .hp-site-dropdown > summary { padding-inline: 8px; font-size: .82rem; }
  .hp-site-dropdown-panel { width: 510px; }
  .hp-site-cta { padding-inline: 15px; }
  .hp-site-footer-top { grid-template-columns: repeat(2,1fr); }
  .portal-access-hero-grid { grid-template-columns: minmax(0,1fr) minmax(350px,.72fr); gap: 42px; }
  .portal-access-copy h1 { font-size: clamp(3rem,5.7vw,5rem); }
}

@media (max-width: 820px) {
  .hp-site-nav { min-height: 76px; grid-template-columns: 1fr auto; }
  .hp-site-logo { width: 240px; }
  .hp-site-nav-toggle { display: flex; }
  .hp-site-cta { display: none; }
  .hp-site-menu {
    position: fixed;
    z-index: 101;
    top: 112px;
    right: 0;
    bottom: 0;
    left: 0;
    display: none;
    align-items: stretch;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
    padding: 22px 20px;
    overflow-y: auto;
    background: var(--hp-site-paper);
  }
  .hp-site-menu.is-open { display: flex; }
  .hp-site-menu > a { padding: 17px 10px; border-bottom: 1px solid var(--hp-site-line); border-radius: 0; color: var(--hp-site-ink); font-family: "Manrope","DM Sans",sans-serif; font-size: 1.15rem; }
  .hp-site-dropdown { border-bottom: 1px solid var(--hp-site-line); }
  .hp-site-dropdown > summary { min-height: 58px; padding: 15px 10px; border-radius: 0; font-family: "Manrope","DM Sans",sans-serif; font-size: 1.1rem; }
  .hp-site-dropdown-panel,
  .hp-site-dropdown-panel-right { position: static; width: 100%; grid-template-columns: 1fr; gap: 16px; padding: 8px 14px 20px; border: 0; border-radius: 0; box-shadow: none; }
  .hp-site-menu .hp-site-dropdown-panel a { padding: 10px 0; font-size: .92rem; }
  .portal-access-hero-grid,.portal-access-section-head,.portal-access-support-grid { grid-template-columns: 1fr; }
  .portal-access-copy { max-width: 100%; }
  .portal-access-login { width: min(100%,620px); }
  .portal-access-section-head { gap: 20px; }
  .portal-access-feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 600px) {
  .hp-site-shell { width: min(calc(100% - 28px),1200px); }
  .hp-site-utility { display: none; }
  .hp-site-menu { top: 76px; }
  .hp-site-logo { width: min(230px,68vw); }
  .hp-site-footer-top { grid-template-columns: 1fr; }
  .hp-site-footer-bottom { align-items: flex-start; flex-direction: column; }
  .hp-site-footer-bottom div { flex-wrap: wrap; }
  .hp-site-footer-intro img { width: 220px; }
  .portal-login-body.has-website-chrome .portal-login-page { min-height: 0; padding: 36px 14px; }
  .portal-access-hero { padding: 58px 0 66px; }
  .portal-access-copy h1 { font-size: clamp(2.75rem,14vw,4.2rem); }
  .portal-access-highlights { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .portal-access-highlights li { text-align: center; }
  .portal-access-login { padding: 28px 23px; }
  .portal-access-feature-grid { grid-template-columns: 1fr; }
  .portal-access-feature-grid article { min-height: 220px; }
  .portal-access-support aside { padding: 26px; }
}
