:root{
  --site-header-h:72px;
  --site-header-h-lg:84px;
  --site-shell-max:1200px;
}

body.site-live-ready{
  scroll-behavior:smooth;
  background:linear-gradient(180deg,#f4faf8 0%,#ffffff 22rem);
}

.site-brand-logo{
  width:42px;
  height:42px;
  border-radius:14px;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 30px rgba(10,122,106,.18);
  border:1px solid rgba(255,255,255,.42);
  transition:transform .35s ease,box-shadow .35s ease,background .35s ease,border-color .35s ease;
}
.site-brand-logo img{width:100%;height:100%;object-fit:contain;padding:6px}

nav.fixed.top-0.site-premium-header{
  background:linear-gradient(180deg,rgba(8,24,38,.38),rgba(8,24,38,.16));
  border-bottom:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:none;
  transition:background .35s ease,border-color .35s ease,box-shadow .35s ease,backdrop-filter .35s ease;
}
nav.fixed.top-0.site-premium-header::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(12,135,115,.18),rgba(255,255,255,0));
  pointer-events:none;
  opacity:.9;
}
nav.fixed.top-0.site-premium-header .container{
  position:relative;
  z-index:1;
  padding-left:20px;
  padding-right:20px;
  min-height:var(--site-header-h);
  transition:min-height .3s ease;
}
nav.fixed.top-0.site-premium-header:not(.site-scrolled) a,
nav.fixed.top-0.site-premium-header:not(.site-scrolled) button,
nav.fixed.top-0.site-premium-header:not(.site-scrolled) span{
  text-shadow:0 1px 12px rgba(5,20,32,.22);
}
nav.fixed.top-0.site-premium-header:not(.site-scrolled) .container > a span.text-primary,
nav.fixed.top-0.site-premium-header:not(.site-scrolled) .container > a span.text-accent,
nav.fixed.top-0.site-premium-header:not(.site-scrolled) .hidden.lg\:flex.items-center.gap-1 a,
nav.fixed.top-0.site-premium-header:not(.site-scrolled) .hidden.lg\:flex.items-center.gap-3 button{
  color:#f8fffd !important;
}
nav.fixed.top-0.site-premium-header:not(.site-scrolled) .hidden.lg\:flex.items-center.gap-1 a:hover,
nav.fixed.top-0.site-premium-header:not(.site-scrolled) .hidden.lg\:flex.items-center.gap-1 a.bg-primary\/5,
nav.fixed.top-0.site-premium-header:not(.site-scrolled) .hidden.lg\:flex.items-center.gap-3 button:hover{
  background:rgba(255,255,255,.14) !important;
  color:#ffffff !important;
}
nav.fixed.top-0.site-premium-header:not(.site-scrolled) .tropical-gradient{
  box-shadow:0 12px 24px rgba(5,20,32,.16);
}
nav.fixed.top-0.site-premium-header:not(.site-scrolled) .site-brand-logo{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.3);
}
nav.fixed.top-0.site-premium-header.site-scrolled{
  background:rgba(255,255,255,.88);
  border-bottom:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 40px rgba(15,23,42,.08);
}
nav.fixed.top-0.site-premium-header.site-scrolled::before{opacity:.55}
nav.fixed.top-0.site-premium-header.site-scrolled .container{min-height:66px}
nav.fixed.top-0.site-premium-header.site-scrolled .container > a span.text-primary{color:#0f766e !important}
nav.fixed.top-0.site-premium-header.site-scrolled .container > a span.text-accent{color:#155e75 !important}
nav.fixed.top-0.site-premium-header.site-scrolled .hidden.lg\:flex.items-center.gap-1 a,
nav.fixed.top-0.site-premium-header.site-scrolled .hidden.lg\:flex.items-center.gap-3 button{color:rgba(15,23,42,.74) !important}
nav.fixed.top-0.site-premium-header.site-scrolled .hidden.lg\:flex.items-center.gap-1 a:hover,
nav.fixed.top-0.site-premium-header.site-scrolled .hidden.lg\:flex.items-center.gap-1 a.bg-primary\/5,
nav.fixed.top-0.site-premium-header.site-scrolled .hidden.lg\:flex.items-center.gap-3 button:hover{
  background:rgba(10,122,106,.08) !important;
  color:#0f766e !important;
}

.site-page-banner{
  position:relative;
  margin-top:calc(var(--site-header-h) * -1);
  padding-top:var(--site-header-h);
  overflow:hidden;
  min-height:clamp(300px,42vw,500px);
  border-radius:0 0 34px 34px;
  box-shadow:0 28px 70px rgba(15,23,42,.12);
  background:#092235;
  isolation:isolate;
}
.site-page-banner::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(7,24,40,.70) 0%,rgba(7,24,40,.38) 38%,rgba(10,122,106,.18) 100%);
  z-index:1;
}
.site-page-banner::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:140px;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.10) 36%,rgba(255,255,255,.94));
  z-index:1;
}
.site-page-banner__media{
  position:absolute;
  inset:-4% 0 0 0;
  width:100%;
  height:116%;
  object-fit:cover;
  transform:translateY(var(--banner-shift,0px)) scale(1.03);
  transition:transform .18s linear;
}
.site-page-banner__inner{
  position:relative;
  z-index:2;
  max-width:var(--site-shell-max);
  margin:0 auto;
  min-height:clamp(300px,42vw,500px);
  padding:calc(var(--site-header-h) + 10px) 20px 54px;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.site-page-banner__content{
  max-width:780px;
  padding:22px 24px;
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 22px 50px rgba(6,17,28,.20);
}
.site-page-banner__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.site-page-banner__title{
  font-size:clamp(1.85rem,4vw,3.35rem);
  line-height:1.02;
  margin:16px 0 10px;
  font-weight:800;
  letter-spacing:-.03em;
}
.site-page-banner__subtitle{
  max-width:680px;
  font-size:clamp(1rem,1.8vw,1.08rem);
  line-height:1.75;
  color:rgba(255,255,255,.92);
}

.site-partner-strip{
  padding:34px 20px 42px;
  background:linear-gradient(180deg,rgba(244,250,248,.86),#fff);
}
.site-partner-strip__inner{max-width:var(--site-shell-max);margin:0 auto}
.site-partner-strip__title{
  font-size:1rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#0a7a6a;
  font-weight:800;
  text-align:center;
  margin:0 0 18px;
}
.site-partner-strip__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px;align-items:stretch}
.site-partner-card{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(15,23,42,.06);
  border-radius:18px;
  padding:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:88px;
  box-shadow:0 12px 28px rgba(15,23,42,.05);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.site-partner-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(15,23,42,.08);border-color:rgba(10,122,106,.18)}
.site-partner-card img{max-width:100%;max-height:54px;object-fit:contain;filter:saturate(.96)}
.site-partner-card span{font-size:.86rem;font-weight:600;color:#475467;text-align:center}

.reveal-on-scroll{opacity:0;transform:translateY(28px);transition:opacity .72s ease,transform .72s ease}
.reveal-on-scroll.is-visible{opacity:1;transform:none}

body.site-live-ready #root > *:first-child{position:relative;z-index:2}
body.site-live-ready.site-has-page-banner #root > *:first-child{margin-top:0 !important;padding-top:clamp(1rem,2vw,1.5rem) !important}

@media (min-width:1024px){
  nav.fixed.top-0.site-premium-header .container{min-height:var(--site-header-h-lg)}
  .site-page-banner{margin-top:calc(var(--site-header-h-lg) * -1);padding-top:var(--site-header-h-lg)}
  .site-page-banner,
  .site-page-banner__inner{min-height:clamp(360px,42vw,560px)}
  .site-page-banner__inner{padding:calc(var(--site-header-h-lg) + 18px) 24px 62px}
  .site-page-banner__content{padding:26px 28px}
}

@media (max-width:767px){
  :root{--site-header-h:66px}
  .site-page-banner{margin-top:calc(var(--site-header-h) * -1);padding-top:var(--site-header-h);min-height:280px;border-radius:0 0 24px 24px}
  .site-page-banner__inner{min-height:280px;padding:calc(var(--site-header-h) + 6px) 16px 30px}
  .site-page-banner__content{padding:18px 16px;border-radius:20px;max-width:none}
  .site-page-banner__title{font-size:clamp(1.55rem,8vw,2.2rem)}
  .site-page-banner__subtitle{line-height:1.65}
  .site-partner-strip__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-brand-logo{width:38px;height:38px;border-radius:12px}
  nav.fixed.top-0.site-premium-header.site-scrolled .container{min-height:62px}
}


body.site-live-ready .site-home-hero{
  position:relative;
  margin-top:0 !important;
  padding-top:0 !important;
  min-height:100vh;
  border-radius:0 0 34px 34px;
  overflow:hidden;
  box-shadow:0 28px 70px rgba(15,23,42,.12);
}
body.site-live-ready .site-home-hero .container{
  padding-top:calc(var(--site-header-h) + 18px);
}
@media (min-width:1024px){
  body.site-live-ready .site-home-hero .container{
    padding-top:calc(var(--site-header-h-lg) + 10px);
  }
}
@media (max-width:767px){
  body.site-live-ready .site-home-hero{
    border-radius:0 0 24px 24px;
    min-height:92vh;
  }
  body.site-live-ready .site-home-hero .container{
    padding-top:calc(var(--site-header-h) + 8px);
  }
}

/* force all menu pages to sit tight under the header */
body.site-live-ready.site-has-inline-banner #root > .site-route-shell,
body.site-live-ready.site-has-inline-banner #root > .site-route-shell.pt-16,
body.site-live-ready.site-has-inline-banner #root > .site-route-shell.lg\:pt-20{
  padding-top:0 !important;
  margin-top:0 !important;
}

body.site-live-ready.site-has-inline-banner .site-page-banner-prelude-hidden{
  display:none !important;
}

body.site-live-ready.site-has-inline-banner .site-page-banner-inline{
  position:relative;
  margin-top:calc(var(--site-header-h) * -1) !important;
  padding:calc(var(--site-header-h) + 18px) 0 24px !important;
  min-height:clamp(170px,22vw,240px);
  overflow:hidden;
  background:transparent !important;
  border-radius:0 0 34px 34px;
  box-shadow:0 28px 70px rgba(15,23,42,.12);
  display:flex;
  align-items:center;
  isolation:isolate;
}
body.site-live-ready.site-has-inline-banner .site-page-banner-inline::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(135deg,rgba(7,24,40,.72) 0%,rgba(7,24,40,.38) 42%,rgba(10,122,106,.18) 100%),
    var(--page-banner-image, url("hero-bali-Y7l-3ioR.jpg"));
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  z-index:0;
}
body.site-live-ready.site-has-inline-banner .site-page-banner-inline::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:90px;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.10) 42%,rgba(255,255,255,.92));
  z-index:0;
}
body.site-live-ready.site-has-inline-banner .site-page-banner-inline__inner{
  position:relative;
  z-index:1;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
body.site-live-ready.site-has-inline-banner .site-page-banner-inline > *{
  position:relative;
  z-index:1;
}
body.site-live-ready.site-has-inline-banner .site-page-banner-inline .container{
  max-width:var(--site-shell-max);
}
body.site-live-ready.site-has-inline-banner .site-page-banner-inline h1,
body.site-live-ready.site-has-inline-banner .site-page-banner-inline h2,
body.site-live-ready.site-has-inline-banner .site-page-banner-inline h3{
  color:#fff !important;
  text-shadow:0 12px 24px rgba(7,24,40,.28);
}
body.site-live-ready.site-has-inline-banner .site-page-banner-inline p,
body.site-live-ready.site-has-inline-banner .site-page-banner-inline .text-muted-foreground,
body.site-live-ready.site-has-inline-banner .site-page-banner-inline .text-foreground\/80{
  color:rgba(255,255,255,.88) !important;
}
body.site-live-ready.site-has-inline-banner .site-page-banner-inline .mx-auto.text-center,
body.site-live-ready.site-has-inline-banner .site-page-banner-inline .container.mx-auto.text-center{
  max-width:780px;
  margin-left:auto;
  margin-right:auto;
  padding:0 20px;
}
body.site-live-ready.site-has-inline-banner .site-page-banner-inline .container.mx-auto.text-center > *:last-child{
  margin-bottom:0;
}
body.site-live-ready.site-has-inline-banner .site-page-banner-inline + section{
  position:relative;
  z-index:2;
}

@media (min-width:1024px){
  body.site-live-ready.site-has-inline-banner .site-page-banner-inline{
    margin-top:calc(var(--site-header-h-lg) * -1) !important;
    padding:calc(var(--site-header-h-lg) + 20px) 0 30px !important;
    min-height:clamp(190px,20vw,260px);
  }
}

@media (max-width:767px){
  body.site-live-ready.site-has-inline-banner .site-page-banner-inline{
    margin-top:calc(var(--site-header-h) * -1) !important;
    padding:calc(var(--site-header-h) + 16px) 0 20px !important;
    min-height:160px;
    border-radius:0 0 24px 24px;
  }
}

body.site-blog-detail-route .site-page-banner,
body.site-blog-detail-route .site-partner-strip {
  display: none;
}

.site-blog-detail-page {
  background: linear-gradient(180deg, rgba(248,250,252,1) 0%, rgba(255,255,255,1) 100%);
}

.site-blog-detail-hero {
  position: relative;
  margin-top: 0;
  padding-top: clamp(7rem, 12vw, 9.5rem);
  padding-bottom: clamp(2.5rem, 4vw, 4rem);
  min-height: min(42vh, 460px);
  overflow: hidden;
  background-image: linear-gradient(135deg, rgba(7,24,40,.76) 0%, rgba(7,24,40,.48) 48%, rgba(10,122,106,.22) 100%), var(--blog-hero-image);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.site-blog-detail-hero__overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 36%);
  pointer-events: none;
}

