.elementor-kit-9{--e-global-color-primary:#1A1A1A;--e-global-color-secondary:#C9A74A;--e-global-color-text:#1A1A1A;--e-global-color-accent:#121212;--e-global-color-gold_text:#7A5E18;--e-global-color-muted:#5F5F5F;--e-global-color-muted_dark:#B8B8B8;--e-global-color-surface:#F7F5EF;--e-global-color-line:#E6E1D3;--e-global-color-white:#FFFFFF;--e-global-color-charcoal:#262626;--e-global-color-graphite:#333333;--e-global-color-gray_mid:#E6E4DF;--e-global-color-gray_light:#F1F1EF;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-size:56px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1.12em;--e-global-typography-primary-letter-spacing:-0.5px;--e-global-typography-secondary-font-family:"Playfair Display";--e-global-typography-secondary-font-size:42px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.18em;--e-global-typography-secondary-letter-spacing:-0.3px;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-size:19px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"DM Sans";--e-global-typography-accent-font-size:18px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:0.2px;--e-global-typography-h3-font-family:"DM Sans";--e-global-typography-h3-font-size:24px;--e-global-typography-h3-font-weight:700;--e-global-typography-h3-line-height:1.3em;--e-global-typography-lead-font-family:"DM Sans";--e-global-typography-lead-font-size:22px;--e-global-typography-lead-font-weight:400;--e-global-typography-lead-line-height:1.6em;--e-global-typography-label-font-family:"DM Sans";--e-global-typography-label-font-size:17px;--e-global-typography-label-font-weight:700;--e-global-typography-label-line-height:1.4em;--e-global-typography-label-letter-spacing:0.2px;--e-global-typography-small-font-family:"DM Sans";--e-global-typography-small-font-size:16px;--e-global-typography-small-font-weight:500;--e-global-typography-small-line-height:1.5em;--e-global-typography-stat-font-family:"Playfair Display";--e-global-typography-stat-font-size:48px;--e-global-typography-stat-font-weight:600;--e-global-typography-stat-line-height:1.05em;background-color:#FFFFFF;color:#1A1A1A;font-family:"DM Sans", Sans-serif;font-size:19px;line-height:1.7em;}.elementor-kit-9 button,.elementor-kit-9 input[type="button"],.elementor-kit-9 input[type="submit"],.elementor-kit-9 .elementor-button{background-color:#C9A74A;font-family:"DM Sans", Sans-serif;font-size:18px;font-weight:700;line-height:1.2em;letter-spacing:0.2px;color:#1A1A1A;border-radius:50px 50px 50px 50px;padding:20px 40px 20px 40px;}.elementor-kit-9 button:hover,.elementor-kit-9 button:focus,.elementor-kit-9 input[type="button"]:hover,.elementor-kit-9 input[type="button"]:focus,.elementor-kit-9 input[type="submit"]:hover,.elementor-kit-9 input[type="submit"]:focus,.elementor-kit-9 .elementor-button:hover,.elementor-kit-9 .elementor-button:focus{background-color:#1A1A1A;color:#FFFFFF;}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-kit-9 a{color:#7A5E18;}.elementor-kit-9 a:hover{color:#1A1A1A;}.elementor-kit-9 h1{color:#1A1A1A;font-family:"Playfair Display", Sans-serif;font-size:56px;font-weight:600;line-height:1.12em;letter-spacing:-0.5px;}.elementor-kit-9 h2{color:#1A1A1A;font-family:"Playfair Display", Sans-serif;font-size:42px;font-weight:600;line-height:1.18em;letter-spacing:-0.3px;}.elementor-kit-9 h3{color:#1A1A1A;font-family:"DM Sans", Sans-serif;font-size:24px;font-weight:700;line-height:1.3em;}.elementor-kit-9 h4{color:#1A1A1A;font-family:"DM Sans", Sans-serif;font-size:20px;font-weight:700;line-height:1.35em;}.elementor-kit-9 h5{color:#1A1A1A;}.elementor-kit-9 h6{color:#1A1A1A;}.elementor-kit-9 label{color:#1A1A1A;}.elementor-kit-9 input:not([type="button"]):not([type="submit"]),.elementor-kit-9 textarea,.elementor-kit-9 .elementor-field-textual{font-family:"DM Sans", Sans-serif;font-size:18px;color:#1A1A1A;background-color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#CFC8B6;border-radius:8px 8px 8px 8px;padding:14px 16px 14px 16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:24px;--container-default-padding-bottom:0px;--container-default-padding-left:24px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-9{--e-global-typography-primary-font-size:44px;--e-global-typography-secondary-font-size:36px;--e-global-typography-text-font-size:18px;--e-global-typography-accent-font-size:18px;--e-global-typography-h3-font-size:22px;--e-global-typography-lead-font-size:20px;--e-global-typography-label-font-size:16px;--e-global-typography-small-font-size:16px;--e-global-typography-stat-font-size:42px;}.elementor-kit-9 h1{font-size:44px;}.elementor-kit-9 h2{font-size:36px;}.elementor-kit-9 h3{font-size:22px;}.elementor-kit-9 h4{font-size:19px;}.elementor-kit-9 button,.elementor-kit-9 input[type="button"],.elementor-kit-9 input[type="submit"],.elementor-kit-9 .elementor-button{font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-9{--e-global-typography-primary-font-size:36px;--e-global-typography-secondary-font-size:30px;--e-global-typography-text-font-size:18px;--e-global-typography-accent-font-size:17px;--e-global-typography-h3-font-size:21px;--e-global-typography-lead-font-size:19px;--e-global-typography-label-font-size:16px;--e-global-typography-small-font-size:15px;--e-global-typography-stat-font-size:38px;font-size:18px;}.elementor-kit-9 h1{font-size:36px;}.elementor-kit-9 h2{font-size:30px;}.elementor-kit-9 h3{font-size:21px;}.elementor-kit-9 h4{font-size:19px;}.elementor-kit-9 button,.elementor-kit-9 input[type="button"],.elementor-kit-9 input[type="submit"],.elementor-kit-9 .elementor-button{font-size:17px;padding:18px 28px 18px 28px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ---- STP site polish (tokens come from the kit) ---- */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a:focus-visible,button:focus-visible,.elementor-button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--e-global-color-secondary);outline-offset:3px}
.elementor-button{transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.elementor-button:hover{transform:translateY(-1px)}
.stp-card{transition:box-shadow .25s ease,transform .25s ease}
.stp-card:hover{box-shadow:0 14px 34px rgba(26,26,26,.10);transform:translateY(-2px)}
.stp-prose a{color:var(--e-global-color-gold_text);text-decoration:underline;text-underline-offset:3px}
.stp-prose a:hover{color:var(--e-global-color-primary)}
.stp-prose h2{margin-top:1.6em}
.stp-prose ul,.stp-prose ol{padding-left:1.25em}
.stp-prose li{margin-bottom:.45em}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.elementor-location-footer .elementor-widget-text-editor a,.stp-dark a{color:var(--e-global-color-secondary);text-decoration:underline;text-underline-offset:3px}
.elementor-location-footer .elementor-widget-text-editor a:hover,.stp-dark a:hover{color:#fff}
/* gold rule under section titles: a quiet line, not a swoosh */
.stp-rule::after{content:"";display:block;width:56px;height:3px;background:var(--e-global-color-secondary);margin-top:18px;border-radius:2px}
.stp-rule.stp-center::after{margin-left:auto;margin-right:auto}
/* marble bands: a hairline of gold where the stone meets the page */
.stp-marble{border-top:1px solid rgba(201,167,74,.35)}
/* motion: gold title rule draws in when its block animates */
@keyframes stpRule{from{width:0;opacity:0}to{width:56px;opacity:1}}
.animated .stp-rule::after{animation:stpRule .9s cubic-bezier(.2,.7,.2,1) .25s both}
/* card media zoom + step cards */
.stp-card .elementor-widget-image{overflow:hidden;border-radius:10px}
.stp-card .elementor-widget-image img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.stp-card:hover .elementor-widget-image img{transform:scale(1.045)}
.stp-step{position:relative;transition:transform .3s ease,border-color .3s ease}
.stp-step::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--e-global-color-secondary);border-radius:14px 14px 0 0;transition:width .6s cubic-bezier(.2,.7,.2,1)}
.stp-step.animated::before,.stp-step:hover::before{width:100%}
.stp-step:hover{transform:translateY(-3px)}
/* gentle drift on hero photos */
@keyframes stpFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.stp-float img{animation:stpFloat 7s ease-in-out infinite}
/* FAQ accordion */
.stp-faq details{border-bottom:1px solid var(--e-global-color-line);padding:18px 0}
.stp-faq summary{cursor:pointer;font-weight:700;font-size:20px;list-style:none;display:flex;justify-content:space-between;gap:16px;color:var(--e-global-color-primary)}
.stp-faq summary::-webkit-details-marker{display:none}
.stp-faq summary::after{content:"+";color:var(--e-global-color-gold_text);font-size:26px;line-height:1}
.stp-faq details[open] summary::after{content:"2013"}
.stp-faq details p{margin:12px 0 0}
/* Gravity Forms (house standard): submit matches the site's pill buttons */
.stp-gf .gform-theme--orbital{--gf-ctrl-btn-radius:50px}
.stp-gf .gform_footer .gform_button{width:100%;border-radius:50px;padding:18px 30px;font-weight:700;font-size:18px;transition:background-color .2s ease,color .2s ease}
.stp-gf .gform_footer .gform_button:hover,.stp-gf .gform_footer .gform_button:focus{background-color:var(--e-global-color-primary)!important;color:#fff!important}
/* mobile sticky action bar */
.stp-mbar{display:none}
@media (max-width:767px){
  .stp-mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:999;background:var(--e-global-color-accent);padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:10px;box-shadow:0 -6px 18px rgba(0,0,0,.18)}
  .stp-mbar a{flex:1;text-align:center;padding:14px 10px;border-radius:50px;font-weight:700;font-size:17px;text-decoration:none}
  .stp-mbar .call{border:2px solid var(--e-global-color-secondary);color:#fff}
  .stp-mbar .book{background:var(--e-global-color-secondary);color:var(--e-global-color-primary)}
  body{padding-bottom:78px}
}

/* a11y (2026-10-28): content waiting for its entrance animation stays in the accessibility tree (opacity, not visibility) */
.elementor-invisible{visibility:visible!important;opacity:0}
@media (prefers-reduced-motion:reduce){.elementor-invisible{opacity:1}}
/* a11y: links inside form text need more than colour to stand out */
.gform_wrapper .gfield_consent_label a,.gform_wrapper .gfield_description a,.gform_wrapper .gfield_label a{text-decoration:underline;text-underline-offset:2px}/* End custom CSS */