:root{--pls-bg:#050505;--pls-surface:#0B0B0B;--pls-surface-2:#111111;--pls-ink:#EAEAEA;--pls-ink-strong:#FFFFFF;--pls-muted:#9B9B9B;--pls-gold:#D8BE72;--pls-gold-deep:#C8A24B;--pls-gold-shadow:#A57C3A;--pls-hair:rgba(255,255,255,.08);--pls-hair-hover:rgba(216,190,114,.45)}

/* Ground */
body,.ast-separate-container,#page,#content{background-color:var(--pls-bg);color:var(--pls-ink)}
.ast-separate-container #primary,.ast-separate-container .ast-article-single{background:transparent;padding:0;margin:0}
.site-content .ast-container{max-width:100%;padding:0}
#primary{margin:0;padding:0}

/* Motion: two moves only */
@keyframes plsShine{0%{transform:translateX(-120%)}100%{transform:translateX(220%)}}
@keyframes plsFloat{0%{transform:translateY(0);opacity:0}15%{opacity:.7}85%{opacity:.5}100%{transform:translateY(-140px);opacity:0}}
.pls-shine .elementor-button,a.pls-shine{position:relative;overflow:hidden;isolation:isolate}
.pls-shine .elementor-button::after,a.pls-shine::after{content:"";position:absolute;top:0;bottom:0;left:0;width:60px;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);animation:plsShine 3.2s ease-in-out infinite;pointer-events:none}
.pls-particles{position:absolute;inset:0;pointer-events:none;z-index:2}
.pls-particles span{position:absolute;border-radius:50%;background:var(--pls-gold);animation:plsFloat 8s linear infinite}
.pls-particles span:nth-child(1){left:14%;bottom:180px;width:3px;height:3px;box-shadow:0 0 8px 2px rgba(216,190,114,.6);animation-duration:7s}
.pls-particles span:nth-child(2){left:32%;bottom:260px;width:2px;height:2px;box-shadow:0 0 6px 2px rgba(216,190,114,.5);animation-duration:9s;animation-delay:2s}
.pls-particles span:nth-child(3){left:55%;bottom:200px;width:2px;height:2px;background:var(--pls-gold-deep);box-shadow:0 0 6px 2px rgba(200,162,75,.5);animation-duration:11s;animation-delay:4s}
.pls-particles span:nth-child(4){left:71%;bottom:220px;width:3px;height:3px;background:var(--pls-gold-deep);box-shadow:0 0 8px 2px rgba(200,162,75,.55);animation-duration:8s;animation-delay:1s}
.pls-particles span:nth-child(5){left:86%;bottom:300px;width:2px;height:2px;box-shadow:0 0 6px 2px rgba(216,190,114,.5);animation-duration:10s;animation-delay:3s}
@media (prefers-reduced-motion:reduce){.pls-shine .elementor-button::after,a.pls-shine::after,.pls-particles span{animation:none}.pls-particles{display:none}}

/* Eyebrow: 48px gold rule + wide-tracked label */
.pls-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:16px;color:var(--pls-gold-deep)}
.pls-eyebrow .elementor-heading-title::before{content:"";width:48px;height:1px;background:var(--pls-gold-deep);flex:none}
.pls-eyebrow-center .elementor-heading-title{justify-content:center}

/* Hairline grid tables */
.pls-hairgrid{border-top:1px solid var(--pls-hair);border-left:1px solid var(--pls-hair)}
.pls-hairgrid > .e-con,.pls-hairgrid > .e-con-inner > .e-con,.pls-haircell{border-right:1px solid var(--pls-hair);border-bottom:1px solid var(--pls-hair)}

/* Cards & row links */
.pls-card{border:1px solid var(--pls-hair);transition:border-color .35s ease}
.pls-card:hover{border-color:var(--pls-hair-hover)}
.pls-rowlink{transition:background-color .3s ease}
.pls-rowlink:hover{background-color:var(--pls-surface) !important}

/* Text link with trailing rule */
.pls-textlink .elementor-button,a.pls-textlink{display:inline-flex;align-items:center;gap:14px;color:var(--pls-gold)}
.pls-textlink .elementor-button::after,a.pls-textlink::after{content:"";width:36px;height:1px;background:var(--pls-gold-deep);display:inline-block;transition:width .3s ease}
.pls-textlink:hover .elementor-button::after,a.pls-textlink:hover::after{width:56px}

/* Breakout badges */
.pls-badge{background:rgba(5,5,5,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)}
.pls-badge-right{border-right:2px solid var(--pls-gold-deep)}
.pls-badge-left{border-left:2px solid var(--pls-gold-deep)}

/* Glass surfaces */
.pls-glass{background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.1)}
.pls-glass-dark{background:rgba(12,10,8,.6);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border:1px solid rgba(216,190,114,.3);box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}

/* Header */
.pls-header-wrap{position:absolute;top:32px;left:0;right:0;z-index:99}
.pls-nav .hfe-nav-menu__layout-horizontal .menu-item a.hfe-menu-item{font-family:'Space Grotesk',sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--pls-ink);transition:color .25s ease}
.pls-nav .hfe-nav-menu__layout-horizontal .menu-item a.hfe-menu-item:hover,.pls-nav .menu-item.current-menu-item a.hfe-menu-item{color:var(--pls-gold)}
.pls-nav .sub-menu{background:rgba(11,11,11,.96);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--pls-hair)}
.pls-nav .sub-menu a.hfe-sub-menu-item{font-size:12px;letter-spacing:.14em;color:var(--pls-ink)}
.pls-nav .sub-menu a.hfe-sub-menu-item:hover{color:var(--pls-gold);background:transparent}
.pls-nav .hfe-nav-menu-icon,.pls-nav .hfe-nav-menu__toggle-icon{color:var(--pls-gold)}
.pls-nav .hfe-nav-menu__layout-expandible .hfe-nav-menu,.pls-nav .menu-is-active{background:rgba(5,5,5,.97);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}