.site-blog-detail-hero__inner {
  position: relative;
  max-width: 860px;
  color: #fff;
  padding: clamp(1.25rem, 2.2vw, 2rem);
  border-radius: 24px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(14px);
  box-shadow: 0 22px 60px rgba(0,0,0,.18);
}

.site-blog-detail__crumbs,
.site-blog-detail__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  align-items: center;
}

.site-blog-detail__crumbs {
  margin-bottom: .9rem;
  font-size: .9rem;
  opacity: .95;
}

.site-blog-detail__crumbs a,
.site-blog-crumb-link {
  color: #fff;
  text-decoration: none;
}

.site-blog-crumb-link {
  appearance: none;
  background: transparent;
  border: 0;
  padding: 0;
  font: inherit;
  cursor: pointer;
}

.site-blog-pill,
.site-blog-meta {
  display: inline-flex;
  align-items: center;
  padding: .45rem .8rem;
  border-radius: 999px;
  font-size: .86rem;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.18);
}

.site-blog-detail__meta {
  margin-bottom: 1rem;
}

.site-blog-detail__title {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -.03em;
}

.site-blog-detail__excerpt {
  margin: 1rem 0 0;
  max-width: 720px;
  font-size: clamp(1rem, 1.6vw, 1.16rem);
  color: rgba(255,255,255,.92);
}

