@font-face {
  font-family:OpenSansCondensed;
  src:url('../fonts/opensans-light.woff2') format('woff2');
  font-weight:300
}

.platform-logout-form button {
  --platform-accent:#ff8c52;
  width:100%;
  min-height:54px;
  padding:10px 44px 10px 18px;
  color:#fff;
  background:color-mix(in srgb,var(--platform-accent) 8%,#050505);
  border:1px solid color-mix(in srgb,var(--platform-accent) 55%,transparent);
  border-radius:5px;
  font:400 16px Montserrat,sans-serif;
  text-align:left;
  cursor:pointer
}

.platform-logout-form button:hover,.platform-logout-form button:focus-visible {
  background:color-mix(in srgb,var(--platform-accent) 20%,#050505);
  border-color:var(--platform-accent);
  box-shadow:0 0 22px color-mix(in srgb,var(--platform-accent) 32%,transparent)
}

.mobile-platform-logout {
  position:relative;
  z-index:1
}

.mobile-platform-logout button {
  position:relative;
  width:52px;
  height:52px;
  padding:0;
  color:#fff;
  background:none;
  border:0;
  font:inherit;
  cursor:pointer
}

.mobile-platform-logout button>span {
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  color:#ff8c52;
  border:1px solid currentColor;
  border-radius:50%;
  background:color-mix(in srgb,#ff8c52 26%,#071018);
  transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease
}

.mobile-platform-logout button:hover>span,.mobile-platform-logout button:focus-visible>span {
  transform:translateY(-5px) scale(1.08);
  background:color-mix(in srgb,#ff8c52 70%,#071018);
  box-shadow:0 0 20px color-mix(in srgb,#ff8c52 72%,transparent)
}

.mobile-platform-logout svg {
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round
}

.mobile-platform-logout b {
  position:absolute;
  top:57px;
  left:50%;
  width:67px;
  translate:-50% 0;
  color:#fff;
  text-align:center;
  font:400 14px/17px Montserrat,sans-serif
}

.auth-body #main-content {
  height:calc(100vh - 160px);
  min-height:0;
  width:calc(100% - 144px);
  max-width:1024px;
  margin:0 auto;
  overflow-y:auto;
  background:rgba(0,0,0,.84)
}

.auth-page {
  min-height:100%;
  display:grid;
  place-items:center;
  padding:54px
}

.auth-panel {
  width:min(560px,100%);
  padding:36px;
  background:#071018;
  border:1px solid rgba(86,200,255,.5);
  border-radius:6px;
  box-shadow:0 18px 50px rgba(0,0,0,.35)
}

.auth-panel--wide {
  width:min(760px,100%)
}

.auth-kicker {
  display:inline-flex;
  margin:0 0 14px;
  padding:7px 10px;
  color:#071018;
  background:#31d0aa;
  border-radius:3px;
  font:700 12px/1 Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:.8px
}

.auth-panel h1 {
  margin:0;
  color:#fff;
  font:300 36px/1.15 Montserrat,sans-serif;
  letter-spacing:0
}

.auth-intro {
  margin:10px 0 28px;
  color:#a7bdcc;
  font:300 16px/1.5 Montserrat,sans-serif
}

.auth-form,.auth-form label {
  display:grid;
  gap:8px
}

.auth-form {
  gap:20px
}

.auth-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px
}

.auth-form label>span {
  color:#dce8ef;
  font:600 13px/1.2 Montserrat,sans-serif
}

.auth-form input {
  width:100%;
  min-height:48px;
  padding:0 14px;
  color:#fff;
  background:#0d1c26;
  border:1px solid #315064;
  border-radius:4px;
  outline:0;
  font:400 16px Montserrat,sans-serif
}

.password-field {
  position:relative;
  min-width:0;
  display:block
}

.password-field input {
  display:block
}

.auth-form .password-field input {
  padding-right:54px
}

.password-toggle {
  position:absolute;
  z-index:1;
  top:50%;
  right:4px;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  padding:0;
  color:#7edcff;
  background:transparent;
  border:0;
  border-radius:4px;
  cursor:pointer;
  transform:translateY(-50%);
  transition:color .2s ease,background-color .2s ease
}

.password-toggle:hover,.password-toggle:focus-visible {
  color:#31d0aa;
  background:rgba(49,208,170,.1);
  outline:0
}

.password-toggle:focus-visible {
  box-shadow:0 0 0 2px rgba(86,200,255,.5)
}

.password-toggle svg {
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round
}

.auth-form input:focus {
  border-color:#56c8ff;
  box-shadow:0 0 0 3px rgba(86,200,255,.15)
}

.auth-form label.is-invalid input {
  border-color:#ff5f7f
}

input[aria-invalid="true"] {
  border-color:#ff5f7f!important;
  box-shadow:0 0 0 3px rgba(255,95,127,.14)!important
}

.auth-form small {
  color:#ff91a7;
  font:400 12px/1.4 Montserrat,sans-serif
}

.auth-forgot-link {
  justify-self:end;
  color:#7edcff;
  font:400 14px Montserrat,sans-serif
}

.auth-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:4px
}

.auth-actions button,.auth-actions a {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 22px;
  border-radius:4px;
  font:700 14px Montserrat,sans-serif;
  cursor:pointer
}

.auth-actions button {
  color:#071018;
  background:#31d0aa;
  border:1px solid #31d0aa
}

.auth-actions a {
  color:#fff;
  border:1px solid #56c8ff;
  background:rgba(86,200,255,.08)
}

.auth-message {
  margin:0 0 20px;
  padding:12px 14px;
  border-radius:4px;
  font:400 14px/1.5 Montserrat,sans-serif
}

.auth-message--error {
  color:#ffdce3;
  background:rgba(255,95,127,.14);
  border:1px solid #ff5f7f
}

.auth-message--success {
  color:#d8fff5;
  background:rgba(49,208,170,.14);
  border:1px solid #31d0aa
}

@media (max-width:760px) {
  .auth-body #main-content {
    width:100%;
    height:calc(100vh - 126px)
  }

  .auth-page {
    padding:28px 16px 96px
  }

  .auth-panel {
    padding:26px 20px
  }

  .auth-panel h1 {
    font-size:30px
  }

  .auth-grid {
    grid-template-columns:1fr
  }

  .auth-actions>* {
    flex:1 1 150px
  }
}

@font-face {
  font-family:OpenSansCondensed;
  src:url('../fonts/opensans-bold.woff2') format('woff2');
  font-weight:700
}

:root {
  --header:80px;
  --ink:#111;
  --pink:#ef4c75;
  --line:#e6e6e6;
  --scrollbar-track:#071018;
  --scrollbar-thumb:#357b91;
  --scrollbar-hover:#56c8ff;
  --scrollbar-active:#31d0aa
}

* {
  box-sizing:border-box;
  scrollbar-width:thin;
  scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)
}

/* Custom scrollbars for the page and nested scrollable panels. */
@supports selector(::-webkit-scrollbar) {
  * {
    scrollbar-width:auto;
    scrollbar-color:auto
  }

  ::-webkit-scrollbar {
    width:10px;
    height:10px
  }

  ::-webkit-scrollbar-track,::-webkit-scrollbar-corner {
    background:var(--scrollbar-track)
  }

  ::-webkit-scrollbar-thumb {
    min-height:40px;
    border:2px solid var(--scrollbar-track);
    border-radius:10px;
    background:var(--scrollbar-thumb)
  }

  ::-webkit-scrollbar-thumb:hover {
    background:var(--scrollbar-hover)
  }

  ::-webkit-scrollbar-thumb:active {
    background:var(--scrollbar-active)
  }

  ::-webkit-scrollbar-button {
    display:none;
    width:0;
    height:0
  }
}

@media(forced-colors:active) {
  * {
    scrollbar-color:auto
  }

  ::-webkit-scrollbar-track,::-webkit-scrollbar-corner {
    background:Canvas
  }

  ::-webkit-scrollbar-thumb {
    border-color:Canvas;
    background:ButtonText
  }

  ::-webkit-scrollbar-thumb:hover,::-webkit-scrollbar-thumb:active {
    background:Highlight
  }
}

html {
  scroll-behavior:smooth
}

body {
  margin:0;
  color:var(--ink);
  font-family:OpenSansCondensed,Arial,sans-serif;
  font-size:20px;
  background:#fff
}

.page-loader {
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(0,0,0,.9) url('../images/loader.webp') center no-repeat;
  opacity:1;
  visibility:visible;
  transition:opacity .8s ease .3s,visibility 0s linear 1.1s
}

.page-loader.is-hidden {
  opacity:0;
  visibility:hidden
}

img {
  display:block;
  max-width:100%
}

a {
  color:inherit;
  text-decoration:none
}

.site-header {
  height:var(--header);
  background:#050505;
  color:#fff;
  display:grid;
  grid-template-columns:1fr 180px 1fr;
  align-items:center;
  padding:0 24px;
  position:relative;
  z-index:20
}

.logo {
  justify-self:center
}

.logo img {
  width:155px;
  max-height:70px;
  object-fit:contain
}

.menu-button,.slider-controls button {
  border:0;
  background:none;
  color:#fff;
  font:300 21px OpenSansCondensed;
  cursor:pointer
}

.menu-button {
  display:flex;
  align-items:center;
  gap:16px;
  padding:0;
  text-transform:uppercase;
  letter-spacing:.3px
}

.menu-icon,.menu-icon:before,.menu-icon:after {
  width:20px;
  height:2px;
  background:#fff;
  display:block;
  content:'';
  transition:.25s
}

.menu-icon {
  position:relative
}

.menu-icon:before {
  position:absolute;
  top:-7px
}

.menu-icon:after {
  position:absolute;
  top:7px
}

.menu-button[aria-expanded=true] .menu-icon {
  background:transparent
}

.menu-button[aria-expanded=true] .menu-icon:before {
  top:0;
  transform:rotate(45deg)
}

.menu-button[aria-expanded=true] .menu-icon:after {
  top:0;
  transform:rotate(-45deg)
}

.phone {
  justify-self:end;
  color:var(--pink);
  font-size:27px;
  font-weight:700
}

.site-menu {
  position:fixed;
  inset:var(--header) auto 0 0;
  width:min(410px,100%);
  background:rgba(0,0,0,.96);
  z-index:40;
  color:#fff;
  transform:translateX(-100%);
  transition:transform .35s ease
}

.site-menu.is-open {
  transform:none
}

.menu-panel {
  padding:38px 36px;
  display:flex;
  flex-direction:column
}

.menu-title {
  color:var(--pink);
  text-transform:uppercase;
  font-size:15px
}

.menu-panel a {
  font-size:30px;
  padding:8px 0;
  border-bottom:1px solid #292929
}

.menu-panel a:hover {
  color:var(--pink)
}

.home-page {
  height:100vh;
  overflow:hidden
}

.home-hero {
  height:calc(100vh - var(--header) - 80px);
  position:relative;
  background:#111;
  cursor:grab;
  touch-action:pan-y;
  -webkit-user-select:none;
  user-select:none;
  transition:height .5s cubic-bezier(.22,.61,.36,1)
}

.home-hero:active {
  cursor:grabbing
}

.hero-slides,.hero-slide,.hero-slide picture,.hero-slide img {
  width:100%;
  height:100%
}

.hero-slide {
  position:absolute;
  inset:0;
  opacity:0;
  overflow:hidden;
  pointer-events:none;
  transition:opacity .9s cubic-bezier(.4,0,.2,1)
}

.hero-slide.is-active {
  opacity:1;
  pointer-events:auto
}

.hero-slide picture,.hero-slide img {
  display:block
}

.hero-slide img {
  object-fit:cover;
  -webkit-user-drag:none
}

.hero-slide__overlay {
  position:absolute;
  inset:0;
  z-index:1;
  background:#000;
  opacity:var(--hero-overlay,.25)
}

.hero-slide__content {
  width:min(640px,calc(100% - 80px));
  position:absolute;
  z-index:2;
  top:50%;
  left:clamp(32px,8vw,140px);
  color:#fff;
  transform:translateY(-46%);
  text-shadow:0 2px 22px rgba(0,0,0,.55)
}

.hero-slide--center .hero-slide__content {
  left:50%;
  text-align:center;
  transform:translate(-50%,-44%)
}

.hero-slide--right .hero-slide__content {
  right:clamp(32px,8vw,140px);
  left:auto;
  text-align:right
}

.hero-slide__eyebrow {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
  color:rgba(255,255,255,.9);
  font:700 11px/1 Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:1.5px
}

.hero-slide__eyebrow:before {
  content:'';
  width:28px;
  height:2px;
  background:#ff2a71;
  box-shadow:0 0 12px rgba(255,42,113,.55)
}

.hero-slide__content h2 {
  max-width:14ch;
  margin:0;
  font:500 clamp(40px,4.6vw,72px)/1.02 Montserrat,sans-serif;
  text-wrap:balance;
  letter-spacing:0
}

.hero-slide--center .hero-slide__content h2 {
  margin-right:auto;
  margin-left:auto
}

.hero-slide--right .hero-slide__content h2 {
  margin-left:auto
}

.hero-slide__content p {
  max-width:46ch;
  margin:18px 0 0;
  color:rgba(255,255,255,.9);
  font:400 17px/1.6 Montserrat,sans-serif;
  text-wrap:pretty
}

.hero-slide--center .hero-slide__content p {
  margin-right:auto;
  margin-left:auto
}

.hero-slide--right .hero-slide__content p {
  margin-left:auto
}

.hero-slide__button {
  min-height:54px;
  display:inline-flex;
  align-items:center;
  gap:22px;
  margin-top:28px;
  padding:0 7px 0 22px;
  color:#fff;
  border:1px solid rgba(255,255,255,.72);
  background:rgba(5,5,5,.36);
  backdrop-filter:blur(5px);
  font:700 12px/1 Montserrat,sans-serif;
  text-decoration:none;
  text-shadow:none;
  text-transform:uppercase;
  transition:color .25s ease,background .25s ease,border-color .25s ease,transform .25s ease
}

.hero-slide__button span {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  color:#050505;
  background:#fff;
  font-size:16px;
  transition:transform .25s ease,background .25s ease
}

.hero-slide__button:hover,.hero-slide__button:focus-visible {
  color:#050505;
  border-color:#fff;
  background:#fff;
  transform:translateY(-2px)
}

.hero-slide__button:hover span,.hero-slide__button:focus-visible span {
  color:#fff;
  background:#050505;
  transform:translateX(2px)
}

.slider-controls {
  position:absolute;
  inset:50% 25px auto;
  display:flex;
  justify-content:space-between;
  transform:translateY(-50%)
}

.slider-controls button {
  font-size:60px;
  text-shadow:0 2px 10px #000
}

.category-footer {
  display:grid;
  grid-template-columns:repeat(7,1fr);
  height:80px;
  position:relative;
  z-index:10;
  background:#0b0d10;
  isolation:isolate;
  transition:transform .5s cubic-bezier(.22,.61,.36,1)
}

.category-footer__item {
  height:80px;
  position:relative;
  min-width:0;
  background:#111
}

.category-footer__item:hover,.category-footer__item:focus-within {
  z-index:2
}

.category-footer__item>a {
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:80px;
  background:#111;
  border-top:3px solid var(--accent);
  border-right:1px solid rgba(255,255,255,.1);
  color:white;
  text-align:center;
  padding:9px 8px 8px;
  overflow:hidden;
  text-decoration:none;
  transition:height .35s cubic-bezier(.22,.61,.36,1),background-color .25s,box-shadow .25s;
  will-change:height
}

.category-footer__item:last-child>a {
  border-right:0
}

.category-footer span {
  min-height:34px;
  display:block;
  color:#f7f9fb;
  font:700 clamp(11px,1.05vw,16px)/1.2 Montserrat,sans-serif;
  letter-spacing:.12em;
  text-align:center;
  text-transform:uppercase;
  text-wrap:balance;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 10%,transparent),transparent);
  text-shadow:0 1px 2px #000,0 0 8px var(--accent),0 0 18px color-mix(in srgb,var(--accent) 55%,transparent);
  transition:color .25s,text-shadow .25s
}

.category-footer span b {
  display:inline;
  font:inherit;
  font-weight:inherit
}

.category-footer span b:before {
  content:'';
  display:inline-block;
  width:7px;
  height:7px;
  margin-right:9px;
  vertical-align:.08em;
  background:var(--accent);
  box-shadow:0 0 10px var(--accent);
  transform:rotate(45deg)
}

.category-footer i {
  display:block;
  width:32px;
  border-bottom:2px solid var(--accent);
  margin:4px auto 8px;
  opacity:.75;
  transition:width .25s,opacity .25s
}

.category-footer img,.category-footer p {
  opacity:0;
  transition:.25s
}

.category-footer img {
  height:65px;
  margin:10px auto
}

.category-footer p {
  font-size:17px;
  margin:8px
}

.category-footer__item>a:hover,.category-footer__item>a:focus-visible {
  height:280px;
  background:#050505;
  box-shadow:inset 0 12px 24px -20px var(--accent),0 -12px 34px -24px var(--accent)
}

.category-footer__item>a:hover span,.category-footer__item>a:focus-visible span {
  color:#fff;
  background:linear-gradient(90deg,transparent,rgba(0,0,0,.82) 20%,rgba(0,0,0,.82) 80%,transparent);
  text-shadow:0 2px 3px #000,0 0 7px var(--accent),0 0 13px color-mix(in srgb,var(--accent) 45%,transparent)
}

.category-footer__item>a:hover i,.category-footer__item>a:focus-visible i {
  width:46px;
  opacity:1
}

.category-footer__item>a:hover img,.category-footer__item>a:hover p,.category-footer__item>a:focus-visible img,.category-footer__item>a:focus-visible p {
  opacity:1
}

body.menu-open .category-footer {
  pointer-events:none
}

body.menu-open .site-menu {
  transition-delay:.5s
}

@media (min-width:1024px) {
  body.menu-open.home-page .home-hero {
    height:calc(100vh - var(--header) - 3px)
  }

  body.menu-open .category-footer {
    position:fixed;
    right:0;
    bottom:0;
    left:0;
    z-index:20;
    overflow:hidden;
    transform:translateY(calc(100% - 3px))
  }

  body.menu-open .category-footer__item>a {
    height:80px;
    box-shadow:none
  }

  .desktop-navigation {
    min-height:620px
  }
}

@media(prefers-reduced-motion:reduce) {
  body .site-menu,body .site-menu.is-rail-open,body .site-menu.is-expanded,body .category-footer,body .home-hero {
    transition:none
  }
}

.page-main {
  max-width:1180px;
  margin:0 auto;
  padding:70px 32px 100px;
  min-height:calc(100vh - 160px)
}

.title-block {
  text-align:center;
  margin-bottom:55px
}

.title-block p,.section-heading p {
  color:var(--pink);
  margin:0;
  text-transform:uppercase;
  font-size:17px
}

.title-block h1 {
  font-size:44px;
  font-weight:300;
  margin:8px 0
}

.values {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:35px
}

.values article {
  display:grid;
  grid-template-columns:100px 1fr;
  align-items:center;
  gap:20px
}

.values img {
  width:95px
}

.values h2 {
  font-size:28px;
  margin:0
}

.values p {
  font-size:18px;
  margin:4px 0
}

.prose {
  max-width:960px;
  margin:55px auto 0;
  line-height:1.65;
  text-align:justify
}

.prose.large {
  font-size:23px
}

.project-hero {
  height:58vh;
  position:relative;
  color:#fff;
  background:#111;
  overflow:hidden
}

.project-hero>img {
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.78
}

