:root{
  --cq-navy:#04131c;
  --cq-blue:#0F3D5E;
  --cq-cyan:#1CA7C9;
  --cq-green:#178C6B;
  --cq-soft:#f4fafb;
}

html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at 85% 12%, rgba(28,167,201,.1), transparent 28rem),
    linear-gradient(180deg,#f8fcfd 0%,#eef6f8 100%);
  color:#0f172a;
}

main > section:not(.hero-modern):not(.hero-bg):not(.home-contact-section){
  position:relative;
  isolation:isolate;
}

.hero-bg{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 42%, rgba(28,167,201,.24), transparent 30%),
    radial-gradient(circle at 20% 18%, rgba(23,140,107,.16), transparent 26%),
    linear-gradient(135deg,#04131c 0%,#082839 54%,#0F3D5E 100%) !important;
}

.hero-bg::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.12;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}

.hero-bg > *{
  position:relative;
  z-index:1;
}

.hero-bg h1{
  letter-spacing:-.035em;
}

.hero-bg aside,
.hero-bg .rounded-\[1\.75rem\],
.hero-bg .rounded-\[2rem\]{
  border-color:rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.1) !important;
  color:#fff !important;
  box-shadow:0 28px 90px rgba(0,0,0,.34) !important;
  backdrop-filter:blur(18px);
}

.hero-bg aside *{
  color:inherit;
}

.hero-bg aside p,
.hero-bg aside .text-slate-600,
.hero-bg aside .text-slate-700,
.hero-bg aside .text-slate-900,
.hero-bg aside .text-slate-950{
  color:rgba(255,255,255,.78) !important;
}

.hero-bg aside strong,
.hero-bg aside h2,
.hero-bg aside .font-black{
  color:#fff !important;
}

main > section:not(.hero-modern):not(.hero-bg):not(.home-contact-section){
  padding-top:4.5rem;
  padding-bottom:4.5rem;
  border-top:1px solid rgba(15,61,94,.08);
}

main > section:not(.hero-modern):not(.hero-bg):not(.home-contact-section):nth-of-type(even){
  background:
    radial-gradient(circle at 8% 18%, rgba(28,167,201,.09), transparent 18rem),
    linear-gradient(135deg,#ffffff 0%,#f3fbfd 100%) !important;
}

main > section:not(.hero-modern):not(.hero-bg):not(.home-contact-section):nth-of-type(odd){
  background:
    radial-gradient(circle at 92% 18%, rgba(23,140,107,.08), transparent 18rem),
    linear-gradient(135deg,#eef7fa 0%,#f8fcfd 100%) !important;
}

main > section:not(.hero-modern):not(.hero-bg):not(.home-contact-section)::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.42;
  background:linear-gradient(90deg, transparent, rgba(28,167,201,.08), transparent);
  transform:translateY(-100%);
}

main > section:not(.hero-modern):not(.hero-bg):not(.home-contact-section):nth-of-type(even) > .mx-auto > .mb-9,
main > section:not(.hero-modern):not(.hero-bg):not(.home-contact-section):nth-of-type(even) > .mx-auto > .mb-10,
main > section:not(.hero-modern):not(.hero-bg):not(.home-contact-section):nth-of-type(even) > .mx-auto > .max-w-3xl:first-child,
main > section:not(.hero-modern):not(.hero-bg):not(.home-contact-section):nth-of-type(even) > .mx-auto > div:first-child:not(.grid){
  margin-left:auto;
  text-align:right;
}

main > section:not(.hero-modern):not(.hero-bg):not(.home-contact-section):nth-of-type(odd) > .mx-auto > .mb-9,
main > section:not(.hero-modern):not(.hero-bg):not(.home-contact-section):nth-of-type(odd) > .mx-auto > .mb-10,
main > section:not(.hero-modern):not(.hero-bg):not(.home-contact-section):nth-of-type(odd) > .mx-auto > .max-w-3xl:first-child,
main > section:not(.hero-modern):not(.hero-bg):not(.home-contact-section):nth-of-type(odd) > .mx-auto > div:first-child:not(.grid){
  margin-right:auto;
  text-align:left;
}

main > section:not(.hero-modern):not(.hero-bg):not(.home-contact-section):nth-of-type(even) > .mx-auto > .mb-9.md\:flex-row,
main > section:not(.hero-modern):not(.hero-bg):not(.home-contact-section):nth-of-type(even) > .mx-auto > .mb-10.md\:flex-row{
  align-items:flex-end;
}

main > section:not(.hero-modern):not(.hero-bg):not(.home-contact-section):nth-of-type(even) > .mx-auto > .mb-9.md\:flex-row > div:first-child,
main > section:not(.hero-modern):not(.hero-bg):not(.home-contact-section):nth-of-type(even) > .mx-auto > .mb-10.md\:flex-row > div:first-child{
  margin-left:auto;
  text-align:right;
}

main > section:not(.hero-modern):not(.hero-bg):not(.home-contact-section) h2,
main > section:not(.hero-modern):not(.hero-bg):not(.home-contact-section) h3{
  letter-spacing:-.015em;
}

article,
aside,
.shadow-sm,
.ring-1{
  border-radius:1.25rem;
}

main article,
main aside:not(.hero-bg aside),
main .ring-1,
main .border-slate-200{
  border-color:rgba(15,61,94,.1) !important;
}

main article,
main aside:not(.hero-bg aside),
main .bg-white,
main .bg-slate-50{
  box-shadow:0 16px 45px rgba(15,61,94,.08);
}

main > section.bg-white,
main > section.bg-slate-50,
main > section.bg-slate-100{
  box-shadow:none;
}

main a.rounded-full,
main a.rounded-3xl{
  min-height:44px;
}

main > section.home-contact-section{
  background:
    radial-gradient(circle at 82% 22%, rgba(28,167,201,.22), transparent 24rem),
    linear-gradient(135deg,#04131c 0%,#0F3D5E 58%,#082839 100%) !important;
  color:#fff;
}

main > section.home-contact-section p{
  color:rgba(255,255,255,.78);
}

main > section.home-contact-section h2,
main > section.home-contact-section .font-black{
  color:#fff;
}

main > section.home-contact-section .rounded-3xl{
  background:rgba(255,255,255,.1) !important;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 45px rgba(0,0,0,.18);
}

.site-footer{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 24%, rgba(28,167,201,.18), transparent 24rem),
    linear-gradient(135deg,#031018 0%,#061c28 55%,#02070a 100%);
  color:#fff;
}

.site-footer::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.1;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}

.site-footer > *{
  position:relative;
  z-index:1;
}

.site-footer a{
  color:rgba(255,255,255,.78);
  transition:color .2s ease, transform .2s ease;
}

.site-footer a:hover{
  color:#fff;
}

@media(max-width:768px){
  main > section:not(.hero-modern):not(.hero-bg){
    padding-top:3.5rem;
    padding-bottom:3.5rem;
  }
}
