@font-face {
  font-family: UniversalSans-600;
  src: url(fonts/UniversalSans-v1-2-0-0-0-212112132112-02-600.woff2)
      format("woff2"),
    url(fonts/UniversalSans-v1-2-0-0-0-212112132112-02-600.woff) format("woff");
  font-style: normal;
  font-weight: 600;
  font-display: block;
}
@font-face {
  font-family: UniversalSans-750;
  src: url(fonts/UniversalSans-v1-2-0-0-0-212112132112-02-750.woff2)
      format("woff2"),
    url(fonts/UniversalSans-v1-2-0-0-0-212112132112-02-750.woff) format("woff");
  font-style: normal;
  font-weight: 750;
  font-display: block;
}
.colspan-1 {
  width: 7.1581196581%;
}
.colspan-1of1 {
  width: 100%;
}
.colspan-2 {
  width: 15.5982905983%;
}
.colspan-1of2 {
  width: 45.8904109589%;
}
.colspan-2of2 {
  width: 100%;
}
.colspan-3 {
  width: 24.0384615385%;
}
.colspan-1of3 {
  width: 29.7777777778%;
}
.colspan-2of3 {
  width: 64.8888888889%;
}
.colspan-3of3 {
  width: 100%;
}
.colspan-4 {
  width: 32.4786324786%;
}
.colspan-1of4 {
  width: 22.0394736842%;
}
.colspan-2of4 {
  width: 48.0263157895%;
}
.colspan-3of4 {
  width: 74.0131578947%;
}
.colspan-4of4 {
  width: 100%;
}
.colspan-5 {
  width: 40.9188034188%;
}
.colspan-1of5 {
  width: 17.4934725849%;
}
.colspan-2of5 {
  width: 38.1201044386%;
}
.colspan-3of5 {
  width: 58.7467362924%;
}
.colspan-4of5 {
  width: 79.3733681462%;
}
.colspan-5of5 {
  width: 100%;
}
.colspan-6 {
  width: 49.358974359%;
}
.colspan-1of6 {
  width: 14.5021645022%;
}
.colspan-2of6 {
  width: 31.6017316017%;
}
.colspan-3of6 {
  width: 48.7012987013%;
}
.colspan-4of6 {
  width: 65.8008658009%;
}
.colspan-5of6 {
  width: 82.9004329004%;
}
.colspan-6of6 {
  width: 100%;
}
.colspan-7 {
  width: 57.7991452991%;
}
.colspan-1of7 {
  width: 12.3844731978%;
}
.colspan-2of7 {
  width: 26.9870609982%;
}
.colspan-3of7 {
  width: 41.5896487985%;
}
.colspan-4of7 {
  width: 56.1922365989%;
}
.colspan-5of7 {
  width: 70.7948243993%;
}
.colspan-6of7 {
  width: 85.3974121996%;
}
.colspan-7of7 {
  width: 100%;
}
.colspan-8 {
  width: 66.2393162393%;
}
.colspan-1of8 {
  width: 10.8064516129%;
}
.colspan-2of8 {
  width: 23.5483870968%;
}
.colspan-3of8 {
  width: 36.2903225806%;
}
.colspan-4of8 {
  width: 49.0322580645%;
}
.colspan-5of8 {
  width: 61.7741935484%;
}
.colspan-6of8 {
  width: 74.5161290323%;
}
.colspan-7of8 {
  width: 87.2580645161%;
}
.colspan-8of8 {
  width: 100%;
}
.colspan-9 {
  width: 74.6794871795%;
}
.colspan-1of9 {
  width: 9.5851216023%;
}
.colspan-2of9 {
  width: 20.886981402%;
}
.colspan-3of9 {
  width: 32.1888412017%;
}
.colspan-4of9 {
  width: 43.4907010014%;
}
.colspan-5of9 {
  width: 54.7925608011%;
}
.colspan-6of9 {
  width: 66.0944206009%;
}
.colspan-7of9 {
  width: 77.3962804006%;
}
.colspan-8of9 {
  width: 88.6981402003%;
}
.colspan-9of9 {
  width: 100%;
}
.colspan-10 {
  width: 83.1196581197%;
}
.colspan-1of10 {
  width: 8.6118251928%;
}
.colspan-2of10 {
  width: 18.766066838%;
}
.colspan-3of10 {
  width: 28.9203084833%;
}
.colspan-4of10 {
  width: 39.0745501285%;
}
.colspan-5of10 {
  width: 49.2287917738%;
}
.colspan-6of10 {
  width: 59.383033419%;
}
.colspan-7of10 {
  width: 69.5372750643%;
}
.colspan-8of10 {
  width: 79.6915167095%;
}
.colspan-9of10 {
  width: 89.8457583548%;
}
.colspan-10of10 {
  width: 100%;
}
.colspan-11 {
  width: 91.5598290598%;
}
.colspan-1of11 {
  width: 7.8179696616%;
}
.colspan-2of11 {
  width: 17.0361726954%;
}
.colspan-3of11 {
  width: 26.2543757293%;
}
.colspan-4of11 {
  width: 35.4725787631%;
}
.colspan-5of11 {
  width: 44.690781797%;
}
.colspan-6of11 {
  width: 53.9089848308%;
}
.colspan-7of11 {
  width: 63.1271878646%;
}
.colspan-8of11 {
  width: 72.3453908985%;
}
.colspan-9of11 {
  width: 81.5635939323%;
}
.colspan-10of11 {
  width: 90.7817969662%;
}
.colspan-11of11,
.colspan-12 {
  width: 100%;
}
.colspan-1of12 {
  width: 7.1581196581%;
}
.colspan-2of12 {
  width: 15.5982905983%;
}
.colspan-3of12 {
  width: 24.0384615385%;
}
.colspan-4of12 {
  width: 32.4786324786%;
}
.colspan-5of12 {
  width: 40.9188034188%;
}
.colspan-6of12 {
  width: 49.358974359%;
}
.colspan-7of12 {
  width: 57.7991452991%;
}
.colspan-8of12 {
  width: 66.2393162393%;
}
.colspan-9of12 {
  width: 74.6794871795%;
}
.colspan-10of12 {
  width: 83.1196581197%;
}
.colspan-11of12 {
  width: 91.5598290598%;
}
.colspan-12of12 {
  width: 100%;
}
@media only screen and (max-width: 750px) {
  .m-colspan-12 {
    width: 100%;
  }
}
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
  display: block;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:after,