.project-hero>div {
  position:absolute;
  left:8%;
  bottom:12%;
  max-width:620px
}

.project-hero p {
  color:var(--pink);
  text-transform:uppercase
}

.project-hero h1 {
  font-size:70px;
  font-weight:300;
  margin:0
}

.project-hero span {
  font-size:25px
}

.section-heading {
  text-align:center;
  margin-bottom:35px
}

.section-heading h2 {
  font-size:46px;
  font-weight:300;
  margin:4px
}

.photo-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px
}

.photo-grid img {
  width:100%;
  height:220px;
  object-fit:cover
}

.photo-grid img:nth-child(3n+1) {
  grid-row:span 2;
  height:448px
}

.gallery-categories {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px
}

.gallery-categories>a {
  height:300px;
  position:relative;
  overflow:hidden
}

.gallery-categories>a>img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s
}

.gallery-categories>a:hover>img {
  transform:scale(1.05)
}

.gallery-categories span {
  position:absolute;
  inset:auto 0 0;
  background:color-mix(in srgb,var(--accent) 86%,transparent);
  color:#fff;
  padding:12px;
  display:flex;
  align-items:center;
  gap:14px
}

.gallery-categories span img {
  width:44px;
  height:44px;
  object-fit:contain
}

.gallery-categories b {
  font-size:25px;
  font-weight:300
}

.editorial-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px
}

.editorial-grid article {
  border-bottom:3px solid var(--pink)
}

.editorial-grid article>img {
  width:100%;
  height:300px;
  object-fit:cover
}

.editorial-grid article div {
  padding:18px
}

.editorial-grid h2 {
  font-size:30px;
  margin:0
}

.editorial-grid p {
  font-size:18px
}

.contact-layout {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:60px
}

.contact-info {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px
}

.contact-info article {
  border-top:3px solid var(--pink);
  padding-top:18px
}

.contact-info h2,.contact-form h2 {
  font-size:30px
}

.contact-info a,.contact-info span,.contact-info strong {
  display:block
}

.contact-info a {
  color:var(--pink)
}

.contact-form {
  display:flex;
  flex-direction:column;
  gap:12px
}

.contact-form input,.contact-form textarea {
  border:0;
  border-bottom:1px solid #aaa;
  padding:13px 5px;
  font:20px OpenSansCondensed;
  background:#fafafa
}

.contact-form textarea {
  height:120px;
  resize:vertical
}

.contact-form button {
  align-self:flex-end;
  border:1px solid var(--pink);
  background:var(--pink);
  color:#fff;
  padding:10px 35px;
  font:22px OpenSansCondensed
}

.simple-list {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:25px
}

.simple-list article {
  padding:25px;
  border:1px solid var(--line)
}

@media(max-width:900px) {
  :root {
  --header:64px
}

.site-header {
  grid-template-columns:1fr 90px auto;
  padding:0 14px
}

.menu-button span:last-child {
  display:none
}

.logo img {
  width:90px
}

.phone {
  font-size:18px
}

.home-hero {
  height:calc(100vh - var(--header) - 145px)
}

.category-footer {
  height:145px;
  grid-template-columns:repeat(4,1fr)
}

.category-footer__item>a {
  padding:8px 2px
}

.category-footer span {
  font-size:16px
}

.category-footer__item:last-child {
  grid-column:2
}

.category-footer i {
  width:18px
}

.category-footer__item>a:hover {
  height:auto;
  transform:none
}

.category-footer img,.category-footer p {
  display:none
}

.values,.editorial-grid,.gallery-categories {
  grid-template-columns:1fr
}

.values article {
  grid-template-columns:75px 1fr
}

.values img {
  width:70px
}

.contact-layout,.contact-info {
  grid-template-columns:1fr
}

.photo-grid {
  grid-template-columns:repeat(2,1fr)
}

.project-hero h1 {
  font-size:45px
}

.page-main {
  padding:45px 20px 70px
}

.title-block h1 {
  font-size:34px
}


}

@font-face {
  font-family:OpenSansCondensed-Light;
  src:url('../fonts/opensans-light.woff2') format('woff2');
  font-weight:400
}


@font-face {
  font-family:Montserrat;
  src:url('../fonts/montserrat-300.ttf') format('truetype');
  font-weight:300
}


@font-face {
  font-family:Montserrat;
  src:url('../fonts/montserrat-400.ttf') format('truetype');
  font-weight:400
}


@keyframes scale-change {
  0%,100% {
  transform:scale(1)
}

50% {
  transform:scale(1.18)
}


}


@keyframes color-change {
  0%,100% {
  color:#e91e63
}

50% {
  color:#fff
}


}


@keyframes mobile-orbit-in {
  0% {
  opacity:0;
  transform:translateX(-90px) scale(.25)
}

65% {
  opacity:1;
  transform:translateX(8px) scale(1.06)
}

100% {
  opacity:1;
  transform:none
}


}


@keyframes mobile-orbit-out {
  0% {
  opacity:1;
  transform:rotate(var(--angle)) translate(0) scale(1)
}

100% {
  opacity:0;
  transform:rotate(var(--angle)) translate(-110px) scale(.35)
}


}


@keyframes mobile-platform-in {
  0% {
  opacity:0;
  transform:translateY(90px) scale(.55)
}

70% {
  opacity:1;
  transform:translateY(-5px) scale(1.04)
}

100% {
  opacity:1;
  transform:translateY(0) scale(1)
}


}


body {
  font-family:OpenSansCondensed-Light,sans-serif
}

body.menu-open {
  overflow:hidden
}

body.portal-body.menu-open #main-content {
  visibility:hidden;
  pointer-events:none
}


.hero-slides-mobile {
  display:none
}

.site-header {
  height:80px;
  grid-template-columns:1fr 166px 1fr;
  padding:4px 16px;
  background:#000
}


.menu-button {
  font-family:Montserrat,sans-serif;
  font-size:20px;
  font-weight:300;
  line-height:28px;
  gap:20px;
  text-transform:uppercase
}


.menu-icon {
  display:block;
  width:40px;
  height:40px;
  background:none
}


.menu-icon:before,.menu-icon:after {
  display:none
}

.menu-icon svg {
  display:block;
  width:40px;
  height:40px;
  overflow:visible
}

.menu-line {
  fill:none;
  stroke:#fff;
  stroke-width:1.4;
  stroke-linecap:round;
  transform-origin:20px 20px;
  transition:transform .3s ease,opacity .2s ease
}

.menu-line-top {
  transform-origin:7px 12px
}

.menu-line-bottom {
  transform-origin:7px 28px
}

.menu-button[aria-expanded=true] .menu-line-top {
  transform:translateY(8px) rotate(-45deg) scaleX(.62)
}

.menu-button[aria-expanded=true] .menu-line-middle {
  opacity:1;
  transform:none
}

.menu-button[aria-expanded=true] .menu-line-bottom {
  transform:translateY(-8px) rotate(45deg) scaleX(.62)
}


.logo img {
  width:166px;
  height:75px;
  max-height:none;
  object-fit:cover
}


.phone {
  font:700 30px/36px OpenSansCondensed-Light,sans-serif;
  color:#fff;
  animation:scale-change 3s ease-in-out infinite;
  transform-origin:center
}


.phone-content {
  display:flex;
  align-items:center;
  animation:color-change 1s ease-in-out infinite
}


.phone svg {
  width:37px;
  height:37px;
  transform:scale(1.3);
  margin-right:7px
}


.site-menu {
  position:fixed;
  top:80px;
  bottom:3px;
  left:0;
  width:0;
  transform:none;
  background:#000;
  color:#fff;
  z-index:40;
  overflow:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  transition:width .6s cubic-bezier(.77,0,.175,1)
}


.site-menu.is-rail-open {
  width:100vw
}

.site-menu.is-expanded {
  width:100vw
}


.desktop-navigation {
  height:100%;
  width:100vw;
  display:grid;
  grid-template-columns:minmax(300px,3fr) minmax(260px,4fr) minmax(360px,5fr)
}


.navigation-rail {
  --divider-start:#56c8ff;
  --divider-end:#9e8cff;
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  padding-left:8px;
  min-width:300px
}

.navigation-rail:after,.platform-links:after {
  content:'';
  position:absolute;
  top:6%;
  right:0;
  bottom:6%;
  width:1px;
  border-radius:2px;
  background:linear-gradient(180deg,transparent 0,color-mix(in srgb,var(--divider-start) 34%,transparent) 12%,var(--divider-start) 36%,var(--divider-end) 64%,color-mix(in srgb,var(--divider-end) 34%,transparent) 88%,transparent 100%);
  box-shadow:0 0 8px color-mix(in srgb,var(--divider-start) 50%,transparent),0 0 18px color-mix(in srgb,var(--divider-end) 28%,transparent)
}

.navigation-rail:before,.platform-links:before {
  content:'';
  position:absolute;
  top:50%;
  right:-3px;
  width:7px;
  height:7px;
  border:1px solid color-mix(in srgb,var(--divider-end) 75%,#fff);
  background:#050505;
  box-shadow:0 0 10px var(--divider-end);
  transform:translateY(-50%) rotate(45deg);
  z-index:1
}


.navigation-rail a {
  position:relative;
  height:58px;
  width:min(280px,100%);
  display:flex;
  align-items:center;
  color:#fff;
  white-space:nowrap;
  border-radius:30px 8px 8px 30px;
  transition:background-color .3s ease,box-shadow .3s ease
}

.navigation-rail a:before {
  content:'';
  position:absolute;
  left:-8px;
  width:4px;
  height:28px;
  border-radius:0 4px 4px 0;
  background:var(--nav-accent);
  opacity:0;
  transform:scaleY(.35);
  box-shadow:0 0 14px var(--nav-accent);
  transition:opacity .3s ease,transform .3s ease
}

.navigation-rail a:hover,.navigation-rail a:focus-visible {
  background:color-mix(in srgb,var(--nav-accent) 15%,transparent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--nav-accent) 28%,transparent)
}

.navigation-rail a:hover:before,.navigation-rail a:focus-visible:before,.navigation-rail a[aria-current=page]:before {
  opacity:1;
  transform:scaleY(1)
}


