/* Kalyste refinements: native Salient shell, light text wordmarks. */
@font-face { font-family:"Kalyste Wordmark"; src:url("fonts/kalyste-wordmark-light.woff2") format("woff2"); font-style:normal; font-weight:300; font-display:swap; }
.kl-wordmark { display:inline-flex; flex-direction:column; align-items:flex-start; text-decoration:none; color:inherit; }
.kl-wordmark__name { font-family:"Kalyste Wordmark","Times New Roman",Times,serif; font-weight:300; font-synthesis:none; font-size:24px; line-height:1; letter-spacing:.14em; white-space:nowrap; }
.kl-wordmark__rule { display:block; width:100%; height:.75px; margin-top:7px; background:currentColor; }
.kl-wordmark__tagline { display:block; margin-top:6px; font-family:Arial,sans-serif; font-size:6.5px; font-weight:400; line-height:1.4; letter-spacing:.025em; white-space:nowrap; }
#footer-outer .kl-wordmark--footer { color:#fff; max-width:220px; }
#footer-outer .kl-wordmark--footer .kl-wordmark__name { color:inherit; }
#header-outer #logo { visibility:hidden; }
#header-outer #top > .container > .row > .col.span_3 { position:relative; }
#header-outer .kl-wordmark--header { position:absolute; left:0; top:50%; transform:translateY(-50%); justify-content:center; min-height:44px; max-width:200px; color:#111; }
#header-outer .kl-wordmark--header .kl-wordmark__name { font-size:24px; }
#header-outer.transparent .kl-wordmark--header { color:#fff; }
#header-outer.transparent.scrolled-down .kl-wordmark--header { color:#111; }
.kl-wordmark:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
@media (min-width:1000px) and (hover:hover) and (pointer:fine) {
  #header-outer .kl-wordmark--header .kl-wordmark__name { transform-origin:left center; transition:transform .28s ease,opacity .28s ease; }
  #header-outer .kl-wordmark--header:hover .kl-wordmark__name { transform:scale(1.045); }
}

/* Allocate useful width to the form instead of four equally narrow columns. */
#footer-outer #footer-widgets > .container > .row { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.65fr) minmax(0,.65fr) minmax(0,1.65fr); gap:44px; align-items:start; }
#footer-outer #footer-widgets > .container > .row::before,
#footer-outer #footer-widgets > .container > .row::after { content:none; }
#footer-outer #footer-widgets > .container > .row > .col { width:auto!important; float:none; margin:0!important; }
#footer-outer #block-25 .wp-block-column:first-child:empty,
#footer-outer #block-26 .wp-block-column:first-child:empty { display:none; }
#footer-outer #block-25 .wp-block-column,
#footer-outer #block-26 .wp-block-column { flex-basis:100%!important; }
#footer-outer #block-25 .wp-block-columns,
#footer-outer #block-26 .wp-block-columns { gap:0; }
#footer-outer #block-27 { margin-bottom:0; }
#footer-outer #block-28 > p:empty { display:none; }

/* Match the FJ footer's smaller type hierarchy and quiet link color. */
#footer-outer #footer-widgets h3 { margin-bottom:24px; color:#fff; font-size:14px; font-weight:600; line-height:1.4; letter-spacing:0; }
#footer-outer #footer-widgets .widget p { color:rgba(255,255,255,.55); font-size:13px; line-height:1.75; }
#footer-outer #block-25 li,
#footer-outer #block-26 li { margin:0 0 10px; padding:0; font-size:13px; line-height:1.55; }
#footer-outer #footer-widgets #block-25 li a,
#footer-outer #footer-widgets #block-26 li a { color:rgba(255,255,255,.55)!important; font-size:13px!important; font-weight:400!important; line-height:1.55; }
#footer-outer #footer-widgets #block-25 li a:hover,
#footer-outer #footer-widgets #block-26 li a:hover,
#footer-outer #footer-widgets #block-25 li a:focus-visible,
#footer-outer #footer-widgets #block-26 li a:focus-visible { color:#fff!important; }