.site-blog-detail-body-section {
  position: relative;
  z-index: 2;
  margin-top: -2rem;
  padding: 0 0 3rem;
}

.site-blog-detail-card {
  position: relative;
  z-index: 5;
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 28px;
  box-shadow: 0 24px 64px rgba(15,23,42,.10);
  padding: clamp(1.25rem, 3vw, 2.5rem);
}

.site-blog-detail-content {
  color: #0f172a;
  line-height: 1.8;
}

.site-blog-detail-content h1,
.site-blog-detail-content h2,
.site-blog-detail-content h3,
.site-blog-detail-content h4 {
  color: #06243a;
  margin-top: 1.6em;
  margin-bottom: .55em;
  line-height: 1.22;
}

.site-blog-detail-content p,
.site-blog-detail-content li {
  font-size: 1rem;
}

.site-blog-detail-content img {
  width: 100%;
  height: auto;
  border-radius: 22px;
}

.site-blog-detail-footer {
  position: relative;
  z-index: 12;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 2rem;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(15,23,42,.08);
}

.site-blog-back-link {
  position: relative;
  z-index: 20;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  appearance: none;
  pointer-events: auto;
  cursor: pointer;
  background: transparent;
  border: 0;
  padding: 0;
  color: #0a7a6a;
  font: inherit;
  font-weight: 700;
  text-decoration: none;
}

.site-blog-related {
  color: #475569;
}

@media (max-width: 768px) {
  .site-blog-detail-hero {
    padding-top: 6.75rem;
    min-height: 320px;
  }

  .site-blog-detail-body-section {
    margin-top: -1rem;
  }

  .site-blog-detail-footer {
    flex-direction: column;
    align-items: flex-start;
  }
}


.site-demo-version-badge{
  position:fixed;
  top:92px;
  right:18px;
  z-index:9999;
  background:#f97316;
  color:#fff;
  border-radius:999px;
  padding:9px 14px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  box-shadow:0 14px 34px rgba(249,115,22,.34);
  pointer-events:none;
}
.site-demo-login-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:.55rem .9rem;
  margin-left:.25rem;
  background:#f97316;
  color:#fff !important;
  font-size:.875rem;
  font-weight:800;
  box-shadow:0 12px 24px rgba(249,115,22,.22);
  text-shadow:none !important;
  white-space:nowrap;
}
.site-demo-login-link:hover{filter:brightness(1.04);transform:translateY(-1px)}
@media(max-width:768px){
  .site-demo-version-badge{top:auto;right:12px;bottom:14px;font-size:10px;padding:8px 10px}
}