blockquote:before,
q:after,
q:before {
  content: "";
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
body,
html {
  height: 100%;
  font-family: sans-serif;
}
a:focus,
button:focus,
div:focus,
input:focus,
select:focus,
span:focus,
textarea:focus {
  outline: none;
}
*,
:after,
:before {
  box-sizing: border-box;
}
input {
  border-radius: 0;
  -webkit-appearance: none;
}
body {
  -webkit-font-smoothing: antialiased;
  -webkit-overflow-scrolling: touch;
}
html {
  font-size: 1.25vw;
}
body {
  font-family: UniversalSans-600;
  font-size: 1rem;
  font-weight: 600;
  -ms-scroll-chaining: none;
  overscroll-behavior: none;
}
a {
  color: inherit;
  text-decoration: none;
  display: inline-block;
  line-height: 1;
  border-bottom: 2px solid transparent;
  transition: border-color 0.2s;
}
a:hover {
  border-color: #000;
}
body.idle a:hover {
  border-color: #F2F2F2;
}
.lrg-txt {
  font-size: 4.16rem;
  line-height: 1;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 1500px) {
  a {
    border-bottom: 1px solid transparent;
  }
}
@media only screen and (max-width: 750px) {
  html {
    font-size: 2.9055690073vw;
  }
  body {
    font-size: 1.5rem;
  }
  .lrg-txt {
    font-size: 3.5rem;
  }
  a {
    border-bottom: 1px solid transparent;
  }
}
.container {
  padding: 0 1rem;
}
.cols {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.more-less-block {
  position: relative;
  height: 1em;
}
.more-less-block .less,
.more-less-block .more {
  position: absolute;
  top: -0.1em;
}
.more-less-block .less {
  left: 0;
}
.more-less-block .more {
  right: 0;
}
.less-more {
  width: 100%;
  height: 100%;
  overflow: auto;
  position: absolute;
  white-space: nowrap;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.less-more::-webkit-scrollbar {
  display: none;
}
.infinite-scroll-elem:first-child {
  margin-top: 100vh;
}
.hide-desktop {
  display: none;
}
body {
  transition: background-color 0.6s 0s, color 0.6s 0s;
}
body.idle {
  background: #000;
  color: #F2F2F2;
}
@media only screen and (max-width: 750px) {
  .hide-mobile {
    display: none;
  }
  .more-less-block {
    height: 2em;
  }
  .more-less-block .less,
  .more-less-block .more {
    left: 0;
  }
  .more-less-block .less span,
  .more-less-block .more span {
    display: inline-block;
    width: 2.35em;
  }
  .more-less-block .less {
    top: 0;
  }
  .more-less-block .more {
    top: 1em;
  }
  .hide-desktop {
    display: block;
  }
}
body {
  background: #F2F2F2;
}
.site-header {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background: inherit;
  color: inherit;
  display: flex;
  padding: 0.875rem 1.35rem;
  z-index: 2;
}
.site-header h1 {
  font-family: UniversalSans-750;
  text-transform: uppercase;
}
.site-header .menu {
  text-align: right;
}
.site-header ul li {
  display: inline-block;
  position: relative;
}
.site-header ul li:after {
  content: ", ";
}
.site-header ul li:last-child:after {
  display: none;
}
.site-header .menu-wrap,
.site-header address {
  background: inherit;
  color: inherit;
}
.site-header address {
  display: none;
  position: absolute;
  white-space: nowrap;
  left: 14.16rem;
  width: 45rem;
}
.site-header address br {
  display: none;
}
.site-header .coming-soon {
  padding-left: 0.35rem;
}
body.contact-open .site-header address {
  display: block;
}
body.contact-open .contact-btn {
  border-color: #000;
}
body.contact-open.idle .contact-btn {
  border-color: #F2F2F2;
}
.subscribe-form {
  position: absolute;
  right: 0;
  background: #F2F2F2;
  display: none;
  width: 18.75rem;
  top: 0;
}
.subscribe-form form {
  display: flex;
}
.subscribe-form button,
.subscribe-form input {
  background: none;
  padding: 0;
  margin: 0;
  border: none;
  font: inherit;
}
.subscribe-form input {
  border-bottom: 2px solid #000;
  flex: 1;
  color: #000;
}
.subscribe-form input:-ms-input-placeholder {
  opacity: 1;
  color: #000;
  -ms-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.subscribe-form input::-moz-placeholder {
  opacity: 1;
  color: #000;
  -moz-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.subscribe-form input::placeholder {
  opacity: 1;
  color: #000;
  transition: opacity 0.3s;
}
.subscribe-form input:focus:-ms-input-placeholder {
  opacity: 0;
}
.subscribe-form input:focus::-moz-placeholder {
  opacity: 0;
}
.subscribe-form input:focus::placeholder {
  opacity: 0;
}
.subscribe-open .subscribe-form {
  display: block;
}
@media only screen and (max-width: 750px) {
  .toggle-menu {
    margin: 0;
    padding: 0;
    font: inherit;
    background: none;
    cursor: pointer;
    z-index: 2;
  }
  .menu-open .menu-wrap,
  .toggle-menu {
    display: block;
  }
  .site-logo {
    z-index: 2;
  }
  .menu-wrap {
    display: none;
    position: absolute;
    bottom: 0;
    height: 31.6rem;
    width: 100%;
    left: 0;
    z-index: 1;
    padding: 1rem 1.3rem;
  }
  .site-header .coming-soon {
    margin: 0 0 1em;
    display: block;
    padding: 0;
  }
  .site-header .menu-wrap {
    background: #F9BCD8;
    transition: background-color 0.6s 0s;
  }
  .site-header address {
    display: block;
    margin: 0 0 1em;
    position: relative;
    background: none;
    left: auto;
    width: auto;
  }
  .site-header address br {
    display: block;
  }
  .site-header .menu {
    text-align: left;
  }
  .site-header ul li {
    display: block;
  }
  .site-header ul li:after {
    display: none;
  }
  .site-header .subscribe-form {
    left: 0;
    top: 0;
    background: #F9BCD8;
    width: 100%;
  }
  .site-header .subscribe-form form {
    display: block;
  }
  .site-header .subscribe-form input {
    border-bottom: 1px solid #000;
    width: 100%;
  }
  body.idle .site-header .menu-wrap {
    background: #000;
  }
}

/* --- DEFINITIVE GRADIENT CSS (FOR main.css) --- */

/* Root variable for footer height */
:root { --ll-nav-height: 0px; }

/* Main page background color */
body { background:#F2F2F2; }

/* Gradient Band Container */
.ll-bg {
  position: fixed;
  left: 0; right: 0;
  bottom: var(--ll-nav-height);
  height: 50vh;           /* Final polished height for good presence */
  z-index: -1;
  pointer-events: none;
  overflow: hidden;

  /* Mask to create the soft fade at the top of the band */
  -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,1) 40%, rgba(0,0,0,0) 100%);
          mask-image: linear-gradient(to top, rgba(0,0,0,1) 40%, rgba(0,0,0,0) 100%);
}

/* Individual Gradient Layers (controlled by JS) */
.ll-bg .ll-layer {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  opacity: 0;
  /* This transition creates the smooth cross-fade when the .is-active class is toggled */
  transition: opacity 3000ms cubic-bezier(.4,0,.2,1);
  will-change: opacity;
}

/* The class that JavaScript will add to show a layer */
.ll-bg .ll-layer.is-active {
  opacity: 1;
}

/* === Trailing Cursor (desktop only) === */
.cursor {
  pointer-events: none;
  position: fixed;
  inset: 0 auto auto 0; /* anchor at top-left for absolute positioning of children */
  mix-blend-mode: difference;
  z-index: 999; /* High enough to be on top, but can be adjusted if needed */
}

.circle {
  position: absolute;
  width: 22px; /* Changed from 26px */
  height: 22px; /* Changed from 26px */
  border-radius: 50%;
  background-color: #fff;
  will-change: transform, left, top;
}

/* Hide cursor UI on devices that don't have a fine/hover pointer */
@media (hover: none), (pointer: coarse) {
  .cursor {
    display: none;
  }
}

/* Hide the native cursor on desktop so our trail is the only thing visible */
@media (hover: hover) and (pointer: fine) {
  html.cursor-ready body {
    cursor: none;
  }
}

/*# sourceMappingURL=main.css.map*/