.nav-icon {
  width:58px;
  height:58px;
  min-width:58px;
  border:1px solid color-mix(in srgb,var(--nav-accent,#fff) 75%,#fff);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--nav-accent,#fff);
  background:color-mix(in srgb,var(--nav-accent,#fff) 9%,#000);
  box-shadow:inset 0 0 14px color-mix(in srgb,var(--nav-accent,#fff) 12%,transparent);
  transition:color .3s ease,background-color .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s ease
}


.nav-icon svg {
  width:43px;
  height:43px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.25;
  stroke-linecap:round;
  stroke-linejoin:round
}

.navigation-rail a:hover .nav-icon,.navigation-rail a:focus-visible .nav-icon,.navigation-rail a[aria-current=page] .nav-icon {
  color:#fff;
  border-color:var(--nav-accent);
  background:color-mix(in srgb,var(--nav-accent) 42%,#050505);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--nav-accent) 18%,transparent),0 0 22px color-mix(in srgb,var(--nav-accent) 70%,transparent);
  transform:translateX(4px) scale(1.08)
}

.navigation-rail a:nth-child(1),.mobile-orbit a:nth-child(1) {--nav-accent:#56c8ff}
.navigation-rail a:nth-child(2),.mobile-orbit a:nth-child(2) {--nav-accent:#ff5f7f}
.navigation-rail a:nth-child(3) {--nav-accent:#ffb84d}
.navigation-rail a:nth-child(4),.mobile-orbit a:nth-child(3) {--nav-accent:#31d0aa}
.navigation-rail a:nth-child(5),.mobile-orbit a:nth-child(7) {--nav-accent:#9e8cff}
.navigation-rail a:nth-child(6),.mobile-orbit a:nth-child(5) {--nav-accent:#e0d34f}
.navigation-rail a:nth-child(7),.mobile-orbit a:nth-child(8) {--nav-accent:#50c7c7}
.navigation-rail a:nth-child(8),.mobile-orbit a:nth-child(9) {--nav-accent:#ff79a7}
.navigation-rail a:nth-child(9),.mobile-orbit a:nth-child(4) {--nav-accent:#ff8c52}
.mobile-orbit a:nth-child(6) {--nav-accent:#ffb84d}

.navigation-rail a:nth-child(1) svg,.navigation-rail a:nth-child(5) svg {
  width:32px;
  height:32px;
  stroke-width:1
}

.navigation-rail a:nth-child(2) svg,.navigation-rail a:nth-child(6) svg,.navigation-rail a:nth-child(8) svg,.navigation-rail a:nth-child(9) svg {
  width:43px;
  height:43px;
  stroke-width:1.5
}

.navigation-rail a:nth-child(3) svg,.navigation-rail a:nth-child(4) svg,.navigation-rail a:nth-child(7) svg {
  width:32px;
  height:32px;
  stroke-width:10
}


.nav-label {
  width:0;
  opacity:0;
  margin-left:0;
  overflow:hidden;
  position:relative;
  transition:width .5s ease-in-out,opacity .5s ease-in-out,margin .5s ease-in-out,color .3s ease;
  font-size:18px
}

.navigation-rail a:hover .nav-label,.navigation-rail a:focus-visible .nav-label,.navigation-rail a[aria-current=page] .nav-label {
  color:var(--nav-accent);
  text-shadow:0 0 16px color-mix(in srgb,var(--nav-accent) 60%,transparent)
}


.site-menu.is-expanded .nav-label {
  width:150px;
  opacity:1;
  margin-left:12px
}


.menu-inquiry {
  position:relative;
  grid-column:3;
  grid-row:1;
  align-self:center;
  width:min(430px,86%);
  justify-self:center;
  padding:30px 32px 26px;
  font-family:Montserrat,sans-serif;
  opacity:0;
  transform:translateX(18px);
  transition:opacity .28s ease,transform .28s ease
}

.menu-inquiry.is-visible {
  opacity:1;
  transform:none
}

.menu-inquiry:before,.menu-inquiry:after {
  content:'';
  position:absolute;
  left:32px;
  right:32px;
  height:1px;
  background:linear-gradient(90deg,transparent,#31d0aa 30%,#56c8ff 70%,transparent);
  box-shadow:0 0 14px rgba(49,208,170,.35)
}

.menu-inquiry:before {
  top:0
}

.menu-inquiry:after {
  bottom:0
}


.steps {
  display:flex;
  align-items:center;
  gap:10px;
  color:#8eabc1;
  font-size:14px;
  letter-spacing:.4px
}

.steps span:first-child {
  color:#fff
}

.steps b {
  display:inline-grid;
  place-items:center;
  width:24px;
  height:24px;
  margin-right:5px;
  border-radius:50%;
  color:#071018;
  background:#31d0aa;
  box-shadow:0 0 16px rgba(49,208,170,.58)
}

.steps i {
  height:1px;
  flex:1;
  background:linear-gradient(90deg,#31d0aa,#56c8ff 60%,rgba(86,200,255,.2))
}


.menu-fields {
  margin-top:26px
}

.platform-panel-heading span {
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:0 10px;
  color:#071018;
  background:#31d0aa;
  border-radius:3px;
  font:400 12px/1 Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:.8px;
  box-shadow:0 0 16px rgba(49,208,170,.4)
}

.platform-panel-heading h3 {
  margin:14px 0 7px;
  color:#fff;
  font:300 27px/1.15 Montserrat,sans-serif
}

.platform-panel-heading p {
  margin:0;
  color:#8eabc1;
  font:300 14px/1.5 Montserrat,sans-serif
}

.platform-user-panel {
  display:flex;
  flex-direction:column;
  align-items:flex-start
}

.platform-user-panel>span {
  display:inline-flex;
  min-height:25px;
  align-items:center;
  padding:0 10px;
  color:#071018;
  background:#31d0aa;
  border-radius:3px;
  font:400 12px/1 Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:.8px;
  box-shadow:0 0 16px rgba(49,208,170,.4)
}

.platform-user-panel h3 {
  margin:24px 0 6px;
  color:#8eabc1;
  font:300 22px/1.2 Montserrat,sans-serif
}

.platform-user-panel p {
  margin:0;
  color:#fff;
  font:300 34px/1.2 Montserrat,sans-serif
}

.platform-user-actions {
  width:100%;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:50px
}

.platform-user-actions form {
  margin:0
}

.platform-user-actions .platform-user-action {
  --action-accent:#31d0aa;
  width:100%;
  min-width:0;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding:7px 12px;
  color:#fff;
  background:color-mix(in srgb,var(--action-accent) 9%,#050505);
  border:1px solid color-mix(in srgb,var(--action-accent) 68%,transparent);
  border-radius:5px;
  font:700 12px Montserrat,sans-serif;
  text-align:left;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:inset 0 0 14px color-mix(in srgb,var(--action-accent) 8%,transparent);
  transition:background-color .25s ease,box-shadow .25s ease,transform .25s ease
}

.platform-user-actions .platform-user-action--logout {
  --action-accent:#ff8c52
}

.platform-user-action>span {
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  color:var(--action-accent);
  border:1px solid currentColor;
  border-radius:50%
}

.platform-user-action svg {
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round
}

.platform-user-actions .platform-user-action:hover,.platform-user-actions .platform-user-action:focus-visible {
  color:#fff;
  background:color-mix(in srgb,var(--action-accent) 22%,#050505);
  box-shadow:0 0 20px color-mix(in srgb,var(--action-accent) 36%,transparent);
  transform:translateY(-2px)
}

.portal-body #main-content {
  height:calc(100vh - 160px);
  min-height:0;
  overflow:hidden;
  background:rgba(2,8,12,.94)
}

.portal-page {
  width:min(1280px,calc(100% - 64px));
  height:100%;
  display:grid;
  grid-template-columns:270px minmax(0,1fr);
  margin:0 auto;
  border-left:1px solid rgba(86,200,255,.24);
  border-right:1px solid rgba(49,208,170,.2)
}

.portal-sidebar {
  min-width:0;
  padding:34px 22px;
  background:#050b0f;
  border-right:1px solid rgba(86,200,255,.3);
  overflow-y:auto
}

.portal-sidebar__identity {
  display:grid;
  gap:6px;
  padding:0 10px 28px;
  border-bottom:1px solid rgba(86,200,255,.22)
}

.portal-sidebar__identity span,.portal-content__header p,.portal-feature__eyebrow {
  color:#31d0aa;
  font:700 11px/1.2 Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:1.2px
}

.portal-sidebar__identity strong {
  color:#fff;
  font:500 19px/1.3 Montserrat,sans-serif
}

.portal-sidebar__identity small {
  color:#7692a5;
  overflow-wrap:anywhere;
  font:400 12px/1.4 Montserrat,sans-serif
}

.portal-nav {
  display:grid;
  gap:5px;
  margin-top:22px
}

.portal-nav a {
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 12px;
  color:#b7c9d4;
  border-left:2px solid transparent;
  font:400 14px Montserrat,sans-serif;
  transition:color .2s ease,background-color .2s ease,border-color .2s ease
}

.portal-nav a:hover,.portal-nav a:focus-visible,.portal-nav a[aria-current=page] {
  color:#fff;
  background:rgba(86,200,255,.09);
  border-left-color:#56c8ff
}

.portal-nav a[aria-current=page] i {
  color:#31d0aa
}

.portal-nav i {
  color:#567383;
  font:400 22px/1 sans-serif
}

.portal-nav-dropdown {
  display:none;
  position:relative;
  margin-top:20px;
  z-index:6
}

.portal-nav-dropdown summary {
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 12px 10px 16px;
  color:#fff;
  background:linear-gradient(110deg,rgba(49,208,170,.14),rgba(86,200,255,.06));
  border:1px solid rgba(86,200,255,.48);
  border-radius:5px;
  cursor:pointer;
  list-style:none;
  box-shadow:0 10px 28px rgba(0,0,0,.2)
}

.portal-nav-dropdown summary::-webkit-details-marker {
  display:none
}

.portal-nav-dropdown summary>span {
  display:grid;
  gap:4px
}

.portal-nav-dropdown summary small {
  color:#6f91a5;
  font:700 10px Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:1.2px
}

.portal-nav-dropdown summary strong {
  font:500 16px Montserrat,sans-serif
}

.portal-nav-dropdown summary>i {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  color:#071018;
  background:#31d0aa;
  border-radius:4px;
  transition:transform .25s ease,box-shadow .25s ease
}

.portal-nav-dropdown summary svg {
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round
}

.portal-nav-dropdown[open] summary>i {
  transform:rotate(180deg);
  box-shadow:0 0 18px rgba(49,208,170,.45)
}

.portal-nav-dropdown__menu {
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  right:0;
  display:grid;
  gap:3px;
  padding:8px;
  background:#071018;
  border:1px solid rgba(86,200,255,.48);
  border-radius:5px;
  box-shadow:0 22px 46px rgba(0,0,0,.55)
}

.portal-nav-dropdown__menu a {
  min-height:46px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 18px;
  align-items:center;
  gap:10px;
  padding:0 11px;
  color:#a9bfcc;
  border-left:2px solid transparent;
  font:400 13px Montserrat,sans-serif
}

.portal-nav-dropdown__menu a small {
  color:#4e7287;
  font:700 10px Montserrat,sans-serif
}

.portal-nav-dropdown__menu a i {
  color:#4e7287;
  font:400 20px sans-serif
}

.portal-nav-dropdown__menu a:hover,.portal-nav-dropdown__menu a:focus-visible,.portal-nav-dropdown__menu a[aria-current=page] {
  color:#fff;
  background:rgba(49,208,170,.1);
  border-left-color:#31d0aa
}

.portal-nav-dropdown__menu a[aria-current=page] small,.portal-nav-dropdown__menu a[aria-current=page] i {
  color:#31d0aa
}

.portal-content {
  min-width:0;
  padding:42px 48px 60px;
  overflow-y:auto
}

.portal-content__header {
  margin-bottom:32px
}

.portal-content__header p {
  margin:0 0 10px
}

.portal-content__header h1 {
  margin:0;
  color:#fff;
  font:300 36px/1.15 Montserrat,sans-serif;
  letter-spacing:0
}

.portal-content__header>span {
  display:block;
  margin-top:9px;
  color:#8ea8b8;
  font:300 15px/1.5 Montserrat,sans-serif
}

.portal-empty-state {
  min-height:300px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:40px;
  text-align:center;
  background:#071018;
  border:1px dashed rgba(86,200,255,.42)
}

.portal-empty-state--compact {
  min-height:180px;
  margin-top:24px
}

.portal-record-list {
  display:grid;
  gap:14px
}

.portal-record-list article {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:24px 26px;
  background:#071018;
  border:1px solid rgba(86,200,255,.28)
}

.portal-record-list small {
  color:#56c8ff;
  font:600 11px Montserrat,sans-serif;
  text-transform:uppercase
}

.portal-record-list h2 {
  margin:7px 0 0;
  color:#fff;
  font:400 21px/1.3 Montserrat,sans-serif
}

.portal-record-list p {
  margin:7px 0 0;
  color:#8ea8b8;
  font:300 13px/1.5 Montserrat,sans-serif
}

.portal-record-list>a,.portal-record-list article>a {
  flex:0 0 auto;
  padding:12px 17px;
  color:#071018;
  background:#31d0aa;
  font:700 12px Montserrat,sans-serif
}

.portal-record-list article>strong {
  flex:0 0 auto;
  color:#31d0aa;
  font:600 20px Montserrat,sans-serif
}

.portal-albums-grid {display:grid;gap:24px}
.portal-album-card {min-width:0;display:grid;grid-template-columns:minmax(230px,30%) minmax(0,1fr);overflow:hidden;background:#071018;border:1px solid rgba(86,200,255,.26);box-shadow:0 22px 52px rgba(0,0,0,.22)}
.portal-album-card.is-unlocked {border-top:2px solid #31d0aa}
.portal-album-card__cover {position:relative;min-height:280px;overflow:hidden;background:#0b1820}
.portal-album-card__cover:after {content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(2,8,12,.78));pointer-events:none}
.portal-album-card__cover>img {width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease,filter .3s ease}
.portal-album-card:hover .portal-album-card__cover>img {transform:scale(1.025)}
.portal-album-card.is-locked .portal-album-card__cover>img {filter:grayscale(.72) brightness(.58)}
.portal-album-card__cover>span {height:100%;display:grid;place-items:center;color:#37596d}
.portal-album-card__cover>span svg {width:68px;height:68px;fill:none;stroke:currentColor;stroke-width:1}
.portal-album-card__cover>small {position:absolute;z-index:1;top:18px;left:18px;padding:7px 10px;color:#071018;background:#31d0aa;font:700 9px/1 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:1px}
.portal-album-card.is-locked .portal-album-card__cover>small {color:#fff;background:#b34d71}
.portal-album-card__body {min-width:0;padding:30px 32px}
.portal-album-card__meta {display:flex;align-items:center;gap:9px;color:#56c8ff;font:600 10px/1 Montserrat,sans-serif;text-transform:uppercase}
.portal-album-card__meta i {width:3px;height:3px;background:#466678;border-radius:50%}
.portal-album-card__body>h2 {margin:13px 0 0;color:#fff;font:400 26px/1.25 Montserrat,sans-serif}
.portal-album-card__body>p {margin:10px 0 0;color:#91a9b7;font:300 13px/1.65 Montserrat,sans-serif}
.portal-album-card__unlock,.portal-album-external {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding:14px 16px;color:#fff;background:#0b1820;border:1px solid rgba(86,200,255,.52);font:700 11px Montserrat,sans-serif;text-transform:uppercase;cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease}
.portal-album-card__unlock:hover,.portal-album-external:hover {color:#071018;background:#56c8ff;border-color:#56c8ff}
.portal-album-card__unlock:focus-visible {outline:2px solid #31d0aa;outline-offset:3px}
.portal-album-external {width:max-content;padding:11px 0;color:#8ea8b8;border:0;border-bottom:1px solid #38586a}
.portal-album-external:hover {color:#31d0aa;background:transparent;border-color:#31d0aa}
.portal-album-gallery {margin-top:24px;border-top:1px solid rgba(86,200,255,.22)}
.portal-album-gallery>summary {min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) 30px 18px;align-items:center;gap:10px;color:#dce7ed;list-style:none;cursor:pointer;font:600 12px Montserrat,sans-serif}
.portal-album-gallery>summary::-webkit-details-marker {display:none}
.portal-album-gallery>summary small {width:28px;height:28px;display:grid;place-items:center;color:#071018;background:#31d0aa;border-radius:50%;font:700 10px Montserrat,sans-serif}
.portal-album-gallery>summary i {color:#56c8ff;font:400 18px/1 sans-serif;transition:transform .2s ease}
.portal-album-gallery[open]>summary i {transform:rotate(180deg)}
.portal-album-toolbar {display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid rgba(86,200,255,.12)}
.portal-album-toolbar>label {min-height:40px;display:flex;align-items:center;gap:10px;color:#dce7ed;font:600 11px Montserrat,sans-serif;cursor:pointer}
.portal-album-toolbar>label input {width:16px;height:16px;margin:0}
.portal-album-toolbar input,.portal-album-photos input {accent-color:#31d0aa}
.portal-album-toolbar__actions {display:flex;align-items:flex-end;gap:8px}
.portal-album-toolbar__actions>label {display:grid;gap:6px}
.portal-album-toolbar__actions>label>span {color:#718d9d;font:600 9px/1 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.8px}
.portal-album-toolbar select {min-height:40px;padding:0 34px 0 12px;color:#dce7ed;background:#0b1820;border:1px solid #294757;font:500 11px Montserrat,sans-serif}
.portal-album-toolbar button {min-height:40px;padding:0 16px;color:#071018;background:#31d0aa;border:1px solid #31d0aa;font:700 10px Montserrat,sans-serif;cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease}
.portal-album-toolbar button:hover {background:#56c8ff;border-color:#56c8ff}
.portal-album-toolbar button.is-secondary {color:#d9e4ea;background:transparent;border-color:#466678}
.portal-album-toolbar button.is-secondary:hover {color:#071018;background:#dce7ed;border-color:#dce7ed}
.portal-album-toolbar button:disabled {opacity:.4;cursor:not-allowed}
.portal-album-photos {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.portal-album-photos figure {position:relative;aspect-ratio:4/3;margin:0;overflow:hidden;background:#0b1820}
.portal-album-photo {position:absolute;inset:0;display:block;cursor:zoom-in}
.portal-album-select {position:absolute;z-index:3;top:8px;left:8px;width:24px;height:24px;cursor:pointer}
.portal-album-photos img {width:100%;height:100%;display:block;object-fit:cover;transition:filter .2s ease,transform .2s ease}
.portal-album-photos input {position:absolute;z-index:2;top:9px;left:9px;width:18px;height:18px;opacity:0}
.portal-album-select input {inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.portal-album-select>span:not(.visually-hidden) {position:absolute;inset:0;display:grid;place-items:center;color:transparent;background:rgba(4,12,17,.72);border:1px solid rgba(255,255,255,.62);border-radius:50%;font:700 11px Montserrat,sans-serif}
.portal-album-select input:checked+span {color:#071018;background:#31d0aa;border-color:#31d0aa}
.portal-album-photo:hover img {transform:scale(1.035);filter:brightness(.78)}
.portal-album-download {position:absolute;z-index:3;right:8px;bottom:8px;width:32px;height:32px;display:grid;place-items:center;color:#fff;background:rgba(4,12,17,.8);border:1px solid rgba(86,200,255,.55)}
.portal-album-download:hover {color:#071018;background:#56c8ff}
.portal-album-photos svg {width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.portal-album-share {margin-top:22px;border-top:1px solid rgba(86,200,255,.22)}
.portal-album-share>summary {min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#dce7ed;list-style:none;cursor:pointer;font:500 14px Montserrat,sans-serif}
.portal-album-share>summary::-webkit-details-marker {display:none}
.portal-album-share>summary i {color:#56c8ff;font:400 18px/1 sans-serif;transition:transform .2s ease}
.portal-album-share[open]>summary i {transform:rotate(180deg)}
.portal-album-share>label {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:16px;background:#0b1820;border:1px solid #294757}
.portal-album-share>label>span {grid-column:1/-1;color:#718d9d;font:600 9px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.8px}
.portal-album-share>label input {min-width:0;height:40px;padding:0 12px;color:#dce7ed;background:#071018;border:1px solid #294757;font:500 11px Montserrat,sans-serif}
.portal-album-share button {min-height:40px;padding:0 16px;color:#071018;background:#31d0aa;border:1px solid #31d0aa;font:700 10px Montserrat,sans-serif;cursor:pointer}
.portal-album-share button:disabled {opacity:.4;cursor:not-allowed}
.portal-album-share>form {padding:18px;background:#09141c;border:1px solid rgba(86,200,255,.2)}
.portal-album-share>form>p {margin:0 0 14px;color:#a9bdc8;font:400 12px/1.5 Montserrat,sans-serif}
.portal-album-share>form>button {margin-top:16px}
.portal-share-photo {position:relative;aspect-ratio:4/3;overflow:hidden;cursor:pointer;background:#0b1820}
.portal-share-photo>span {position:absolute;z-index:3;top:8px;left:8px;width:24px;height:24px;display:grid;place-items:center;color:transparent;background:rgba(4,12,17,.72);border:1px solid rgba(255,255,255,.62);border-radius:50%;font:700 11px Montserrat,sans-serif}
.portal-share-photo input:checked+span {color:#071018;background:#31d0aa;border-color:#31d0aa}
.portal-share-photo:has(input:checked) img {filter:brightness(.72)}

.portal-empty-state__mark {
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  margin-bottom:20px;
  color:#071018;
  background:#31d0aa;
  border-radius:50%;
  font:700 13px Montserrat,sans-serif
}

.portal-empty-state h2,.portal-feature h2,.portal-calendar-card h2,.portal-album-access h2 {
  margin:0;
  color:#fff;
  font:400 24px/1.25 Montserrat,sans-serif
}

.portal-empty-state p,.portal-feature p,.portal-calendar-card p,.portal-album-access p,.portal-note {
  max-width:620px;
  margin:10px 0 0;
  color:#8ea8b8;
  font:300 14px/1.65 Montserrat,sans-serif
}

.portal-feature,.portal-album-access {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:30px;
  padding:30px;
  background:#071018;
  border-left:3px solid #31d0aa
}

.portal-feature__eyebrow {
  display:block;
  margin-bottom:10px
}

.portal-primary-action,.portal-profile-form button,.portal-album-access button {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 22px;
  color:#071018;
  background:#31d0aa;
  border:1px solid #31d0aa;
  border-radius:4px;
  font:700 13px Montserrat,sans-serif;
  cursor:pointer;
  white-space:nowrap
}

.portal-calendar-card {
  display:grid;
  grid-template-columns:110px 1fr;
  align-items:center;
  gap:28px;
  padding:34px;
  background:#071018;
  border:1px solid rgba(86,200,255,.3)
}

.portal-calendar-card__date {
  aspect-ratio:1;
  display:grid;
  place-content:center;
  text-align:center;
  color:#071018;
  background:#56c8ff
}

.portal-calendar-card__date strong {
  font:300 38px/1 Montserrat,sans-serif
}

.portal-calendar-card__date--empty strong {
  font-size:52px;
  line-height:1
}

.portal-calendar-card__date span {
  margin-top:4px;
  font:700 11px Montserrat,sans-serif
}

.portal-stat-row {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px
}

.portal-stat-row article {
  min-height:130px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:22px;
  background:#071018;
  border-top:2px solid #56c8ff
}

.portal-stat-row span {
  color:#8ea8b8;
  font:400 13px Montserrat,sans-serif
}

.portal-stat-row strong {
  color:#fff;
  font:300 28px Montserrat,sans-serif
}

.loyalty-hero {
  min-height:360px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  align-items:end;
  gap:36px;
  padding:42px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(90deg,rgba(3,9,13,.97) 0,rgba(3,9,13,.83) 48%,rgba(3,9,13,.42) 100%),url('../images/home-desktop-14.jpg') center 57%/cover no-repeat;
  border:1px solid rgba(86,200,255,.35);
  border-radius:6px
}

.loyalty-hero:after {
  content:'';
  position:absolute;
  left:42px;
  right:42px;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,#31d0aa,#56c8ff 60%,transparent);
  box-shadow:0 0 18px rgba(49,208,170,.55)
}

.loyalty-hero__content,.loyalty-score {
  position:relative;
  z-index:1
}

.loyalty-kicker {
  display:inline-flex;
  padding:7px 10px;
  color:#071018;
  background:#31d0aa;
  border-radius:3px;
  font:700 10px/1 Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:1.1px;
  box-shadow:0 0 16px rgba(49,208,170,.38)
}

.loyalty-hero h2 {
  max-width:610px;
  margin:20px 0 12px;
  color:#fff;
  font:300 34px/1.2 Montserrat,sans-serif;
  letter-spacing:0
}

.loyalty-hero__content>p {
  max-width:590px;
  margin:0;
  color:#b7c9d4;
  font:300 14px/1.65 Montserrat,sans-serif
}

.loyalty-member {
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:26px
}

.loyalty-member span {
  padding:5px 8px;
  color:#56c8ff;
  border:1px solid rgba(86,200,255,.5);
  border-radius:3px;
  font:700 9px Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:1px
}

.loyalty-member strong {
  color:#fff;
  font:500 15px Montserrat,sans-serif
}

.loyalty-score {
  display:grid;
  justify-items:center;
  align-self:center;
  color:#fff
}

.loyalty-score__ring {
  width:148px;
  height:148px;
  display:grid;
  place-items:center;
  position:relative;
  border-radius:50%;
  background:conic-gradient(#31d0aa var(--loyalty-progress),rgba(255,255,255,.16) 0);
  box-shadow:0 0 34px rgba(49,208,170,.24)
}

.loyalty-score__ring:before {
  content:'';
  position:absolute;
  inset:8px;
  border-radius:50%;
  background:rgba(3,10,14,.91);
  border:1px solid rgba(86,200,255,.2)
}

.loyalty-score__ring strong {
  position:relative;
  font:300 48px/1 Montserrat,sans-serif
}

.loyalty-score__ring small {
  font-size:23px
}

.loyalty-score>span {
  margin-top:15px;
  font:600 12px Montserrat,sans-serif
}

.loyalty-score>small {
  margin-top:5px;
  color:#88a3b3;
  font:400 11px Montserrat,sans-serif
}

.loyalty-progress-panel,.loyalty-panel {
  margin-top:18px;
  padding:24px 26px;
  background:#071018;
  border:1px solid rgba(86,200,255,.25)
}

.loyalty-progress-panel__heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px
}

.loyalty-progress-panel__heading>div {
  display:grid;
  gap:5px
}

.loyalty-progress-panel__heading span,.loyalty-panel__header>span {
  color:#7897a9;
  font:700 10px Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:1px
}

.loyalty-progress-panel__heading strong {
  color:#fff;
  font:400 20px Montserrat,sans-serif
}

.loyalty-progress-panel__heading p {
  margin:0;
  color:#8ea8b8;
  font:400 12px Montserrat,sans-serif
}

.loyalty-progress {
  height:8px;
  margin-top:24px;
  position:relative;
  background:#10232e;
  border-radius:8px
}

.loyalty-progress i {
  height:100%;
  display:block;
  background:linear-gradient(90deg,#31d0aa,#56c8ff);
  border-radius:inherit;
  box-shadow:0 0 14px rgba(49,208,170,.45)
}

.loyalty-progress>span {
  position:absolute;
  top:50%;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  color:#071018;
  background:#56c8ff;
  border:4px solid #071018;
  border-radius:50%;
  transform:translate(-50%,-50%);
  font:700 9px Montserrat,sans-serif
}

.loyalty-milestones {
  display:flex;
  justify-content:space-between;
  margin-top:16px;
  color:#526f80;
  font:700 9px Montserrat,sans-serif
}

.loyalty-details-grid {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:18px
}

.loyalty-panel__header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:20px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(86,200,255,.18)
}

.loyalty-panel__header strong {
  color:#fff;
  font:500 13px Montserrat,sans-serif
}

.loyalty-history__labels,.loyalty-history article {
  display:grid;
  grid-template-columns:1fr 1.25fr .65fr;
  align-items:center;
  gap:12px
}

.loyalty-history__labels {
  padding:0 12px 8px;
  color:#5f7d8e;
  font:700 9px Montserrat,sans-serif;
  text-transform:uppercase
}

.loyalty-history article {
  min-height:52px;
  padding:0 12px;
  background:rgba(86,200,255,.08);
  border-left:2px solid #56c8ff;
  color:#b9cbd5;
  font:400 11px Montserrat,sans-serif
}

.loyalty-history article strong {
  color:#fff;
  font-weight:500
}

.loyalty-history article>span {
  justify-self:end;
  color:#31d0aa;
  font-weight:700
}

.loyalty-terms ul {
  display:grid;
  gap:13px;
  margin:0;
  padding:0;
  list-style:none
}

.loyalty-terms li {
  display:grid;
  grid-template-columns:30px 1fr;
  align-items:start;
  gap:12px
}

.loyalty-terms li i {
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  color:#31d0aa;
  border:1px solid rgba(49,208,170,.42);
  border-radius:50%;
  font:700 9px Montserrat,sans-serif
}

.loyalty-terms li span {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:4px;
  color:#a9bfcc;
  font:300 12px/1.55 Montserrat,sans-serif
}

.loyalty-terms li b {
  flex:0 0 auto;
  min-width:48px;
  padding:4px 8px;
  color:#071018;
  background:#31d0aa;
  border-radius:3px;
  text-align:center;
  font:700 11px/1 Montserrat,sans-serif;
  box-shadow:0 0 14px rgba(49,208,170,.2)
}

.loyalty-terms__note span {
  color:#d5e4eb!important;
  padding:9px 11px!important;
  border-left:2px solid #56c8ff;
  background:rgba(86,200,255,.08)
}

.portal-album-access {
  grid-template-columns:minmax(0,1fr) minmax(300px,400px)
}

.portal-album-access form,.portal-profile-form,.portal-form-grid label {
  display:grid;
  gap:14px
}

.portal-album-access label,.portal-form-grid label {
  gap:7px
}

.portal-album-access label span,.portal-form-grid label span {
  color:#b7c9d4;
  font:600 12px Montserrat,sans-serif
}

.portal-album-access input,.portal-form-grid input {
  width:100%;
  min-height:46px;
  padding:0 13px;
  color:#fff;
  background:#0d1c26;
  border:1px solid #315064;
  border-radius:4px;
  outline:0;
  font:400 15px Montserrat,sans-serif
}

.portal-album-access input:focus,.portal-form-grid input:focus {
  border-color:#56c8ff;
  box-shadow:0 0 0 3px rgba(86,200,255,.14)
}

.portal-form-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px
}

.portal-profile-form {
  padding:30px;
  background:#071018;
  border:1px solid rgba(86,200,255,.3)
}

.portal-form-grid input:disabled {
  color:#78909e;
  background:#091117;
  cursor:not-allowed
}

.portal-profile-form__footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-top:22px;
  border-top:1px solid rgba(86,200,255,.2)
}

.portal-profile-form__footer small {
  color:#78909e;
  font:400 12px Montserrat,sans-serif
}

.portal-profile-settings {
  display:grid;
  gap:22px
}

.portal-profile-panel {
  --profile-panel-accent:#56c8ff;
  background:#071018;
  border:1px solid rgba(86,200,255,.28);
  border-top:2px solid var(--profile-panel-accent)
}

.portal-profile-panel--company {
  --profile-panel-accent:#31d0aa
}

.portal-profile-panel--security {
  --profile-panel-accent:#ef4c75
}

.portal-profile-panel__header {
  min-height:104px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:24px 30px;
  background:linear-gradient(105deg,color-mix(in srgb,var(--profile-panel-accent) 9%,transparent),transparent 58%);
  border-bottom:1px solid rgba(86,200,255,.16)
}

.portal-profile-panel__header>div {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:5px 12px
}

.portal-profile-panel__header span {
  grid-row:1/3;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  color:#071018;
  background:var(--profile-panel-accent);
  border-radius:50%;
  font:700 9px Montserrat,sans-serif
}

.portal-profile-panel__header h2 {
  margin:0;
  color:#fff;
  font:500 18px/1.2 Montserrat,sans-serif
}

.portal-profile-panel__header p {
  margin:0;
  color:#7893a2;
  font:300 12px/1.5 Montserrat,sans-serif
}

.portal-profile-panel__header>i {
  padding:6px 9px;
  color:var(--profile-panel-accent);
  border:1px solid color-mix(in srgb,var(--profile-panel-accent) 42%,transparent);
  border-radius:2px;
  font:700 9px Montserrat,sans-serif;
  font-style:normal;
  text-transform:uppercase;
  letter-spacing:1px
}

.portal-profile-panel .portal-profile-form {
  border:0;
  background:transparent
}

.portal-form-grid__wide {
  grid-column:1/-1
}

.portal-form-grid--password {
  grid-template-columns:repeat(3,minmax(0,1fr))
}

.portal-form-grid label>small {
  color:#688392;
  font:400 10px Montserrat,sans-serif
}

.portal-password-form input {
  letter-spacing:2px
}

.portal-profile-panel .portal-profile-form button {
  background:var(--profile-panel-accent);
  border-color:var(--profile-panel-accent)
}

.portal-inquiry-shell {
  background:#071018;
  border:1px solid rgba(86,200,255,.28);
  border-top:3px solid #31d0aa
}

.portal-inquiry-intro {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:30px 32px;
  background:linear-gradient(105deg,rgba(49,208,170,.1),transparent 58%);
  border-bottom:1px solid rgba(86,200,255,.18)
}

.portal-inquiry-intro h2,.portal-inquiry-history h2 {
  margin:0;
  color:#fff;
  font:400 24px/1.25 Montserrat,sans-serif
}

.portal-inquiry-intro p {
  max-width:650px;
  margin:10px 0 0;
  color:#8ea8b8;
  font:300 13px/1.65 Montserrat,sans-serif
}

.portal-inquiry-intro__mark {
  min-width:150px;
  display:grid;
  grid-template-columns:auto 32px auto;
  align-items:center;
  gap:9px;
  color:#668697;
  font:700 9px Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:1px
}

.portal-inquiry-intro__mark span {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  color:#071018;
  background:#31d0aa;
  border-radius:50%
}

.portal-inquiry-intro__mark i {
  height:1px;
  background:#315064
}

.portal-form-errors {
  display:grid;
  gap:5px;
  margin:24px 32px 0;
  padding:14px 16px;
  color:#ffc1cf;
  background:rgba(239,76,117,.1);
  border-left:3px solid #ef4c75;
  font:400 12px/1.5 Montserrat,sans-serif
}

.portal-inquiry-form {
  display:grid;
  gap:28px;
  padding:30px 32px 34px
}

.portal-inquiry-form fieldset {
  min-width:0;
  margin:0;
  padding:0;
  border:0
}

.portal-inquiry-form legend {
  width:100%;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  margin-bottom:16px;
  padding:0 0 11px;
  border-bottom:1px solid rgba(86,200,255,.15)
}

.portal-inquiry-form legend span {
  color:#fff;
  font:600 13px Montserrat,sans-serif
}

.portal-inquiry-form legend small {
  color:#648093;
  font:400 10px Montserrat,sans-serif
}

.portal-inquiry-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px
}

.portal-inquiry-grid--contact {
  grid-template-columns:repeat(3,minmax(0,1fr))
}

.portal-inquiry-grid label,.portal-inquiry-message {
  min-width:0;
  display:grid;
  gap:7px
}

.portal-inquiry-grid label>span,.portal-inquiry-message>span {
  color:#a9bfcc;
  font:600 11px Montserrat,sans-serif
}

.portal-inquiry-form input,.portal-inquiry-form select,.portal-inquiry-form textarea {
  width:100%;
  min-height:48px;
  padding:0 13px;
  color:#fff;
  background:#0d1c26;
  border:1px solid #315064;
  border-radius:3px;
  outline:0;
  font:400 14px Montserrat,sans-serif;
  transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease
}

.portal-inquiry-form select {
  appearance:auto
}

.portal-inquiry-form input[type=date],.portal-inquiry-form input[type=time] {
  color-scheme:dark
}

.portal-inquiry-form input[type=date]::-webkit-calendar-picker-indicator,.portal-inquiry-form input[type=time]::-webkit-calendar-picker-indicator {
  filter:brightness(0) invert(1)
}

.portal-inquiry-form textarea {
  min-height:130px;
  padding:13px;
  resize:vertical;
  line-height:1.55
}

.portal-inquiry-form input:focus,.portal-inquiry-form select:focus,.portal-inquiry-form textarea:focus {
  border-color:#56c8ff;
  box-shadow:0 0 0 3px rgba(86,200,255,.12)
}

.portal-inquiry-form input[readonly] {
  color:#78909e;
  background:#091117;
  border-color:#203947;
  cursor:default
}

.portal-inquiry-form select:disabled {
  color:#607887;
  background:#091117;
  cursor:not-allowed
}

.portal-inquiry-form__footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding-top:22px;
  border-top:1px solid rgba(86,200,255,.18)
}

.portal-inquiry-consent {
  max-width:620px;
  display:grid;
  grid-template-columns:18px 1fr;
  align-items:start;
  gap:10px;
  color:#819ba9;
  font:400 11px/1.5 Montserrat,sans-serif;
  cursor:pointer
}

.portal-inquiry-consent input {
  width:17px;
  min-height:17px;
  margin:0;
  accent-color:#31d0aa
}

.portal-inquiry-form__footer button {
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:0 20px;
  color:#071018;
  background:#31d0aa;
  border:1px solid #31d0aa;
  border-radius:3px;
  font:700 12px Montserrat,sans-serif;
  cursor:pointer;
  white-space:nowrap
}

.portal-inquiry-form__footer button span {
  font:400 22px/1 sans-serif
}

.portal-inquiry-history {
  margin-top:24px
}

.portal-inquiry-history>header {
  display:flex;
  align-items:end;
  justify-content:space-between;
  margin-bottom:14px
}

.portal-inquiry-history>header>div>span {
  display:block;
  margin-bottom:5px;
  color:#31d0aa;
  font:700 9px Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:1px
}

.portal-inquiry-history>header>strong {
  min-width:34px;
  height:34px;
  display:grid;
  place-items:center;
  color:#56c8ff;
  border:1px solid rgba(86,200,255,.4);
  font:600 11px Montserrat,sans-serif
}

.portal-inquiry-list {
  display:grid;
  gap:8px
}

.portal-inquiry-list article {
  min-height:82px;
  display:grid;
  grid-template-columns:62px minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:12px 18px 12px 12px;
  background:#071018;
  border-left:2px solid #56c8ff
}

.portal-inquiry-list time {
  height:58px;
  display:grid;
  place-content:center;
  text-align:center;
  color:#071018;
  background:#56c8ff
}

.portal-inquiry-list time strong {
  font:400 22px/1 Montserrat,sans-serif
}

.portal-inquiry-list time span {
  margin-top:3px;
  font:700 8px Montserrat,sans-serif
}

.portal-inquiry-list article>div>span {
  color:#31d0aa;
  font:700 9px Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:.8px
}

.portal-inquiry-list h3 {
  margin:5px 0;
  color:#fff;
  font:500 14px Montserrat,sans-serif
}

.portal-inquiry-list small {
  color:#7893a2;
  font:400 11px Montserrat,sans-serif
}

.portal-inquiry-status {
  padding:6px 9px;
  color:#31d0aa;
  background:rgba(49,208,170,.08);
  border:1px solid rgba(49,208,170,.35);
  border-radius:2px;
  font:700 9px Montserrat,sans-serif;
  font-style:normal;
  text-transform:uppercase;
  letter-spacing:.7px
}

.portal-inquiry-status--awaiting_confirmation {
  color:#ffb45e;
  background:rgba(255,180,94,.08);
  border-color:rgba(255,180,94,.45)
}

.portal-event-card {
  align-items:stretch!important;
  padding:0!important;
  border-left-width:3px!important
}

.portal-event-card>time {
  width:62px;
  height:auto;
  min-height:100%;
  margin:0
}

.portal-event-card__body {
  min-width:0;
  padding:18px 20px 0
}

.portal-event-card__heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px
}

.portal-event-card__heading>div>span {
  color:#31d0aa;
  font:700 9px Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:.8px
}

.portal-event-card__heading h3 {
  margin:5px 0 0;
  font-size:18px
}

.portal-event-card__facts {
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  margin-top:14px;
  color:#a9bdc8;
  font:500 11px/1.5 Montserrat,sans-serif
}

.portal-event-card__facts span {
  display:inline-flex;
  align-items:flex-start;
  gap:7px
}

.portal-event-card__facts i,.portal-event-card__notes>i {
  margin-top:2px;
  color:#56c8ff;
  font-size:15px
}

.portal-event-team {
  display:grid;
  grid-template-columns:minmax(150px,auto) 1fr;
  align-items:start;
  gap:12px 18px;
  margin-top:16px;
  padding:13px 15px;
  background:#0b1820;
  border-left:2px solid #31d0aa
}

.portal-event-team>strong {
  color:#fff;
  font:600 11px/1.7 Montserrat,sans-serif
}

.portal-event-team__people {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:8px
}

.portal-event-team__person {
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:6px 7px 6px 11px;
  color:#cfe0e8;
  background:#071018;
  border:1px solid rgba(120,147,162,.28)
}

.portal-event-team__person>span {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px
}

.portal-event-team__person b {
  color:#fff;
  font:600 10px Montserrat,sans-serif
}

.portal-event-team__person small {
  color:#7893a2;
  font:500 9px Montserrat,sans-serif
}

.portal-event-team__person a {
  min-height:30px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  padding:0 10px;
  color:#071018;
  background:#31d0aa;
  font:700 8px Montserrat,sans-serif;
  text-transform:uppercase;
  text-decoration:none
}

.portal-event-card__notes {
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:14px 0 0;
  color:#a9bdc8;
  font:400 11px/1.6 Montserrat,sans-serif
}

.portal-event-card__footer {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin:18px -20px 0;
  background:rgba(120,147,162,.18)
}

.portal-event-card__footer span {
  padding:11px 14px;
  color:#7893a2;
  background:#0b1820;
  font:600 9px Montserrat,sans-serif;
  text-transform:uppercase
}

.portal-event-card__footer strong {
  display:block;
  margin-top:4px;
  color:#fff;
  font-size:11px
}

.portal-inquiry-status--processing {
  color:#56c8ff;
  background:rgba(86,200,255,.08);
  border-color:rgba(86,200,255,.45)
}

.portal-inquiry-status--unprocessed {
  color:#ffb45e;
  background:rgba(255,180,94,.08);
  border-color:rgba(255,180,94,.45)
}

.portal-inquiry-offer {
  margin-top:14px;
  padding:14px;
  background:#0b1820;
  border-left:2px solid #ffb45e
}

.portal-inquiry-offer strong {
  display:block;
  color:#fff;
  font:600 18px Montserrat,sans-serif
}

.portal-inquiry-offer p {
  margin:8px 0 0;
  color:#a9bdc8;
  font:400 12px/1.55 Montserrat,sans-serif
}

.portal-inquiry-offer button {
  min-height:38px;
  margin-top:12px;
  padding:0 15px;
  color:#071018;
  background:#31d0aa;
  border:1px solid #31d0aa;
  font:700 10px Montserrat,sans-serif;
  text-transform:uppercase;
  cursor:pointer
}

@media (max-width:900px) {
  .portal-body #main-content {
    height:calc(100vh - 126px);
    overflow-y:auto
  }

  .portal-page {
    width:100%;
    height:auto;
    min-height:100%;
    grid-template-columns:1fr
  }

  .portal-sidebar {
    position:relative;
    z-index:20;
    padding:22px 16px;
    border-right:0;
    border-bottom:1px solid rgba(86,200,255,.3);
    overflow:visible
  }

  .portal-sidebar__identity {
    padding-bottom:18px
  }

  .portal-nav--desktop {
    display:none
  }

  .portal-nav-dropdown--mobile {
    display:block;
    z-index:30
  }

  body.menu-open .portal-nav-dropdown--mobile {
    visibility:hidden;
    pointer-events:none
  }

  .portal-content {
    position:relative;
    z-index:1;
    padding:30px 18px 90px;
    overflow:visible
  }

  .portal-album-card {grid-template-columns:minmax(190px,34%) minmax(0,1fr)}
  .portal-album-card__body {padding:25px 24px}
  .portal-album-photos {grid-template-columns:repeat(3,minmax(0,1fr))}

  .portal-feature,.portal-album-access {
    grid-template-columns:1fr
  }

  .loyalty-hero {
    grid-template-columns:1fr;
    align-items:start;
    padding:30px;
    background-position:center
  }

  .loyalty-score {
    justify-self:start
  }

  .loyalty-details-grid {
    grid-template-columns:1fr
  }

  .portal-inquiry-grid--contact {
    grid-template-columns:1fr
  }

  .portal-form-grid--password {
    grid-template-columns:1fr
  }
}

@media (max-width:720px) {
  .portal-album-card {grid-template-columns:1fr}
  .portal-album-card__cover {min-height:220px;aspect-ratio:16/10}
  .portal-album-card__body {padding:24px 18px}
  .portal-album-toolbar {align-items:stretch;flex-direction:column}
  .portal-album-toolbar__actions {display:grid;grid-template-columns:1fr 1fr}
  .portal-album-toolbar__actions>label {grid-column:1/-1}
  .portal-album-toolbar select,.portal-album-toolbar button {width:100%}
  .portal-album-photos {grid-template-columns:repeat(2,minmax(0,1fr))}
  .portal-album-share>form {padding:14px}
}

@media (max-width:600px) {
  .portal-content__header h1 {
    font-size:30px
  }

  .portal-form-grid,.portal-stat-row {
    grid-template-columns:1fr
  }

  .portal-calendar-card {
    grid-template-columns:80px 1fr;
    padding:22px;
    gap:18px
  }

  .portal-empty-state {
    min-height:240px;
    padding:26px 18px
  }

  .portal-record-list article {
    align-items:flex-start;
    flex-direction:column;
    padding:20px 18px
  }

  .portal-profile-form__footer {
    align-items:stretch;
    flex-direction:column
  }

  .portal-profile-panel__header {
    align-items:flex-start;
    padding:21px 18px
  }

  .portal-profile-panel__header>i {
    display:none
  }

  .portal-profile-panel .portal-profile-form {
    padding:24px 18px
  }

  .portal-form-grid__wide {
    grid-column:auto
  }

  .portal-inquiry-intro {
    align-items:start;
    padding:24px 20px
  }

  .portal-inquiry-intro__mark {
    display:none
  }

  .portal-inquiry-form {
    padding:24px 20px 28px
  }

  .portal-inquiry-form legend {
    align-items:start;
    flex-direction:column;
    gap:5px
  }

  .portal-inquiry-grid {
    grid-template-columns:1fr
  }

  .portal-inquiry-form__footer {
    align-items:stretch;
    flex-direction:column
  }

  .portal-inquiry-list article {
    grid-template-columns:54px minmax(0,1fr);
    gap:13px;
    padding-right:12px
  }

  .portal-inquiry-status {
    grid-column:2;
    justify-self:start
  }

  .portal-event-card {
    grid-template-columns:54px minmax(0,1fr)!important
  }

  .portal-event-card>time {
    width:54px
  }

  .portal-event-card__body {
    padding:16px 12px 0
  }

  .portal-event-card__heading {
    align-items:flex-start;
    flex-direction:column;
    gap:10px
  }

  .portal-event-card__heading .portal-inquiry-status {
    grid-column:auto
  }

  .portal-event-team {
    grid-template-columns:1fr
  }

  .portal-event-team__people {
    grid-template-columns:1fr
  }

  .portal-event-card__footer {
    grid-template-columns:1fr;
    margin-right:-12px;
    margin-left:-12px
  }

  .loyalty-hero {
    padding:24px 20px
  }

  .loyalty-hero h2 {
    font-size:27px
  }

  .loyalty-progress-panel__heading {
    align-items:start;
    flex-direction:column
  }

  .loyalty-progress-panel,.loyalty-panel {
    padding:20px 16px
  }
}

.platform-login-fields,.platform-registration-fields,.platform-album-fields {
  margin-top:34px
}

.platform-auth-form {
  display:block
}

.platform-forgot-link {
  display:block;
  width:max-content;
  margin:14px 0 0 auto;
  color:#7edcff;
  font:400 13px/1.3 Montserrat,sans-serif;
  text-decoration:none
}

.platform-forgot-link:hover,.platform-forgot-link:focus-visible {
  color:#31d0aa;
  text-decoration:underline
}

.menu-fields label {
  position:relative;
  height:48px;
  display:grid;
  grid-template-columns:42px 1fr;
  align-items:center;
  border-bottom:1px solid rgba(86,200,255,.5);
  transition:border-color .25s ease,background-color .25s ease,box-shadow .25s ease
}

.menu-fields label:hover,.menu-fields label:focus-within {
  border-color:#31d0aa;
  background:linear-gradient(90deg,rgba(49,208,170,.09),transparent 72%);
  box-shadow:0 5px 14px -12px #31d0aa
}

.menu-fields label>svg {
  width:30px;
  height:30px;
  fill:none;
  stroke:#56c8ff;
  transition:stroke .25s ease,transform .25s ease,filter .25s ease
}

.menu-fields label:hover>svg,.menu-fields label:focus-within>svg {
  stroke:#31d0aa;
  transform:translateX(3px);
  filter:drop-shadow(0 0 5px rgba(49,208,170,.65))
}

.menu-fields input {
  background:none;
  border:0;
  color:#fff;
  text-align:center;
  font:400 17px Montserrat,sans-serif;
  outline:0;
  transition:color .25s ease
}

.menu-fields .password-field {
  height:100%
}

.menu-fields .password-field input {
  width:100%;
  height:100%;
  padding-right:44px;
  padding-left:44px
}

.menu-fields .password-toggle {
  right:0
}

.menu-fields input::placeholder {
  color:#fff;
  opacity:1
}

.next-step {
  display:block;
  min-width:116px;
  height:40px;
  margin:20px 0 0 auto;
  padding:0 18px;
  color:#fff;
  background:rgba(255,95,127,.12);
  border:1px solid #ff5f7f;
  border-radius:5px;
  font-weight:700;
  letter-spacing:1px;
  cursor:pointer;
  box-shadow:inset 0 0 12px rgba(255,95,127,.08);
  transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease
}

.next-step:hover,.next-step:focus-visible {
  color:#fff;
  background:#ff5f7f;
  box-shadow:0 0 22px rgba(255,95,127,.55);
  transform:translateY(-2px)
}


.platform-links {
  --divider-start:#9e8cff;
  --divider-end:#31d0aa;
  position:relative;
  grid-column:2;
  grid-row:1;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
  padding:28px 20px
}

.platform-links h2 {
  margin:0 0 24px;
  color:#fff;
  font-weight:300;
  font-size:25px;
  letter-spacing:.4px
}

.platform-links h2:after {
  content:'';
  display:block;
  width:46px;
  height:2px;
  margin:8px auto 0;
  background:#9e8cff;
  box-shadow:0 0 12px rgba(158,140,255,.7)
}

.platform-links a {
  --platform-accent:#9e8cff;
  position:relative;
  display:flex;
  width:min(290px,86%);
  height:66px;
  margin:14px auto;
  align-items:center;
  gap:16px;
  padding:0 44px 0 10px;
  overflow:hidden;
  background:color-mix(in srgb,var(--platform-accent) 8%,#050505);
  border:1px solid color-mix(in srgb,var(--platform-accent) 55%,transparent);
  border-radius:8px;
  color:#fff;
  text-align:left;
  text-decoration:none;
  font-size:18px;
  transition:color .3s ease,background-color .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s ease
}

.platform-links a:nth-of-type(1) {--platform-accent:#56c8ff}
.platform-links a:nth-of-type(2) {--platform-accent:#31d0aa}
.platform-links a:nth-of-type(3) {--platform-accent:#ff79a7}
.platform-links a:nth-of-type(4) {--platform-accent:#ff8c52}
.platform-links a:nth-of-type(5) {--platform-accent:#ffb84d}
.platform-links a:nth-of-type(6) {--platform-accent:#9e8cff}
.platform-links a:nth-of-type(7) {--platform-accent:#50c7c7}

.platform-links--portal {
  padding-top:16px;
  padding-bottom:16px
}

.platform-links--portal h2 {
  margin-bottom:8px;
  font-size:21px
}

.platform-links--portal a {
  height:48px;
  margin:4px auto;
  gap:12px;
  padding-left:8px;
  font-size:14px
}

.platform-links--portal .platform-link-icon {
  width:36px;
  height:36px;
  flex-basis:36px
}

.platform-links--portal .platform-link-icon svg {
  width:21px;
  height:21px
}

.platform-link-icon {
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:grid;
  place-items:center;
  color:var(--platform-accent);
  background:color-mix(in srgb,var(--platform-accent) 12%,#050505);
  border:1px solid color-mix(in srgb,var(--platform-accent) 68%,transparent);
  border-radius:50%;
  transition:color .3s ease,background-color .3s ease,box-shadow .3s ease,transform .3s ease
}

.platform-link-icon svg {
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round
}

.platform-link-label {
  font-size:19px;
  line-height:1.1
}

.platform-links a:after {
  content:'›';
  position:absolute;
  right:14px;
  color:var(--platform-accent);
  font-size:28px;
  line-height:1;
  transition:color .3s ease,transform .3s ease
}

.platform-links a:hover,.platform-links a:focus-visible,.platform-links a.is-active {
  color:#fff;
  border-color:var(--platform-accent);
  background:color-mix(in srgb,var(--platform-accent) 20%,#050505);
  box-shadow:0 0 22px color-mix(in srgb,var(--platform-accent) 32%,transparent);
  transform:translateX(5px)
}

.platform-links a:hover .platform-link-icon,.platform-links a:focus-visible .platform-link-icon,.platform-links a.is-active .platform-link-icon {
  color:#fff;
  background:var(--platform-accent);
  box-shadow:0 0 18px color-mix(in srgb,var(--platform-accent) 65%,transparent);
  transform:scale(1.06)
}

.platform-links a:hover:after,.platform-links a:focus-visible:after,.platform-links a.is-active:after {
  color:#fff;
  transform:translateX(3px)
}

.mobile-navigation {
  display:none
}


@media(max-width:1023px) {
  .hero-slides-desktop {
  display:none
}

.hero-slides-mobile {
  display:block
}

.hero-slide__content {
  width:calc(100% - 40px);
  top:auto;
  right:auto;
  bottom:54px;
  left:20px;
  text-align:left;
  transform:none
}

.hero-slide--center .hero-slide__content,.hero-slide--right .hero-slide__content {
  right:auto;
  left:20px;
  text-align:left;
  transform:none
}

.hero-slide__content h2,.hero-slide--center .hero-slide__content h2,.hero-slide--right .hero-slide__content h2 {
  max-width:12ch;
  margin-left:0;
  margin-right:0;
  font-size:clamp(34px,10vw,44px)
}

.hero-slide__content p,.hero-slide--center .hero-slide__content p,.hero-slide--right .hero-slide__content p {
  max-width:32ch;
  margin:14px 0 0;
  font-size:17px
}

.hero-slide__button {
  min-height:50px;
  margin-top:20px;
  padding-left:18px
}

.hero-slide__button span {
  width:36px;
  height:36px
}

.site-header {
  height:80px;
  grid-template-columns:1fr 110px 1fr
}

.menu-button span:last-child {
  display:none
}

.logo img {
  width:110px;
  height:70px;
  object-fit:contain
}

.phone {
  font-size:22px;
  line-height:28px
}

.phone svg {
  display:none
}

.site-menu,.site-menu.is-rail-open,.site-menu.is-expanded {
  top:80px;
  bottom:0;
  width:0;
  transition:width .5s ease
}

.site-menu.is-rail-open {
  width:100vw
}

.desktop-navigation {
  display:none
}

.mobile-navigation {
  display:block;
  position:relative;
  height:640px;
  overflow:hidden
}

.mobile-circle-hold {
  position:absolute;
  left:-230px;
  top:0;
  width:463.391px;
  height:463.391px;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:scale(.8);
  transform-origin:center
}

.mobile-orbit {
  position:relative;
  width:463.391px;
  height:463.391px;
  border:1px solid #276eb5;
  border-radius:50%;
  box-shadow:inset 0 4px 39px 10px #2b8ae880;
  opacity:0
}

.mobile-orbit a {
  position:absolute;
  left:36.9062px;
  top:36.9062px;
  width:60px;
  height:60px;
  border:1px solid var(--nav-accent);
  border-radius:50%;
  background:color-mix(in srgb,var(--nav-accent) 8%,#000);
  transform-origin:196.054px 196.054px;
  color:#fff;
  display:block;
  box-shadow:0 0 12px color-mix(in srgb,var(--nav-accent) 22%,transparent);
  transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease
}

.mobile-element-circle {
  position:relative;
  width:58px;
  height:60px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%
}

.mobile-orbit .nav-icon {
  width:58px;
  height:60px;
  border:0;
  background:transparent;
  box-shadow:none
}

.mobile-orbit a:hover,.mobile-orbit a:focus-visible,.mobile-orbit a[aria-current=page] {
  background:color-mix(in srgb,var(--nav-accent) 24%,#000);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--nav-accent) 18%,transparent),0 0 24px color-mix(in srgb,var(--nav-accent) 72%,transparent)
}

.mobile-orbit a:hover .nav-icon,.mobile-orbit a:focus-visible .nav-icon,.mobile-orbit a[aria-current=page] .nav-icon {
  color:#fff;
  transform:scale(1.1) rotate(-5deg)
}

.mobile-orbit a:nth-child(1) svg,.mobile-orbit a:nth-child(3) svg,.mobile-orbit a:nth-child(6) svg,.mobile-orbit a:nth-child(7) svg,.mobile-orbit a:nth-child(8) svg {
  width:32px;
  height:32px
}

.mobile-orbit a:nth-child(2) svg,.mobile-orbit a:nth-child(4) svg,.mobile-orbit a:nth-child(5) svg,.mobile-orbit a:nth-child(9) svg {
  width:43px;
  height:43px
}

.mobile-orbit a:nth-child(1) svg,.mobile-orbit a:nth-child(7) svg {
  stroke-width:1
}

.mobile-orbit a:nth-child(2) svg,.mobile-orbit a:nth-child(4) svg,.mobile-orbit a:nth-child(5) svg,.mobile-orbit a:nth-child(9) svg {
  stroke-width:1.5
}

.mobile-orbit a:nth-child(3) svg,.mobile-orbit a:nth-child(6) svg,.mobile-orbit a:nth-child(8) svg {
  stroke-width:10
}

.mobile-orbit small {
  position:absolute;
  top:18px;
  left:50%;
  translate:-50% 0;
  width:max-content;
  height:24px;
  white-space:nowrap;
  text-align:center;
  font:400 16px/24px Montserrat,sans-serif;
  transition:color .3s ease,text-shadow .3s ease,transform .3s ease
}

.mobile-orbit a:hover small,.mobile-orbit a:focus-visible small,.mobile-orbit a[aria-current=page] small {
  color:var(--nav-accent);
  text-shadow:0 0 14px color-mix(in srgb,var(--nav-accent) 80%,transparent)
}

.mobile-secondary-circle {
  position:absolute;
  left:59.984px;
  top:59.984px;
  width:343.391px;
  height:343.391px;
  padding:0 0 25px 85px;
  border-radius:50%;
  pointer-events:none;
  transform:translateX(-250px);
  transform-origin:center
}

.mobile-platform {
  position:absolute;
  bottom:124.8px;
  left:0;
  right:0;
  display:flex;
  justify-content:center;
  gap:64px;
  padding-top:0;
  margin-bottom:0
}

.mobile-platform--authenticated {
  bottom:110px
}

.mobile-platform:before {
  content:'';
  position:absolute;
  top:27px;
  left:0;
  right:0;
  border-top:1px solid #2b8ae8;
  box-shadow:0 0 10px #2b8ae8
}

.mobile-platform a {
  position:relative;
  z-index:1;
  width:52px;
  height:52px;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  font:16px/18px OpenSansCondensed-Light,sans-serif
}

.mobile-platform a>span {
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border:1px solid var(--platform-accent,#2b8ae8);
  border-radius:50%;
  background:color-mix(in srgb,var(--platform-accent,#2b8ae8) 45%,#071018);
  transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease
}

.mobile-platform a:nth-child(1) {--platform-accent:#56c8ff}
.mobile-platform a:nth-child(2) {--platform-accent:#31d0aa}
.mobile-platform a:nth-child(3) {--platform-accent:#ff8c52}

.mobile-platform--authenticated .mobile-platform-profile {
  --platform-accent:#31d0aa
}

.mobile-platform--authenticated .mobile-platform-profile svg {
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round
}

.mobile-platform a:hover>span,.mobile-platform a:focus-visible>span {
  transform:translateY(-5px) scale(1.08);
  background:color-mix(in srgb,var(--platform-accent) 70%,#071018);
  box-shadow:0 0 20px color-mix(in srgb,var(--platform-accent) 72%,transparent)
}

.mobile-platform svg {
  width:32px;
  height:32px
}

.mobile-platform b {
  position:absolute;
  top:57px;
  left:50%;
  translate:-50% 0;
  width:67px;
  font:400 14px/17px Montserrat,sans-serif;
  margin-top:0
}

.mobile-platform:not(.mobile-platform--authenticated) a:nth-child(2) b {
  width:100px;
  translate:none;
  transform:translateX(-50%);
  text-align:center
}

.category-footer {
  z-index:18
}


}


@media(max-width:419px) {
  .mobile-circle-hold {
  transform:scale(.8)
}


}


@media(max-height:720px) and (max-width:1023px) {
  .mobile-circle-hold {
  top:0;
  transform:scale(.8)
}

.mobile-platform {
  bottom:124.8px
}

.mobile-platform--authenticated {
  bottom:110px
}


}


.internal-page {
  height:100vh;
  overflow:hidden;
  background:#222 url('../images/photo-1.jpg') center/cover fixed no-repeat;
  color:#fff
}


.internal-page .page-main {
  height:calc(100vh - 160px);
  min-height:0;
  width:calc(100% - 144px);
  max-width:1024px;
  margin:0 auto;
  padding:40px 56px 70px;
  background:rgba(0,0,0,.84);
  overflow-y:auto;
  color:#fff
}


.internal-page .category-footer {
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  width:100%;
  z-index:18
}


.internal-page .title-block {
  text-align:left;
  margin:0 0 35px
}

.internal-page .title-block p {
  font-size:36px;
  color:#fff;
  text-transform:none
}

.internal-page .title-block p:after,.internal-title i,.category-heading i {
  content:'';
  display:block;
  width:40px;
  border-bottom:3px solid #fff;
  margin-top:5px
}

.internal-page .title-block h1 {
  font-size:25px;
  margin-top:32px
}

.internal-page .values {
  display:flex;
  flex-direction:column;
  gap:28px
}

.internal-page .values article {
  display:grid;
  grid-template-columns:185px 1fr;
  gap:28px
}

.internal-page .values img {
  width:185px;
  height:180px;
  object-fit:contain
}

.internal-page .values h2 {
  font-size:28px;
  font-weight:300
}

.internal-page .values p {
  font-size:18px;
  font-style:italic
}

.internal-page .prose {
  margin-top:35px;
  color:#fff;
  font-size:18px
}

.privacy-page {
  --privacy-line:rgba(255,255,255,.16);
  --privacy-muted:#b8c7cf;
  --privacy-accent:#31d0aa
}

.privacy-page__main {
  max-width:1180px;
  padding-top:58px;
  color:#fff
}

.privacy-hero {
  max-width:900px;
  padding-bottom:48px;
  border-bottom:1px solid var(--privacy-line)
}

.privacy-hero>span {
  display:block;
  margin-bottom:14px;
  color:var(--privacy-accent);
  font:700 10px/1 Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:1.8px
}

.privacy-hero h1 {
  max-width:780px;
  margin:0;
  font:700 52px/1 OpenSansCondensed-Light,sans-serif;
  text-transform:uppercase;
  letter-spacing:0
}

.privacy-hero p {
  max-width:720px;
  margin:22px 0 0;
  color:#e2e9ed;
  font:400 19px/1.55 OpenSansCondensed-Light,sans-serif
}

.privacy-hero small {
  display:block;
  margin-top:18px;
  color:#8199a5;
  font:500 10px/1.4 Montserrat,sans-serif
}

.legal-tabs {
  display:flex;
  gap:8px;
  margin-top:34px;
  padding-bottom:14px;
  border-bottom:1px solid var(--privacy-line)
}

.legal-tabs__button {
  min-height:44px;
  padding:0 18px;
  color:#9cafb9;
  border:1px solid var(--privacy-line);
  border-radius:4px;
  background:transparent;
  font:700 11px/1.3 Montserrat,sans-serif;
  text-transform:uppercase;
  cursor:pointer
}

.legal-tabs__button:hover,.legal-tabs__button:focus-visible {
  color:#fff;
  border-color:#56c8ff
}

.legal-tabs__button.is-active {
  color:#041018;
  border-color:var(--privacy-accent);
  background:var(--privacy-accent)
}

.legal-panel[hidden] {
  display:none
}

.privacy-layout {
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:72px;
  align-items:start;
  padding-top:46px
}

.privacy-nav {
  position:sticky;
  top:32px;
  display:flex;
  flex-direction:column
}

.privacy-nav strong {
  margin-bottom:14px;
  color:#fff;
  font:700 12px/1 Montserrat,sans-serif;
  text-transform:uppercase
}

.privacy-nav a {
  display:grid;
  grid-template-columns:26px 1fr;
  gap:8px;
  padding:11px 0;
  color:#9cafb9;
  border-top:1px solid var(--privacy-line);
  font:500 11px/1.4 Montserrat,sans-serif;
  text-decoration:none
}

.privacy-nav a:last-child {
  border-bottom:1px solid var(--privacy-line)
}

.privacy-nav a:hover,.privacy-nav a:focus-visible,.privacy-nav a span {
  color:#56c8ff
}

.privacy-content>section {
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:18px;
  padding:0 0 42px;
  margin-bottom:42px;
  border-bottom:1px solid var(--privacy-line);
  scroll-margin-top:32px
}

.privacy-content>section>span {
  padding-top:7px;
  color:var(--privacy-accent);
  font:700 11px/1 Montserrat,sans-serif
}

.privacy-content h2 {
  margin:0 0 14px;
  color:#fff;
  font:700 29px/1.1 OpenSansCondensed-Light,sans-serif;
  text-transform:uppercase;
  letter-spacing:0
}

.legal-document>.legal-document__title {
  margin-bottom:36px;
  font-size:36px
}

.legal-document>h2:not(.legal-document__title) {
  margin-top:42px;
  padding-top:42px;
  border-top:1px solid var(--privacy-line);
  scroll-margin-top:32px
}

.legal-document>h2:not(.legal-document__title):first-of-type {
  margin-top:0
}

.privacy-content p,.privacy-content li {
  color:var(--privacy-muted);
  font:400 15px/1.75 Montserrat,sans-serif
}

.privacy-content p {
  margin:0 0 14px
}

.privacy-content p:last-child {
  margin-bottom:0
}

.privacy-content .legal-clause {
  padding-left:18px;
  border-left:2px solid rgba(49,208,170,.35)
}

.privacy-content a {
  color:#56c8ff;
  overflow-wrap:anywhere
}

.privacy-content ul {
  margin:16px 0 18px;
  padding:0;
  list-style:none
}

.privacy-content li {
  position:relative;
  padding:5px 0 5px 23px
}

.privacy-content li:before {
  content:'✓';
  position:absolute;
  left:0;
  color:var(--privacy-accent)
}

.privacy-content .privacy-contact {
  margin-bottom:0;
  padding:30px 32px;
  border:1px solid rgba(86,200,255,.38);
  border-top:2px solid var(--privacy-accent);
  background:#071018
}

.privacy-contact a {
  display:inline-block;
  margin:8px 24px 0 0;
  color:#56c8ff;
  font:700 14px/1.4 Montserrat,sans-serif;
  text-decoration:none
}


.internal-title h1,.category-heading h1 {
  font-size:36px;
  font-weight:300;
  margin:0
}

.gallery-selector {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  margin-top:12px
}

.gallery-selector a {
  height:105px;
  background:color-mix(in srgb,var(--accent) 72%,transparent);
  display:flex;
  align-items:center;
  padding:12px;
  color:#fff
}

.gallery-selector img {
  width:95px;
  height:82px;
  object-fit:contain;
  margin-right:22px
}

.gallery-selector span {
  font-size:25px
}


.category-heading p {
  font-size:18px;
  margin:22px 0
}

.project-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px
}

.project-grid a {
  height:342px;
  position:relative;
  border:2px solid #fff;
  overflow:hidden
}

.project-grid img {
  width:100%;
  height:100%;
  object-fit:cover
}

.project-grid span {
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  text-align:center;
  background:rgba(239,76,117,.86);
  font-size:29px;
  padding:20px;
  opacity:0;
  transform:scale(.98);
  transition:opacity .3s ease,transform .3s ease
}

.project-grid a:hover span,.project-grid a:focus-visible span {
  opacity:1;
  transform:none
}

.album-heading {
  margin-bottom:22px
}

.album-heading h1 {
  margin:0;
  color:#fff;
  font:300 36px/44px OpenSansCondensed-Light,sans-serif
}

.album-heading i {
  display:block;
  width:40px;
  height:4px;
  margin-top:5px;
  background:#fff
}

.album-back {
  display:inline-flex;
  margin-bottom:14px;
  color:#fff;
  font-size:18px
}

.album-back:hover {
  color:var(--pink)
}

.album-gallery {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px
}

.album-gallery a {
  aspect-ratio:3/2;
  overflow:hidden;
  background:#111
}

.album-gallery img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease,filter .35s ease
}

.album-gallery a:hover img {
  transform:scale(1.035);
  filter:brightness(.78)
}

.album-description {
  margin:16px auto 0;
  color:#a7b8c2;
  font:300 14px/1.7 Montserrat,sans-serif;
}

.album-description p {
  margin:0 0 1em
}

.album-description p:last-child {
  margin-bottom:0
}

.album-packages-cta {
  position:relative;
  min-height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:28px;
  padding:18px 24px;
  color:#fff;
  background:#0b171e;
  border:1px solid rgba(86,200,255,.65);
  border-radius:3px;
  overflow:hidden;
  text-decoration:none;
  transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease
}

.album-packages-cta:before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:#31d0aa
}

.album-packages-cta span {
  display:grid;
  gap:6px;
  font:700 18px/1.25 Montserrat,sans-serif
}

.album-packages-cta small {
  color:#56c8ff;
  font:700 10px/1 Montserrat,sans-serif;
  text-transform:uppercase
}

.album-packages-cta i {
  flex:0 0 auto;
  color:#56c8ff;
  font:400 32px/1 sans-serif;
  transition:transform .25s ease
}

.album-packages-cta:hover,.album-packages-cta:focus-visible {
  color:#fff;
  background:#10232d;
  border-color:#56c8ff;
  box-shadow:0 0 28px rgba(86,200,255,.2)
}

.album-packages-cta:hover i,.album-packages-cta:focus-visible i {
  transform:translateX(5px)
}

.gallery-public-empty {
  display:grid;
  min-height:260px;
  place-items:center;
  padding:40px;
  border:1px dashed rgba(86,200,255,.35);
  color:#fff;
  text-align:center
}

.gallery-public-empty h2 {
  margin:0;
  font:300 25px Montserrat,sans-serif
}

.gallery-public-empty p {
  margin:8px 0 0;
  color:#8ea8b8
}
}


.internal-page .contact-page {
  max-width:1224px;
  padding-top:30px
}

.contact-page .title-block {
  text-align:center;
  margin-bottom:18px
}

.contact-page .title-block p {
  display:none
}

.contact-page .title-block h1 {
  font-size:30px;
  margin:0
}

.contact-layout {
  display:block
}

.contact-info {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px
}

.contact-info article {
  min-height:300px;
  border:1px solid #fff;
  border-radius:8px;
  padding:35px 24px;
  text-align:center;
  background:rgba(0,0,0,.26)
}

.contact-info h2 {
  font-size:25px
}

.contact-info p {
  font-size:18px
}

.contact-info a {
  color:#fff
}

.contact-form {
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:100px;
  row-gap:24px;
  margin:35px 55px 0
}

.contact-form h2 {
  grid-column:1/-1;
  text-align:center;
  font-size:29px;
  font-weight:300;
  margin:0
}

.contact-form input,.contact-form textarea {
  color:#fff;
  background:transparent;
  border-bottom:2px solid #fff
}

.contact-form input::placeholder,.contact-form textarea::placeholder {
  color:#fff
}

.contact-form input:nth-of-type(3),.contact-form textarea {
  grid-column:1/-1
}

.contact-form textarea {
  border:1px solid #fff
}

.contact-form button {
  display:none
}

.contact-social {
  margin:52px auto 0
}

.contact-social>header {
  margin:0 auto 24px;
  text-align:center
}

.contact-social>header>span {
  color:#56c8ff;
  font:600 11px/1.4 Montserrat,sans-serif;
  letter-spacing:2px;
  text-transform:uppercase
}

.contact-social>header h2 {
  margin:7px 0 8px;
  font:300 29px/1.25 Montserrat,sans-serif
}

.contact-social>header p {
  margin:0;
  color:#c8d4db;
  font:400 15px/1.6 Montserrat,sans-serif
}

.contact-social__grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  width:min(1080px,100%);
  margin:0 auto
}

.social-feed {
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.24);
  border-radius:10px;
  background:rgba(4,11,18,.82);
  box-shadow:0 20px 50px rgba(0,0,0,.25)
}

.social-feed__heading {
  display:flex;
  align-items:center;
  gap:13px;
  padding:16px 18px;
  border-bottom:1px solid rgba(255,255,255,.13)
}

.social-feed__heading>span {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  flex:0 0 40px;
  border-radius:50%;
  color:#fff
}

.social-feed--facebook .social-feed__heading>span {
  background:#1877f2
}

.social-feed--instagram .social-feed__heading>span {
  background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)
}

.social-feed__heading svg {
  width:23px;
  height:23px;
  fill:currentColor;
  stroke:currentColor;
  stroke-width:1.6
}

.social-feed--instagram .social-feed__heading svg {
  fill:none
}

.social-feed__heading small {
  display:block;
  color:#8ea8b8;
  font:500 10px/1.4 Montserrat,sans-serif;
  letter-spacing:1px;
  text-transform:uppercase
}

.social-feed__heading h3 {
  margin:2px 0 0;
  color:#fff;
  font:500 18px/1.25 Montserrat,sans-serif
}

.social-feed iframe {
  display:block;
  width:100%;
  max-width:500px;
  height:640px;
  margin:0 auto;
  border:0;
  background:#fff
}

.instagram-gallery {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:3px;
  width:100%;
  max-width:500px;
  margin:0 auto;
  padding:3px;
  background:#fff
}

.instagram-gallery>a {
  position:relative;
  display:block;
  overflow:hidden;
  aspect-ratio:1;
  background:#e8edf0
}

.instagram-gallery img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .3s ease,filter .3s ease
}

.instagram-gallery>a::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(131,58,180,.16),rgba(253,29,29,.2),rgba(252,176,69,.16));
  opacity:0;
  transition:opacity .3s ease
}

.instagram-gallery>a:hover img,.instagram-gallery>a:focus-visible img {
  transform:scale(1.055);
  filter:brightness(.82)
}

.instagram-gallery>a:hover::after,.instagram-gallery>a:focus-visible::after {
  opacity:1
}

.instagram-gallery>a:focus-visible {
  outline:3px solid #56c8ff;
  outline-offset:-3px
}

.instagram-gallery__video {
  position:absolute;
  z-index:1;
  top:8px;
  right:8px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:rgba(0,0,0,.62);
  box-shadow:0 2px 8px rgba(0,0,0,.28)
}

.instagram-gallery__video svg {
  width:17px;
  height:17px;
  fill:currentColor
}

.instagram-gallery__profile {
  width:100%;
  max-width:500px;
  margin:0 auto;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:13px 18px;
  color:#fff;
  background:linear-gradient(110deg,#833ab4,#c13584 42%,#e1306c 68%,#f77737);
  font:600 12px/1.4 Montserrat,sans-serif;
  letter-spacing:.7px;
  text-align:center;
  text-transform:uppercase;
  transition:filter .25s ease
}

.instagram-gallery__profile:hover,.instagram-gallery__profile:focus-visible {
  color:#fff;
  filter:brightness(1.14)
}

.social-feed__empty {
  min-height:420px;
  display:grid;
  place-content:center;
  gap:9px;
  padding:30px;
  text-align:center
}

.social-feed__empty strong {
  font:500 22px/1.3 Montserrat,sans-serif
}

.social-feed__empty p {
  max-width:360px;
  margin:0;
  color:#9fb1bc;
  font:400 14px/1.65 Montserrat,sans-serif
}

@media (max-width:760px) {
  .contact-info {
    grid-template-columns:1fr
  }

  .contact-info article {
    min-height:220px
  }

  .contact-social {
    margin-top:36px
  }

  .contact-social__grid {
    grid-template-columns:1fr
  }

  .social-feed iframe {
    height:580px
  }
}


.internal-page .editorial-grid article,.internal-page .simple-list article {
  background:rgba(0,0,0,.4);
  color:#fff
}

.internal-page .video-projects-page {
  width:calc(100% - 160px);
  max-width:1280px;
  padding:40px 56px 70px
}

.internal-page.production-layout {
  height:auto;
  min-height:100vh;
  overflow:auto
}

.production-layout .page-main {
  width:100%;
  max-width:1280px;
  height:auto;
  min-height:0;
  margin:40px auto 100px;
  padding:40px 56px;
  overflow:visible;
  background:rgba(0,0,0,.8)
}

.production-heading h1 {
  margin:0;
  color:#fff;
  font:700 36px/40px OpenSansCondensed-Light,sans-serif
}

.video-projects-page .production-heading h1 {
  font-size:24px;
  line-height:29px
}

.production-heading i {
  display:block;
  width:40px;
  height:4px;
  margin-top:4px;
  background:#fff
}

.video-projects-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:40px;
  row-gap:16px
}

.video-projects-grid article {
  min-width:0;
  padding:8px
}

.video-projects-grid h2 {
  margin:0 0 4px 12px;
  color:#fff;
  font:700 24px/29px OpenSansCondensed-Light,sans-serif
}

.video-projects-grid video {
  display:block;
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  border:1px solid rgba(86,200,255,.2);
  background:#071018
}

.video-projects-grid article>p {
  color:#9eb0bb;
  font:400 14px/1.7 Montserrat,sans-serif;
  overflow-wrap:anywhere
}

.kdt-development-state {
  padding:clamp(40px,8vw,100px) 24px;
  border:1px solid rgba(86,200,255,.2);
  background:rgba(7,16,24,.85);
  text-align:center
}

.kdt-development-state>span {
  color:#31d0aa;
  font-size:64px
}

.kdt-development-state h2 {
  color:#fff;
  font:400 clamp(22px,3vw,36px)/1.3 OpenSansCondensed-Light,sans-serif
}

.kdt-development-state p {
  color:#9eb0bb;
  font:400 14px/1.7 Montserrat,sans-serif
}

.portal-profile-panel--deactivation {
  --profile-panel-accent:#ef4c75;
  border-color:rgba(239,76,117,.35)
}

.portal-deactivation-details {
  padding:0 30px 24px
}

.portal-profile-panel--deactivation .portal-profile-panel__header>div {
  display:block
}

.portal-profile-panel--deactivation .portal-profile-panel__header p {
  margin-top:10px
}

.portal-deactivation-details summary {
  width:fit-content;
  padding:12px 0;
  color:#ff79a7;
  cursor:pointer;
  font:500 14px/1.5 Montserrat,sans-serif
}

.portal-deactivation-details summary:focus-visible {
  outline:2px solid #ff79a7;
  outline-offset:4px
}

.portal-deactivation-details .portal-profile-form {
  margin-top:20px
}

.portal-profile-form .portal-deactivation-confirm {
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-top:20px;
  color:#b7c9d4;
  font:400 12px/1.6 Montserrat,sans-serif
}

.portal-profile-form .portal-deactivation-confirm input {
  flex:0 0 18px;
  width:18px;
  height:18px;
  margin:2px 0 0;
  accent-color:#ef4c75
}

.portal-profile-panel--deactivation .portal-profile-form button {
  border-color:#ef4c75;
  color:#fff;
  background:#77253d
}

.portal-profile-panel--deactivation .portal-profile-form button:hover {
  background:#96334f
}

.prices-banner {
  width:100%;
  margin-top:20px
}

.prices-accordion {
  margin-top:16px
}

.prices-accordion details {
  margin:16px 0;
  color:#fff;
  background:transparent
}

.prices-accordion summary {
  position:relative;
  min-height:48px;
  padding:12px 54px 12px 24px;
  border-radius:4px;
  background:rgba(76,76,76,.88);
  color:#fff;
  font:400 20px/24px OpenSansCondensed-Light,sans-serif;
  list-style:none;
  cursor:pointer
}

.prices-accordion summary::-webkit-details-marker {
  display:none
}

.prices-accordion summary:after {
  content:'';
  position:absolute;
  right:22px;
  top:17px;
  width:9px;
  height:9px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(45deg);
  transition:transform .2s ease
}

.prices-accordion details[open] summary:after {
  transform:translateY(5px) rotate(225deg)
}

.prices-accordion details>div {
  min-height:12px
}

.service-content {
  padding:22px 24px 8px;
  color:#fff;
  font:400 16px/24px OpenSansCondensed-Light,sans-serif
}

.service-intro {
  max-width:980px;
  margin:0 auto 24px
}

.service-intro p {
  margin:0 0 12px
}

.service-intro ul,.service-packages ul {
  margin:8px 0 0;
  padding:0;
  list-style:none
}

.service-intro li,.service-packages li {
  position:relative;
  padding-left:22px
}

.service-intro li:before,.service-packages li:before {
  content:'✓';
  position:absolute;
  left:0;
  color:#36a8ff
}

.service-packages {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:1fr;
  align-items:stretch;
  gap:18px
}

.service-packages-short {
  grid-template-columns:repeat(2,minmax(0,280px));
  justify-content:center
}

.service-packages article {
  position:relative;
  min-width:0;
  min-height:0;
  height:100%;
  display:flex;
  flex-direction:column;
  padding:0 22px 22px;
  overflow:hidden;
  border:1px solid rgba(151,183,202,.32);
  border-top:2px solid #31d0aa;
  border-radius:4px;
  background:linear-gradient(155deg,rgba(16,26,33,.97),rgba(5,9,12,.98));
  box-shadow:0 20px 45px rgba(0,0,0,.28);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease
}

.service-packages article:hover {
  transform:translateY(-4px);
  border-color:rgba(49,208,170,.7);
  box-shadow:0 24px 52px rgba(0,0,0,.4),0 0 25px rgba(49,208,170,.1)
}

.package-card__header {
  min-height:112px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:22px 8px 18px
}

.package-card__header small {
  margin-bottom:8px;
  color:#31d0aa;
  font:700 9px/1 Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:1.6px
}

.service-packages h3 {
  margin:0;
  color:#fff;
  text-align:center;
  text-transform:uppercase;
  font:700 20px/25px OpenSansCondensed-Light,sans-serif
}

.prices-page {
  --catalog-line:rgba(255,255,255,.16);
  --catalog-muted:#b9c5cc;
  --catalog-accent:#56c8ff
}

.prices-product-hero {
  min-height:390px;
  position:relative;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#080c0f
}

.prices-product-hero>img {
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  object-fit:cover
}

.prices-product-hero__shade {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.9) 0,rgba(0,0,0,.48) 55%,rgba(0,0,0,.08) 100%)
}

.prices-product-hero>div {
  width:min(650px,75%);
  position:relative;
  z-index:1;
  padding:48px
}

.prices-product-hero>div>span,.prices-product-intro>span,.service-catalog-band__intro>span {
  display:block;
  margin-bottom:10px;
  color:#31d0aa;
  font:700 11px/1 Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:2px
}

.prices-product-hero h1 {
  margin:0;
  color:#fff;
  font:700 60px/.95 OpenSansCondensed-Light,sans-serif;
  text-transform:uppercase;
  letter-spacing:0
}

.prices-product-hero p {
  max-width:54ch;
  margin:18px 0 0;
  color:#e8eef1;
  font:400 19px/1.45 OpenSansCondensed-Light,sans-serif
}

.prices-category-nav {
  display:flex;
  gap:8px;
  margin:18px 0 0;
  padding:0 0 14px;
  overflow-x:auto;
  border-bottom:1px solid var(--catalog-line);
  scrollbar-width:thin
}

.prices-category-nav a {
  min-height:40px;
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  padding:0 15px;
  color:#dce5ea;
  border:1px solid var(--catalog-line);
  font:600 12px/1 Montserrat,sans-serif;
  text-decoration:none;
  transition:color .2s ease,border-color .2s ease,background .2s ease
}

.prices-category-nav a:hover,.prices-category-nav a:focus-visible {
  color:#071018;
  border-color:var(--catalog-accent);
  background:var(--catalog-accent)
}

.prices-product-intro {
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);
  gap:12px 60px;
  align-items:end;
  padding:76px 0 38px
}

.prices-product-intro>span {
  grid-column:1/-1;
  margin:0
}

.prices-product-intro h2,.service-catalog-band__intro h2 {
  max-width:16ch;
  margin:0;
  color:#fff;
  font:700 40px/1 OpenSansCondensed-Light,sans-serif;
  text-transform:uppercase;
  letter-spacing:0
}

.prices-product-intro p {
  margin:0;
  color:var(--catalog-muted);
  font:400 17px/1.5 OpenSansCondensed-Light,sans-serif
}

.service-catalog__category {
  padding:46px 0 64px;
  border-top:1px solid var(--catalog-line);
  scroll-margin-top:95px
}

.service-catalog__heading {
  display:grid;
  grid-template-columns:56px minmax(0,760px);
  gap:22px;
  margin-bottom:30px
}

.service-catalog__heading>span {
  padding-top:5px;
  color:var(--catalog-accent);
  font:700 12px/1 Montserrat,sans-serif
}

.service-catalog__heading h2 {
  margin:0;
  color:#fff;
  font:700 30px/1.1 OpenSansCondensed-Light,sans-serif;
  text-transform:uppercase;
  letter-spacing:0
}

.service-catalog__heading p {
  margin:10px 0 0;
  color:var(--catalog-muted);
  font:400 16px/1.5 OpenSansCondensed-Light,sans-serif
}

.service-catalog-band {
  padding:82px 0 100px;
  color:#fff;
  background:#071018
}

.service-catalog-band__intro {
  margin-bottom:40px
}

@media(max-width:900px) {
  .prices-product-hero {
    min-height:420px
  }

  .prices-product-hero__shade {
    background:linear-gradient(0deg,rgba(0,0,0,.9) 0,rgba(0,0,0,.32) 75%,rgba(0,0,0,.08) 100%)
  }

  .prices-product-hero>div {
    width:100%;
    padding:28px 24px
  }

  .prices-product-hero h1 {
    font-size:44px
  }

  .prices-product-intro {
    grid-template-columns:1fr;
    padding:52px 0 28px
  }

  .prices-product-intro>span {
    grid-column:auto
  }

  .prices-product-intro h2 {
    font-size:34px
  }

  .service-catalog__category {
    padding:34px 0 48px
  }

  .service-catalog__heading {
    grid-template-columns:34px minmax(0,1fr);
    gap:10px
  }

  .service-catalog-band {
    padding:60px 0 70px
  }
}

.service-packages strong {
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:9px;
  margin:0 -22px 18px;
  padding:13px 10px 12px;
  color:#071018;
  background:#56c8ff;
  text-align:center;
}

.service-packages .package-card__price span {
  font:700 23px/26px OpenSansCondensed-Light,sans-serif
}

.service-packages .package-card__price small {
  padding-left:9px;
  border-left:1px solid rgba(7,16,24,.3);
  font:700 14px/18px Montserrat,sans-serif
}

.service-packages li {
  margin:10px 0;
  padding-left:25px;
  color:#d4e0e7;
  font:400 15px/21px OpenSansCondensed-Light,sans-serif
}

.service-packages li:before {
  color:#31d0aa
}

.package-card__action {
  width:100%;
  margin-top:auto;
  padding-top:22px
}

.service-packages article>.package-inquiry-link {
  margin-top:auto
}

.package-inquiry-link {
  margin-top:0;
  width:100%;
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 17px;
  color:#fff;
  background:transparent;
  border:1px solid rgba(86,200,255,.65);
  border-radius:3px;
  font:700 13px Montserrat,sans-serif;
  cursor:pointer;
  text-decoration:none;
  transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease
}

.package-inquiry-link i {
  color:#56c8ff;
  font:400 22px/1 sans-serif;
  transition:transform .2s ease
}

.package-inquiry-link:hover,.package-inquiry-link:focus-visible {
  color:#071018;
  background:#56c8ff;
  border-color:#56c8ff;
  box-shadow:0 0 24px rgba(86,200,255,.26)
}

.package-inquiry-link:hover i,.package-inquiry-link:focus-visible i {
  color:#071018;
  transform:translateX(4px)
}

.consent-dialog {
  position:fixed;
  z-index:10000;
  inset:auto 20px 20px;
  color:#fff
}

.consent-dialog[hidden] {
  display:none
}

.consent-dialog__content {
  width:min(1180px,100%);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  padding:24px 28px;
  border:1px solid rgba(86,200,255,.48);
  border-top:2px solid #31d0aa;
  border-radius:4px;
  background:#071018;
  box-shadow:0 24px 70px rgba(0,0,0,.65)
}

.consent-dialog__content>div:first-child {
  max-width:780px
}

.consent-dialog__content span {
  display:block;
  margin-bottom:7px;
  color:#31d0aa;
  font:700 9px/1 Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:1.6px
}

.consent-dialog h2 {
  margin:0;
  font:700 24px/1.15 OpenSansCondensed-Light,sans-serif;
  text-transform:uppercase;
  letter-spacing:0
}

.consent-dialog p {
  margin:9px 0 0;
  color:#c6d2d9;
  font:400 14px/1.55 Montserrat,sans-serif
}

.consent-dialog a {
  color:#56c8ff
}

.consent-dialog__actions {
  display:flex;
  flex:0 0 auto;
  gap:10px
}

.consent-dialog__actions button {
  min-height:46px;
  padding:0 18px;
  color:#fff;
  border:1px solid rgba(86,200,255,.65);
  border-radius:3px;
  background:transparent;
  font:700 12px Montserrat,sans-serif;
  cursor:pointer
}

.consent-dialog__actions .consent-dialog__accept {
  color:#071018;
  border-color:#31d0aa;
  background:#31d0aa
}

.package-confirmation {
  width:min(430px,calc(100% - 32px));
  padding:36px 32px 30px;
  color:#fff;
  background:#081117;
  border:1px solid rgba(86,200,255,.6);
  border-radius:6px;
  box-shadow:0 30px 90px rgba(0,0,0,.78),0 0 35px rgba(86,200,255,.14);
  text-align:center
}

.package-confirmation::backdrop {
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(5px)
}

.package-confirmation__mark {
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  margin:0 auto 20px;
  color:#071018;
  border-radius:50%;
  background:#31d0aa;
  box-shadow:0 0 28px rgba(49,208,170,.36);
  font:700 25px/1 Montserrat,sans-serif
}

.package-confirmation>p {
  margin:0 0 9px;
  color:#56c8ff;
  font:700 10px/1 Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:1.6px
}

.package-confirmation>h2 {
  margin:0 0 13px;
  font:700 28px/34px OpenSansCondensed-Light,sans-serif
}

.package-confirmation>span {
  display:block;
  color:#b9c8d1;
  font:400 15px/23px Montserrat,sans-serif
}

.package-confirmation>span strong,.package-confirmation>span b {
  color:#fff
}

.package-confirmation__actions {
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:10px;
  margin-top:28px
}

.package-confirmation__actions button {
  min-height:48px;
  padding:0 12px;
  border-radius:3px;
  font:700 12px Montserrat,sans-serif;
  cursor:pointer
}

.package-confirmation__actions [data-confirm-cancel] {
  color:#c5d1d8;
  background:transparent;
  border:1px solid rgba(197,209,216,.35)
}

.package-confirmation__actions [data-confirm-submit] {
  color:#071018;
  background:#31d0aa;
  border:1px solid #31d0aa
}

.inquiry-page {
  max-width:1280px!important;
  min-height:824px!important;
  padding:0!important;
  background:transparent!important
}

.quick-inquiry {
  display:grid;
  grid-template-columns:minmax(290px,360px) minmax(0,1fr);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  background:#0b141c;
  box-shadow:0 28px 80px rgba(0,0,0,.42)
}

.quick-inquiry__intro {
  position:relative;
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:44px 36px 38px;
  overflow:hidden;
  background:linear-gradient(155deg,rgba(21,55,77,.98),rgba(7,20,30,.98) 58%,rgba(22,11,25,.98))
}

.quick-inquiry__intro:before {
  content:'';
  position:absolute;
  width:310px;
  height:310px;
  top:-170px;
  right:-165px;
  border:1px solid rgba(86,200,255,.3);
  border-radius:50%;
  box-shadow:0 0 0 55px rgba(86,200,255,.035),0 0 0 110px rgba(239,76,117,.025)
}

.quick-inquiry__eyebrow {
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  color:#56c8ff;
  font:600 10px/1 Montserrat,sans-serif;
  letter-spacing:1.5px;
  text-transform:uppercase
}

.quick-inquiry__eyebrow span {
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  color:#071018;
  background:#56c8ff;
  border-radius:50%;
  letter-spacing:0
}

.quick-inquiry__eyebrow i {
  width:28px;
  height:1px;
  background:rgba(86,200,255,.6)
}

.quick-inquiry__intro h1 {
  position:relative;
  margin:34px 0 16px;
  max-width:300px;
  color:#fff;
  font:500 clamp(34px,3.2vw,48px)/1.08 OpenSansCondensed-Light,sans-serif;
  letter-spacing:-.6px
}

.quick-inquiry__intro>p {
  position:relative;
  margin:0;
  max-width:290px;
  color:#b9cad5;
  font:400 14px/1.75 Montserrat,sans-serif
}

.quick-inquiry__benefits {
  position:relative;
  display:grid;
  gap:18px;
  margin-top:36px
}

.quick-inquiry__benefits>div {
  display:grid;
  grid-template-columns:32px 1fr;
  gap:12px;
  align-items:start
}

.quick-inquiry__benefits>div>span {
  padding-top:3px;
  color:#ef6c8c;
  font:600 11px/1 Montserrat,sans-serif
}

.quick-inquiry__benefits p {
  margin:0
}

.quick-inquiry__benefits strong,.quick-inquiry__benefits small {
  display:block
}

.quick-inquiry__benefits strong {
  color:#fff;
  font:500 13px/1.35 Montserrat,sans-serif
}

.quick-inquiry__benefits small {
  margin-top:4px;
  color:#8199a8;
  font:400 11px/1.45 Montserrat,sans-serif
}

.quick-inquiry__package {
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  gap:4px 12px;
  margin-top:30px;
  padding:17px 18px;
  border:1px solid rgba(49,208,170,.35);
  border-radius:8px;
  background:rgba(49,208,170,.07)
}

.quick-inquiry__package span,.quick-inquiry__package small {
  grid-column:1;
  color:#8fa9b8;
  font:500 10px/1.4 Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:1px
}

.quick-inquiry__package strong {
  grid-column:1;
  color:#fff;
  font:600 15px/1.35 Montserrat,sans-serif
}

.quick-inquiry__package b {
  grid-column:2;
  grid-row:1/4;
  align-self:center;
  color:#31d0aa;
  font:600 17px/1 Montserrat,sans-serif
}

.quick-inquiry__contact {
  position:relative;
  margin-top:auto;
  padding-top:32px
}

.quick-inquiry__contact span,.quick-inquiry__contact small {
  display:block;
  color:#829baa;
  font:400 10px/1.5 Montserrat,sans-serif
}

.quick-inquiry__contact a {
  display:inline-block;
  margin:4px 0;
  color:#fff;
  font:500 22px/1.2 Montserrat,sans-serif;
  text-decoration:none
}

.inquiry-form.quick-inquiry__form {
  width:100%;
  display:block;
  margin:0;
  padding:38px 40px 40px;
  color:#fff;
  background:linear-gradient(145deg,#101c25,#0a131a)
}

.quick-inquiry__form-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:28px;
  padding-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,.1)
}

.quick-inquiry__form-heading span {
  color:#56c8ff;
  font:600 10px/1.4 Montserrat,sans-serif;
  letter-spacing:1.6px;
  text-transform:uppercase
}

.quick-inquiry__form-heading h2 {
  margin:5px 0 0;
  font:500 27px/1.2 Montserrat,sans-serif
}

.quick-inquiry__form-heading p {
  margin:0;
  color:#8399a7;
  font:400 10px/1.4 Montserrat,sans-serif
}

.quick-inquiry__form-heading p strong,.inquiry-field__label b {
  color:#ef6c8c
}

.inquiry-form .auth-message {
  margin:0 0 22px
}

.inquiry-form__errors {
  display:grid;
  gap:4px;
  margin:0 0 22px;
  padding:12px 14px;
  color:#ffdce3;
  background:rgba(255,95,127,.14);
  border:1px solid #ff5f7f;
  border-radius:4px;
  font:400 12px/1.5 Montserrat,sans-serif
}

.inquiry-honeypot {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(1px,1px,1px,1px)!important;
  white-space:nowrap!important
}

.quick-inquiry__section {
  min-width:0;
  margin:0;
  padding:0 0 28px;
  border:0
}

.quick-inquiry__section+.quick-inquiry__section {
  padding-top:26px;
  border-top:1px solid rgba(255,255,255,.08)
}

.quick-inquiry__section legend {
  display:flex;
  align-items:center;
  gap:11px;
  width:100%;
  margin:0 0 19px;
  padding:0
}

.quick-inquiry__section legend>span {
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  color:#071018;
  background:#31d0aa;
  border-radius:50%;
  font:700 10px/1 Montserrat,sans-serif
}

.quick-inquiry__section legend strong,.quick-inquiry__section legend small {
  display:block
}

.quick-inquiry__section legend strong {
  font:600 14px/1.3 Montserrat,sans-serif
}

.quick-inquiry__section legend small {
  margin-top:2px;
  color:#7f96a5;
  font:400 10px/1.4 Montserrat,sans-serif
}

.quick-inquiry__grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:17px
}

.quick-inquiry__grid--contact {
  grid-template-columns:repeat(3,minmax(0,1fr))
}

.inquiry-form .inquiry-field {
  min-width:0;
  height:auto;
  display:block;
  border:0
}

.inquiry-field__label {
  display:flex;
  align-items:center;
  min-height:17px;
  margin:0 0 7px;
  color:#c7d4dc;
  font:500 10px/1.4 Montserrat,sans-serif;
  letter-spacing:.3px
}

.inquiry-field__label small {
  margin-left:auto;
  color:#657d8c;
  font:400 9px/1 Montserrat,sans-serif
}

.inquiry-field__control {
  min-width:0;
  height:48px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  align-items:center;
  border:1px solid rgba(157,183,198,.22);
  border-radius:6px;
  background:rgba(255,255,255,.035);
  transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease
}

.inquiry-field__control:focus-within {
  border-color:#56c8ff;
  background:rgba(86,200,255,.06);
  box-shadow:0 0 0 3px rgba(86,200,255,.08)
}

.inquiry-field__control>svg {
  width:18px;
  height:18px;
  justify-self:center;
  fill:none;
  stroke:#6f91a5;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round
}

.inquiry-form .inquiry-field input,.inquiry-form .inquiry-field select,.inquiry-form .inquiry-field textarea {
  width:100%;
  min-width:0;
  border:0;
  outline:0;
  color:#fff;
  background:transparent;
  font:400 12px/1.4 Montserrat,sans-serif
}

.inquiry-form .inquiry-field input,.inquiry-form .inquiry-field select {
  height:46px;
  padding:0 12px 0 0
}

.inquiry-form .inquiry-field input::placeholder,.inquiry-form .inquiry-field textarea::placeholder {
  color:#607887;
  opacity:1
}

.inquiry-form .inquiry-field select {
  appearance:none;
  padding-right:28px;
  background-image:linear-gradient(45deg,transparent 50%,#7894a5 50%),linear-gradient(135deg,#7894a5 50%,transparent 50%);
  background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat
}

.inquiry-form .inquiry-field select:disabled {
  color:#607887;
  cursor:not-allowed
}

.inquiry-form .inquiry-field option {
  color:#071018;
  background:#fff
}

.inquiry-form .inquiry-field input[type=date],.inquiry-form .inquiry-field input[type=time] {
  color-scheme:dark
}

.inquiry-form .inquiry-field input[type=date]::-webkit-calendar-picker-indicator,.inquiry-form .inquiry-field input[type=time]::-webkit-calendar-picker-indicator {
  filter:brightness(0) invert(1)
}

.inquiry-field--message {
  margin-top:0!important;
  padding-top:1px
}

.inquiry-form .inquiry-field--message textarea {
  height:112px;
  display:block;
  padding:14px 15px;
  resize:vertical;
  border:1px solid rgba(157,183,198,.22);
  border-radius:6px;
  background:rgba(255,255,255,.035);
  line-height:1.6;
  transition:border-color .2s ease,box-shadow .2s ease
}

.inquiry-form .inquiry-field--message textarea:focus {
  border-color:#56c8ff;
  box-shadow:0 0 0 3px rgba(86,200,255,.08)
}

.quick-inquiry__footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:25px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.1)
}

.quick-inquiry__footer p {
  display:flex;
  align-items:center;
  gap:9px;
  max-width:300px;
  margin:0;
  color:#718a99;
  font:400 9px/1.55 Montserrat,sans-serif
}

.quick-inquiry__footer p svg {
  width:21px;
  height:21px;
  flex:0 0 21px;
  fill:none;
  stroke:#31d0aa;
  stroke-width:1.4
}

.inquiry-form .quick-inquiry__footer button {
  min-width:215px;
  height:51px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:0;
  padding:0 7px 0 20px;
  border:0;
  border-radius:6px;
  color:#071018;
  background:#31d0aa;
  font:600 12px/1 Montserrat,sans-serif;
  cursor:pointer;
  transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease
}

.inquiry-form .quick-inquiry__footer button i {
  width:37px;
  height:37px;
  display:grid;
  place-items:center;
  border-radius:4px;
  color:#fff;
  background:#122733;
  font:400 18px/1 Arial,sans-serif
}

.inquiry-form .quick-inquiry__footer button:hover,.inquiry-form .quick-inquiry__footer button:focus-visible {
  background:#4bdbb7;
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(49,208,170,.2)
}

@media(max-width:1100px) {
  .quick-inquiry {
    grid-template-columns:300px minmax(0,1fr)
  }

  .quick-inquiry__intro {
    padding:36px 28px
  }

  .inquiry-form.quick-inquiry__form {
    padding:34px 30px 36px
  }

  .quick-inquiry__grid--contact {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .quick-inquiry__grid--contact .inquiry-field:last-child {
    grid-column:1/-1
  }
}

@media(max-width:900px) {
  .quick-inquiry {
    grid-template-columns:1fr;
    border-radius:10px
  }

  .quick-inquiry__intro {
    padding:34px 28px
  }

  .quick-inquiry__intro h1,.quick-inquiry__intro>p {
    max-width:620px
  }

  .quick-inquiry__benefits {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px
  }

  .quick-inquiry__contact {
    margin-top:24px;
    padding-top:0
  }
}

@media(max-width:640px) {
  .quick-inquiry__intro {
    padding:30px 20px
  }

  .quick-inquiry__intro h1 {
    margin-top:26px;
    font-size:35px
  }

  .quick-inquiry__benefits {
    grid-template-columns:1fr;
    margin-top:28px
  }

  .inquiry-form.quick-inquiry__form {
    padding:28px 18px 30px
  }

  .quick-inquiry__form-heading {
    align-items:start;
    margin-bottom:24px
  }

  .quick-inquiry__form-heading p {
    max-width:78px;
    text-align:right
  }

  .quick-inquiry__grid,.quick-inquiry__grid--contact {
    grid-template-columns:1fr
  }

  .quick-inquiry__grid--contact .inquiry-field:last-child {
    grid-column:auto
  }

  .quick-inquiry__footer {
    align-items:stretch;
    flex-direction:column
  }

  .inquiry-form .quick-inquiry__footer button {
    width:100%
  }
}

.blog-list {
  display:grid;
  gap:24px
}

.blog-list article {
  height:173px;
  display:grid;
  grid-template-columns:1fr 2fr;
  color:#fff
}

.blog-list article>img {
  width:100%;
  height:173px;
  object-fit:cover
}

.blog-list article>div {
  min-width:0;
  height:173px;
  padding:8px
}

.blog-list h1 {
  margin:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font:700 24px/29px OpenSansCondensed-Light,sans-serif
}

.blog-list i {
  display:block;
  width:80px;
  height:3px;
  margin-top:4px;
  border-radius:3px;
  background:#fff
}

.blog-list p {
  display:-webkit-box;
  margin:16px 0;
  overflow:hidden;
  font:400 16px/24px OpenSansCondensed-Light,sans-serif;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2
}

.blog-list a {
  display:inline-flex;
  min-width:98px;
  height:34px;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border-radius:4px;
  background:#2b8ae8;
  color:#fff;
  font-size:16px
}

.blog-article-layout {
  height:auto;
  min-height:100vh;
  overflow:auto;
  background:#000
}

.blog-article-page {
  position:relative;
  min-height:calc(100vh - var(--header));
  padding:0 6%;
  color:#fff
}

.blog-article-page>article {
  position:relative;
  max-width:1024px;
  min-height:100%;
  margin:0 auto
}

.blog-article-image {
  position:fixed;
  inset:var(--header) 0 0;
  width:100%;
  height:calc(100vh - var(--header));
  object-fit:cover;
  z-index:0
}

.blog-article-content {
  position:relative;
  z-index:1;
  padding:34px 56px 80px;
  background:rgba(0,0,0,.78);
  font:400 16px/25px OpenSansCondensed-Light,sans-serif
}

.blog-article-content h1 {
  margin:0 0 28px;
  font:700 30px/38px OpenSansCondensed-Light,sans-serif
}

.blog-article-content h2 {
  margin:24px 0 8px;
  font:700 17px/24px OpenSansCondensed-Light,sans-serif
}

.blog-article-content p {
  margin:0 0 16px
}

.blog-article-content a {
  color:#fff;
  text-decoration:underline
}

.blog-layout {
  height:auto;
  min-height:100vh;
  overflow:auto;
  background:#050505
}

.kdt-blog-index {
  max-width:1320px;
  padding-top:58px
}

.kdt-blog-heading {
  max-width:760px;
  margin:0 0 44px
}

.kdt-blog-heading>span {
  color:#ef4c75;
  font:700 12px Montserrat,sans-serif;
  text-transform:uppercase
}

.kdt-blog-heading h1 {
  margin:8px 0 5px;
  color:#fff;
  font:300 58px/1 OpenSansCondensed-Light,sans-serif
}

.kdt-blog-heading i {
  display:block;
  width:72px;
  height:3px;
  margin:16px 0;
  background:#56c8ff
}

.kdt-blog-heading p,.kdt-blog-empty p {
  margin:0;
  color:#9eb0bb;
  font:300 16px/1.65 Montserrat,sans-serif
}

.kdt-blog-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px
}

.kdt-blog-card {
  display:grid;
  min-width:0;
  overflow:hidden;
  background:#0a1116;
  border:1px solid rgba(255,255,255,.12)
}

.kdt-blog-card--featured {
  grid-column:1/-1;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr)
}

.kdt-blog-card__image {
  display:block;
  min-height:300px;
  overflow:hidden
}

.kdt-blog-card--featured .kdt-blog-card__image {
  min-height:480px
}

.kdt-blog-card__image img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s ease
}

.kdt-blog-card:hover .kdt-blog-card__image img {
  transform:scale(1.035)
}

.kdt-blog-card__body {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:30px
}

.kdt-blog-card__body time {
  color:#56c8ff;
  font:600 11px Montserrat,sans-serif
}

.kdt-blog-card__body h2 {
  margin:12px 0 13px;
  color:#fff;
  font:400 30px/1.18 OpenSansCondensed-Light,sans-serif
}

.kdt-blog-card--featured h2 {
  font-size:40px
}

.kdt-blog-card__body p {
  display:-webkit-box;
  margin:0 0 26px;
  overflow:hidden;
  color:#aebdc6;
  font:300 14px/1.65 Montserrat,sans-serif;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3
}

.kdt-blog-card__read {
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:auto;
  color:#fff;
  font:700 12px Montserrat,sans-serif;
  text-transform:uppercase
}

.kdt-blog-card__read span {
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  color:#071018;
  background:#31d0aa;
  font-size:22px
}

.kdt-blog-empty {
  padding:80px 30px;
  text-align:center;
  border:1px dashed rgba(86,200,255,.35)
}

.kdt-blog-empty h2 {
  margin:0 0 8px;
  color:#fff;
  font:300 34px OpenSansCondensed-Light,sans-serif
}

.kdt-blog-pages {
  margin-top:48px;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.12);
  font:500 13px/1.4 Montserrat,sans-serif
}

.kdt-blog-pages__controls {
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:20px
}

.kdt-blog-pages__numbers {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:6px;
  margin:0;
  padding:0;
  list-style:none
}

.kdt-blog-pages__number,.kdt-blog-pages__direction {
  display:inline-flex;
  min-width:44px;
  min-height:44px;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:4px;
  color:#c4d0d8;
  background:#0a1116;
  text-decoration:none;
  font-variant-numeric:tabular-nums;
  transition:color .2s ease,background-color .2s ease,border-color .2s ease
}

.kdt-blog-pages__direction {
  justify-self:start;
  gap:10px;
  padding-inline:16px
}

.kdt-blog-pages__direction--next {
  justify-self:end
}

.kdt-blog-pages__direction>span {
  font-size:20px;
  line-height:1
}

.kdt-blog-pages a:hover {
  color:#56c8ff;
  background:#101f29;
  border-color:#56c8ff
}

.kdt-blog-pages a:focus-visible {
  outline:2px solid #56c8ff;
  outline-offset:4px
}

.kdt-blog-pages__number.is-current {
  color:#071018;
  background:#31d0aa;
  border-color:#31d0aa;
  font-weight:700
}

.kdt-blog-pages__direction.is-disabled {
  color:#687680;
  background:transparent;
  border-color:rgba(255,255,255,.07)
}

.kdt-blog-pages__ellipsis {
  padding-inline:2px;
  color:#9eb0bb
}

.kdt-blog-pages__status {
  margin:18px 0 0;
  color:#9eb0bb;
  text-align:center;
  font-size:12px
}

.kdt-blog-pages__status strong {
  color:#fff;
  font-weight:600
}

@media(max-width:760px) {
  .kdt-blog-pages__controls {
    grid-template-columns:1fr 1fr;
    gap:16px
  }

  .kdt-blog-pages__numbers {
    grid-column:1/-1;
    grid-row:1
  }
}

@media(prefers-reduced-motion:reduce) {
  .kdt-blog-pages__number,.kdt-blog-pages__direction {
    transition:none
  }
}

.kdt-article {
  min-height:100vh;
  padding-bottom:90px;
  color:#fff;
  background:#050505
}

.kdt-article>article {
  max-width:1180px;
  margin:0 auto
}

.kdt-article__hero {
  position:relative;
  min-height:610px;
  overflow:hidden
}

.kdt-article__hero>img,.kdt-article__shade {
  position:absolute;
  inset:0;
  width:100%;
  height:100%
}

.kdt-article__hero>img {
  object-fit:cover
}

.kdt-article__shade {
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.3) 45%,rgba(0,0,0,.95))
}

.kdt-article__heading {
  position:absolute;
  right:7%;
  bottom:54px;
  left:7%;
  z-index:1;
  max-width:850px
}

.kdt-article__heading>a,.kdt-article__heading time {
  color:#56c8ff;
  font:700 12px Montserrat,sans-serif;
  text-transform:uppercase
}

.kdt-article__heading h1 {
  margin:12px 0 14px;
  font:300 54px/1.08 OpenSansCondensed-Light,sans-serif
}

.kdt-article__heading p {
  max-width:700px;
  margin:0 0 18px;
  color:#d5dfe4;
  font:300 16px/1.6 Montserrat,sans-serif
}

.kdt-article__content {
  max-width:820px;
  margin:0 auto;
  padding:66px 30px;
  color:#d6e0e5;
  font:300 17px/1.85 Montserrat,sans-serif
}

.kdt-article__content h2,.kdt-article__content h3 {
  margin:38px 0 15px;
  color:#fff;
  font:400 30px/1.25 OpenSansCondensed-Light,sans-serif
}

.kdt-article__content img {
  max-width:100%;
  height:auto
}

.kdt-article__content a {
  color:#56c8ff;
  text-decoration:underline
}

.kdt-article__share {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  max-width:820px;
  margin:0 auto;
  padding:28px 30px;
  border-top:1px solid rgba(255,255,255,.17);
  border-bottom:1px solid rgba(255,255,255,.17)
}

.kdt-article__share>div {
  display:flex;
  flex-direction:column
}

.kdt-article__share span {
  color:#ef4c75;
  font:700 11px Montserrat,sans-serif;
  text-transform:uppercase
}

.kdt-article__share strong {
  margin-top:4px;
  font:400 17px Montserrat,sans-serif
}

.kdt-article__share nav {
  display:flex;
  gap:8px
}

.kdt-article__share nav a {
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  color:#fff;
  border:1px solid rgba(255,255,255,.4);
  font:700 13px Montserrat,sans-serif
}

.kdt-article__share nav a:hover {
  color:#071018;
  background:#31d0aa;
  border-color:#31d0aa
}

.wedding-team-photo {
  width:100%;
  margin-top:20px
}

.editing-note {
  margin:20px 0 0;
  color:#fff;
  text-align:center;
  text-decoration:underline;
  font:400 48px/58px OpenSansCondensed-Light,sans-serif
}

.partners-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:16px;
  margin-top:16px
}

.partners-grid article {
  height:156px;
  padding:1px;
  border:1px solid #a3a3a3;
  background:rgba(0,0,0,.9)
}

.partners-grid img {
  width:100%;
  height:100%;
  object-fit:contain
}


@media(max-width:900px) {
  .consent-dialog {
    inset:auto 10px 10px
  }

  .consent-dialog__content {
    display:block;
    padding:20px
  }

  .consent-dialog h2 {
    font-size:21px
  }

  .consent-dialog p {
    font-size:12px
  }

  .consent-dialog__actions {
    margin-top:17px
  }

  .consent-dialog__actions button {
    flex:1;
    padding:0 10px
  }

  .privacy-page__main {
    padding-top:34px
  }

  .privacy-hero {
    padding-bottom:32px
  }

  .privacy-hero h1 {
    font-size:36px
  }

  .privacy-hero p {
    font-size:17px
  }

  .legal-tabs {
    overflow-x:auto;
    margin-top:24px
  }

  .legal-tabs__button {
    flex:0 0 auto;
    padding:0 13px
  }

  .privacy-layout {
    display:block;
    padding-top:28px
  }

  .privacy-nav {
    position:static;
    display:flex;
    flex-direction:row;
    gap:8px;
    margin:0 0 38px;
    padding-bottom:10px;
    overflow-x:auto
  }

  .privacy-nav strong {
    display:none
  }

  .privacy-nav a {
    min-height:38px;
    display:flex;
    flex:0 0 auto;
    align-items:center;
    padding:0 12px;
    border:1px solid var(--privacy-line)
  }

  .privacy-nav a:last-child {
    border-bottom:1px solid var(--privacy-line)
  }

  .privacy-content>section {
    grid-template-columns:30px minmax(0,1fr);
    gap:8px;
    margin-bottom:32px;
    padding-bottom:32px
  }

  .privacy-content h2 {
    font-size:24px
  }

  .legal-document>.legal-document__title {
    margin-bottom:28px;
    font-size:28px
  }

  .legal-document>h2:not(.legal-document__title) {
    margin-top:32px;
    padding-top:32px
  }

  .privacy-content p,.privacy-content li {
    font-size:13px
  }

  .privacy-content .privacy-contact {
    padding:24px 18px
  }

  .internal-page {
  height:auto;
  min-height:100vh;
  overflow:auto
}

.internal-page .page-main {
  width:100%;
  height:auto;
  min-height:calc(100vh - 152px);
  padding:30px 20px 100px
}

.home-page .home-hero {
  height:calc(100vh - 80px)
}

.service-content {
  padding:18px 4px 4px
}

.service-packages,.service-packages-short {
  grid-template-columns:1fr
}

.album-gallery {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px
}

.album-heading h1 {
  font-size:28px;
  line-height:34px
}

.album-packages-cta {
  min-height:78px;
  margin-top:20px;
  padding:15px 18px
}

.album-packages-cta span {
  font-size:15px
}

.blog-article-page {
  padding:0
}

.blog-article-content {
  padding:26px 20px 70px;
  font-size:15px;
  line-height:23px
}

.blog-article-content h1 {
  font-size:25px;
  line-height:32px
}

.gallery-selector,.project-grid,.contact-info {
  grid-template-columns:1fr
}

.gallery-selector a {
  height:90px
}

.project-grid a {
  height:320px
}

.internal-page .values article {
  grid-template-columns:100px 1fr
}

.internal-page .values img {
  width:100px;
  height:100px
}

.contact-form {
  grid-template-columns:1fr;
  margin:30px 0
}

.contact-form h2,.contact-form textarea {
  grid-column:1
}

.category-footer {
  display:none
}

.category-footer::-webkit-scrollbar {
  display:none
}

.category-footer a {
  flex:0 0 120px;
  height:72px
}

.internal-page .video-projects-page {
  width:100%;
  padding:40px 16px 100px
}

.production-layout .page-main {
  width:100%;
  margin:40px auto 0;
  padding:40px 16px 100px
}

.video-projects-grid {
  grid-template-columns:1fr;
  row-gap:32px
}

.inquiry-page {
  min-height:0!important
}

.inquiry-form.quick-inquiry__form {
  width:100%
}

.blog-list article {
  height:auto;
  grid-template-columns:1fr
}

.kdt-blog-grid {
  grid-template-columns:1fr
}

.kdt-blog-card--featured {
  grid-column:auto;
  grid-template-columns:1fr
}

.kdt-blog-card--featured .kdt-blog-card__image {
  min-height:340px
}

.kdt-article__hero {
  min-height:520px
}

.kdt-article__heading h1 {
  font-size:42px
}

.blog-list article>img {
  height:173px
}

@media(max-width:600px) {
  .kdt-blog-index {
    padding:36px 16px 72px
  }

  .kdt-blog-heading h1 {
    font-size:46px
  }

  .kdt-blog-card__image,.kdt-blog-card--featured .kdt-blog-card__image {
    min-height:240px
  }

  .kdt-blog-card__body {
    padding:24px 20px
  }

  .kdt-blog-card__body h2,.kdt-blog-card--featured h2 {
    font-size:28px
  }

  .kdt-article__hero {
    min-height:500px
  }

  .kdt-article__heading {
    right:20px;
    bottom:32px;
    left:20px
  }

  .kdt-article__heading h1 {
    font-size:35px
  }

  .kdt-article__heading p {
    font-size:14px
  }

  .kdt-article__content {
    padding:42px 20px;
    font-size:15px
  }

  .kdt-article__share {
    align-items:flex-start;
    flex-direction:column;
    margin:0 20px;
    padding:24px 0
  }
}

.blog-list article>div {
  height:190px
}

.partners-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))
}

.editing-note {
  font-size:34px;
  line-height:42px
}


}

/* Service category index and detail pages */
.prices-category-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px;
  padding-bottom:24px
}

.prices-category-card {
  min-height:330px;
  grid-column:span 5;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  background:#071018
}

.prices-category-card:nth-child(4n+1),.prices-category-card:nth-child(4n) {
  grid-column:span 7
}

.prices-category-card>a,.prices-category-card img,.prices-category-card__shade {
  position:absolute;
  inset:0;
  width:100%;
  height:100%
}

.prices-category-card>a {
  color:#fff;
  text-decoration:none
}

.prices-category-card img {
  object-fit:cover;
  filter:saturate(.78) contrast(1.04);
  transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s ease
}

.prices-category-card__shade {
  background:linear-gradient(0deg,rgba(3,8,11,.96) 0,rgba(3,8,11,.46) 62%,rgba(3,8,11,.1) 100%);
  transition:background .35s ease
}

.prices-category-card>a:before {
  content:var(--category-index);
  position:absolute;
  z-index:2;
  top:24px;
  right:24px;
  color:rgba(255,255,255,.72);
  font:700 12px/1 Montserrat,sans-serif
}

.prices-category-card>a:after {
  content:'';
  position:absolute;
  z-index:2;
  top:0;
  right:0;
  left:0;
  height:3px;
  background:#31d0aa;
  transform:scaleX(.12);
  transform-origin:left;
  transition:transform .4s ease
}

.prices-category-card> a>div {
  position:absolute;
  z-index:2;
  right:30px;
  bottom:28px;
  left:30px
}

.prices-category-card small {
  color:#56c8ff;
  font:700 10px/1 Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:1.5px
}

.prices-category-card h2 {
  max-width:17ch;
  margin:9px 0 7px;
  color:#fff;
  font:700 34px/1 OpenSansCondensed-Light,sans-serif;
  text-transform:uppercase;
  letter-spacing:0
}

.prices-category-card p {
  max-width:54ch;
  margin:0;
  color:#c8d2d8;
  font:400 15px/1.4 OpenSansCondensed-Light,sans-serif
}

.prices-category-card b {
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:18px;
  color:#fff;
  font:700 11px/1 Montserrat,sans-serif;
  text-transform:uppercase
}

.prices-category-card b i {
  color:#31d0aa;
  font:400 20px/1 sans-serif;
  transition:transform .25s ease
}

.prices-category-card:hover img,.prices-category-card:focus-within img {
  filter:saturate(1) contrast(1.08);
  transform:scale(1.045)
}

.prices-category-card:hover>a:after,.prices-category-card:focus-within>a:after {
  transform:scaleX(1)
}

.prices-category-card:hover b i,.prices-category-card:focus-within b i {
  transform:translateX(5px)
}

.prices-category-page {
  padding-top:24px
}

.prices-breadcrumb {
  display:flex;
  gap:10px;
  margin-bottom:18px;
  color:#8999a2;
  font:600 11px/1 Montserrat,sans-serif;
  text-transform:uppercase
}

.prices-breadcrumb a {
  color:#56c8ff;
  text-decoration:none
}

.prices-category-hero {
  min-height:430px;
  position:relative;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  border-bottom:3px solid #31d0aa;
  background:#071018
}

.prices-category-hero>img,.prices-category-hero>span {
  width:100%;
  height:100%;
  position:absolute;
  inset:0
}

.prices-category-hero>img {
  object-fit:cover
}

.prices-category-hero>span {
  background:linear-gradient(0deg,rgba(3,8,11,.96),rgba(3,8,11,.2) 76%)
}

.prices-category-hero>div {
  width:min(760px,90%);
  position:relative;
  z-index:1;
  padding:44px
}

.prices-category-hero small,.prices-category-page__intro>span {
  color:#31d0aa;
  font:700 10px/1 Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:1.8px
}

.prices-category-hero h1 {
  margin:10px 0 12px;
  color:#fff;
  font:700 58px/.96 OpenSansCondensed-Light,sans-serif;
  text-transform:uppercase;
  letter-spacing:0
}

.prices-category-hero p {
  max-width:56ch;
  margin:0;
  color:#dce5e9;
  font:400 18px/1.45 OpenSansCondensed-Light,sans-serif
}

.prices-category-page__intro {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,.65fr);
  gap:12px 55px;
  padding:62px 0 32px
}

.prices-category-page__intro>span {
  grid-column:1/-1
}

.prices-category-page__intro h2 {
  margin:0;
  color:#fff;
  font:700 38px/1 OpenSansCondensed-Light,sans-serif;
  text-transform:uppercase;
  letter-spacing:0
}

.prices-category-page__intro p {
  margin:0;
  color:#b9c5cc;
  font:400 16px/1.5 OpenSansCondensed-Light,sans-serif
}

.service-catalog--detail .service-catalog__heading {
  display:none
}

.prices-back-link {
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin:0 0 38px;
  color:#fff;
  font:700 11px/1 Montserrat,sans-serif;
  text-decoration:none;
  text-transform:uppercase
}

.prices-back-link span {
  color:#56c8ff;
  font-size:19px
}

@media(max-width:900px) {
  .prices-category-grid {
    grid-template-columns:1fr;
    gap:12px
  }

  .prices-category-card,.prices-category-card:nth-child(4n+1),.prices-category-card:nth-child(4n) {
    min-height:310px;
    grid-column:auto
  }

  .prices-category-card> a>div {
    right:22px;
    bottom:22px;
    left:22px
  }

  .prices-category-card h2 {
    font-size:30px
  }

  .prices-category-card p {
    display:none
  }

  .prices-category-hero {
    min-height:420px
  }

  .prices-category-hero>div {
    width:100%;
    padding:26px 22px
  }

  .prices-category-hero h1 {
    font-size:43px
  }

  .prices-category-page__intro {
    grid-template-columns:1fr;
    padding:48px 0 24px
  }

  .prices-category-page__intro>span {
    grid-column:auto
  }
}