/* Footer */
.pls-footer a{color:var(--pls-muted);transition:color .25s ease}
.pls-footer a:hover{color:var(--pls-gold)}
.pls-credential{border:1px solid rgba(255,255,255,.1);padding:10px 14px;font-size:12px;letter-spacing:.08em;color:var(--pls-muted)}

/* WPForms, dressed for the dark */
.pls-form .wpforms-container,.pls-form .wpforms-form{margin:0}
.pls-form .wpforms-field{padding:0 0 22px}
.pls-form .wpforms-field-label{font-family:'Space Grotesk',sans-serif !important;font-size:10px !important;font-weight:400 !important;letter-spacing:.3em !important;text-transform:uppercase;color:var(--pls-gold-deep) !important;margin-bottom:10px !important}
.pls-form .wpforms-required-label{color:var(--pls-gold) !important}
.pls-form input[type=text],.pls-form input[type=email],.pls-form input[type=tel],.pls-form input[type=url],.pls-form input[type=number],.pls-form input[type=date],.pls-form input[type=time],.pls-form select,.pls-form textarea{background:rgba(255,255,255,.03) !important;border:1px solid var(--pls-hair) !important;border-radius:0 !important;color:var(--pls-ink-strong) !important;font-family:'Space Grotesk',sans-serif !important;font-size:15px !important;font-weight:300 !important;padding:14px 16px !important;max-width:100% !important;width:100% !important;box-shadow:none !important;transition:border-color .25s ease,background-color .25s ease}
.pls-form input:focus,.pls-form select:focus,.pls-form textarea:focus{border-color:var(--pls-gold-deep) !important;background:rgba(216,190,114,.05) !important;outline:none !important}
.pls-form input::placeholder,.pls-form textarea::placeholder{color:#6f6a60 !important}
.pls-form input[type=date],.pls-form input[type=time]{color-scheme:dark}
.pls-form select option{background:#0B0B0B;color:var(--pls-ink)}
.pls-form .wpforms-field-description{font-size:12px !important;color:var(--pls-muted) !important;font-style:normal !important}
.pls-form .wpforms-submit-container{padding-top:8px}
.pls-form button[type=submit].wpforms-submit{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--pls-gold-deep),var(--pls-gold-shadow)) !important;border:0 !important;border-radius:0 !important;color:#050505 !important;font-family:'Space Grotesk',sans-serif !important;font-size:13px !important;font-weight:500 !important;letter-spacing:.2em !important;text-transform:uppercase;padding:20px 48px !important;cursor:pointer;transition:filter .25s ease}
.pls-form button[type=submit].wpforms-submit:hover{filter:brightness(1.08)}
.pls-form button[type=submit].wpforms-submit::after{content:"";position:absolute;top:0;bottom:0;left:0;width:60px;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);animation:plsShine 3.2s ease-in-out infinite;pointer-events:none}
.pls-form .wpforms-error{color:var(--pls-gold) !important;font-size:12px !important;letter-spacing:.06em}
.pls-form .wpforms-confirmation-container-full{background:var(--pls-surface) !important;border:1px solid var(--pls-gold-deep) !important;border-radius:0 !important;color:var(--pls-ink) !important;padding:28px !important}

/* Hero booking bar */
.pls-bookingbar .wpforms-form{display:flex;align-items:stretch;flex-wrap:nowrap}
.pls-bookingbar .wpforms-field{flex:1 1 0;min-width:0;padding:20px 24px !important;border-right:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:9px;justify-content:center}
.pls-bookingbar .wpforms-field-label{margin:0 !important}
.pls-bookingbar input,.pls-bookingbar select{background:transparent !important;border:0 !important;padding:0 !important;font-size:15px !important}
.pls-bookingbar input:focus,.pls-bookingbar select:focus{background:transparent !important}
.pls-bookingbar .wpforms-submit-container{flex:none;width:230px;padding:0 !important;display:flex}
.pls-bookingbar button[type=submit].wpforms-submit{width:100%;height:100%;padding:0 !important;font-size:12px !important;letter-spacing:.18em !important}

/* Journal */
.pls-posts .hfe-post__title a{font-family:'Italiana',serif;font-size:24px;line-height:1.25;color:var(--pls-ink-strong)}
.pls-posts .hfe-post__title a:hover{color:var(--pls-gold)}
.pls-posts .hfe-post-content,.pls-posts .hfe-post-meta{color:var(--pls-muted)}
.pls-posts .hfe-post-item{background:var(--pls-surface);border:1px solid var(--pls-hair);transition:border-color .35s ease}
.pls-posts .hfe-post-item:hover{border-color:var(--pls-hair-hover)}

::selection{background:rgba(216,190,114,.28);color:#fff}
html{scrollbar-color:var(--pls-gold-shadow) var(--pls-bg)}

/* Responsive */
@media (max-width:1024px){.pls-header-wrap{top:16px}.pls-bookingbar .wpforms-form{flex-wrap:wrap}.pls-bookingbar .wpforms-field{flex:1 1 50%}.pls-bookingbar .wpforms-submit-container{width:100%}.pls-bookingbar button[type=submit].wpforms-submit{padding:20px 0 !important}}
@media (max-width:767px){.pls-header-wrap{top:12px}.pls-hairgrid{border-left:0}.pls-hairgrid > .e-con,.pls-haircell{border-right:0}.pls-bookingbar .wpforms-field{flex:1 1 100%;border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.pls-particles{display:none}.pls-badge{position:static !important;margin-top:-1px}}