#footer-outer #block-28,
#footer-outer div[id^="wpcf7-f23901-"] { scroll-margin-top:150px; }
#footer-outer .footer-form.kl-footer-form { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 16px; width:100%; }
#footer-outer .kl-footer-form .kl-form-field { display:block; min-width:0; }
#footer-outer .kl-footer-form .kl-form-field--wide,
#footer-outer .kl-footer-form .kl-form-actions { grid-column:1/-1; }
#footer-outer .kl-footer-form p { margin:0; padding:0; }
#footer-outer .kl-footer-form .wpcf7-form-control-wrap { display:block; }
#footer-outer .kl-footer-form .kl-form-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
#footer-outer .kl-footer-form input:not([type="submit"]),
#footer-outer .kl-footer-form textarea { display:block; box-sizing:border-box; width:100%; margin:0; border:1px solid rgba(255,255,255,.3); border-radius:0; padding:8px 12px; background:transparent; color:#fff; -webkit-text-fill-color:#fff; font-family:inherit; font-size:14px; font-weight:400; line-height:22px; box-shadow:none; }
#footer-outer .kl-footer-form input:not([type="submit"]) { height:40px; }
#footer-outer .kl-footer-form textarea { height:110px; min-height:110px; resize:vertical; }
/* The homepage's legacy o2 form rule forces this textarea back to white. */
#footer-outer #block-28 .kl-footer-form textarea { background:transparent; color:#fff; -webkit-text-fill-color:#fff; }
#footer-outer #block-28 .kl-footer-form input:not([type="submit"]):focus,
#footer-outer #block-28 .kl-footer-form textarea:focus { background-color:transparent!important; color:#fff; -webkit-text-fill-color:#fff; }
#footer-outer .kl-footer-form input::placeholder,
#footer-outer .kl-footer-form textarea::placeholder { color:rgba(255,255,255,.55); -webkit-text-fill-color:rgba(255,255,255,.55); opacity:1; }
#footer-outer .kl-footer-form input:-webkit-autofill { -webkit-text-fill-color:#fff; box-shadow:0 0 0 100px #111 inset; }
#footer-outer .kl-footer-form input:focus-visible,
#footer-outer .kl-footer-form textarea:focus-visible { outline:2px solid #c5b28b; outline-offset:2px; }
#footer-outer .kl-footer-form .kl-form-actions p { display:flex; align-items:center; gap:10px; }
#footer-outer #footer-widgets .kl-footer-form input[type="submit"].wpcf7-submit { min-width:164px; min-height:46px; margin:0; padding:0 38px; border:1px solid rgba(255,255,255,.85)!important; border-radius:0; background-color:transparent!important; color:#fff; -webkit-text-fill-color:#fff; font-family:inherit; font-size:12px; font-weight:600; line-height:44px; letter-spacing:.03em; text-transform:uppercase; cursor:pointer; transition:background-color .18s ease; }
#footer-outer #footer-widgets .kl-footer-form input[type="submit"].wpcf7-submit:hover { background-color:rgba(255,255,255,.08)!important; color:#fff!important; }
#footer-outer .kl-footer-form .wpcf7-spinner { margin:0; }
#footer-outer div[id^="wpcf7-f23901-"] .wpcf7-not-valid-tip { color:#ffb6a8; }

/* The custom Luxury panel was 22px farther from its trigger than native Modern. */
@media (min-width:1000px) {
  #header-outer #menu-item-22132 > .nectar-global-section-megamenu { margin-top:28px!important; }
  #header-outer #menu-item-22132.kl-menu-dismissed > .nectar-global-section-megamenu,
  #header-outer #menu-item-23581.kl-menu-dismissed > .sub-menu { display:none!important; }
  #header-outer #menu-item-22132 > .nectar-global-section-megamenu,
  #header-outer #menu-item-23581 > .sub-menu { max-height:calc(100dvh - 150px); overflow-y:auto; overscroll-behavior:contain; }
}

@media (max-width:1099px) {
  #footer-outer #footer-widgets > .container > .row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
}
@media (max-width:999px) {
  #header-outer .kl-wordmark--header { max-width:145px; }
  #header-outer .kl-wordmark--header .kl-wordmark__name,
  #footer-outer .kl-wordmark--footer .kl-wordmark__name { font-size:22px; }
  #footer-outer .kl-wordmark--footer .kl-wordmark__tagline { font-size:6px; }
}
@media (max-width:767px) {
  #footer-outer #footer-widgets > .container > .row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; }
  #footer-outer #footer-widgets > .container > .row > .col:first-child,
  #footer-outer #footer-widgets > .container > .row > .col:last-child { grid-column:1/-1; }
  #footer-outer .kl-footer-form { grid-template-columns:minmax(0,1fr)!important; }
  #footer-outer .kl-footer-form input:not([type="submit"]),
#footer-outer .kl-footer-form textarea { font-size:16px; }
#footer-outer .kl-footer-form input:not([type="submit"]) { height:46px; }
  #footer-outer .kl-footer-form input[type="submit"] { width:100%; }
  #footer-outer .kl-footer-form .kl-form-actions p { position:relative; }
  #footer-outer .kl-footer-form .wpcf7-spinner { position:absolute; right:12px; }
  #footer-outer #block-28,
  #footer-outer div[id^="wpcf7-f23901-"] { scroll-margin-top:100px; }
}
@media (prefers-reduced-motion:reduce) {
  #footer-outer .kl-footer-form input[type="submit"] { transition:none!important; }
  #header-outer .kl-wordmark--header .kl-wordmark__name { transition:none!important; transform:none!important; }
}
