.elementor-kit-21{--e-global-color-primary:#0B1D3A;--e-global-color-secondary:#8B1E2D;--e-global-color-text:#0B1D3A;--e-global-color-accent:#6E1623;--e-global-color-cream:#F5F5F2;--e-global-color-sand:#E7E5DF;--e-global-color-forestcard:#14305C;--e-global-color-terralight:#C98892;--e-global-color-sage:#B8A88C;--e-global-color-white:#FFFFFF;--e-global-typography-primary-font-family:"Cinzel";--e-global-typography-primary-font-weight:500;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:500;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:400;line-height:1.5em;}.elementor-kit-21 e-page-transition{background-color:#FFBC7D;}.elementor-kit-21 h1{font-family:"Cinzel", Sans-serif;font-weight:500;}.elementor-kit-21 h2{font-family:"Cinzel", Sans-serif;font-weight:500;}.elementor-kit-21 h3{font-family:"Cinzel", Sans-serif;font-weight:500;}.elementor-kit-21 h4{font-family:"Cinzel", Sans-serif;font-weight:500;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){margin-block-end:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --cream:#f5f5f2; --sand:#e7e5df; --forest:#0b1d3a; --forest-card:#14305c; --terracotta:#8b1e2d; --terracotta-dark:#6e1623; --terracotta-light:#c98892; --sage:#b8a88c; --charcoal:#0a1526; --rose:#a64452; --ink:#08111f; --ink-card:#0e1b30; --white:#ffffff; --text-muted:rgba(11, 29, 58, 0.8); --text-muted-dark:rgba(245, 245, 242, 0.7); --border-light:rgba(11, 29, 58, 0.15); --border-dark:rgba(245, 245, 242, 0.2); --border-black:rgba(245, 245, 242, 0.12); --font-heading:Cinzel; --font-body:Montserrat; --gold:#8b1e2d; --terracotta-10:rgba(139, 30, 45, 0.1); --terracotta-20:rgba(139, 30, 45, 0.2); --terracotta-40:rgba(139, 30, 45, 0.4); --terracotta-light-15:rgba(201, 136, 146, 0.15); --terracotta-light-50:rgba(201, 136, 146, 0.5); --forest-5:rgba(11, 29, 58, 0.05); --forest-70:rgba(11, 29, 58, 0.7); --forest-80:rgba(11, 29, 58, 0.8); --cream-85:rgba(245, 245, 242, 0.85); --sand-30:rgba(231, 229, 223, 0.3); --white-60:rgba(255, 255, 255, 0.6); --shadow:rgba(11, 29, 58, 0.1); }
/* Start custom CSS *//* Riverside clone: site-wide helpers */
body { background-color: var(--cream, #f5f5f2); color: var(--forest, #0b1d3a); }
.elementor-location-header { position: sticky; top: 0; z-index: 50; }
@keyframes rp-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee-track { animation: rp-marquee 120s linear infinite; }
@media (prefers-reduced-motion: reduce) { .marquee-track { animation: none; } }
.btn:hover .btn-arrow { transform: translateX(4px); }
html { scroll-behavior: smooth; }
.ast-page-builder-template .site-content > .ast-container { max-width: 100%; padding: 0; }

/* Rio Grooming School palette: the school page (182) and its children re-map the brand variables */
body.page-id-182, body.parent-pageid-182 {
  --cream: #f8f4ea; --sand: #ebe2cf; --forest: #21412f; --forest-card: #2c543d; --charcoal: #18271d;
  --ink: #111d15; --ink-card: #1c2e22; --terracotta: #a9781f; --terracotta-dark: #80591a; --terracotta-light: #d9bf83;
  --gold: #cba74e; --rose: #9c5f33; --sage: #9aa585;
  --border-light: rgba(33, 65, 47, 0.16); --text-muted: rgba(33, 65, 47, 0.82); --text-muted-dark: rgba(248, 244, 234, 0.74);
  --terracotta-10: rgba(169, 120, 31, 0.1); --terracotta-20: rgba(169, 120, 31, 0.2); --terracotta-40: rgba(169, 120, 31, 0.4);
  --terracotta-light-15: rgba(217, 191, 131, 0.15); --terracotta-light-50: rgba(217, 191, 131, 0.5);
  --forest-5: rgba(33, 65, 47, 0.05); --forest-70: rgba(33, 65, 47, 0.7); --forest-80: rgba(33, 65, 47, 0.8);
  --cream-85: rgba(248, 244, 234, 0.85); --sand-30: rgba(235, 226, 207, 0.3);
}

/* Nav menus (main + school) */
.rp-nav .elementor-nav-menu--main .elementor-nav-menu { gap: 20px; }
.rp-nav-school .elementor-nav-menu--main .elementor-nav-menu { gap: 36px; }
.elementor-widget-nav-menu.rp-nav .elementor-nav-menu--main .elementor-item,
.elementor-widget-nav-menu.rp-nav-school .elementor-nav-menu--main .elementor-item { font-family: 'Montserrat', sans-serif !important; font-size: 14px !important; font-weight: 400 !important; line-height: 1.5; color: var(--forest) !important; fill: var(--forest); padding: 0 0 4px 0 !important; margin: 0; position: relative; white-space: nowrap; transition: color .2s; }
.elementor-widget-nav-menu.rp-nav .elementor-nav-menu--main .elementor-item:hover,
.elementor-widget-nav-menu.rp-nav-school .elementor-nav-menu--main .elementor-item:hover { color: var(--forest-70) !important; }
.elementor-widget-nav-menu.rp-nav .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-widget-nav-menu.rp-nav-school .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-widget-nav-menu.rp-nav .elementor-nav-menu--main .current-menu-ancestor > .elementor-item,
.elementor-widget-nav-menu.rp-nav-school .elementor-nav-menu--main .current-menu-ancestor > .elementor-item { color: var(--terracotta) !important; font-weight: 500 !important; }
.elementor-widget-nav-menu.rp-nav .elementor-nav-menu--main .elementor-item.elementor-item-active::after,
.elementor-widget-nav-menu.rp-nav-school .elementor-nav-menu--main .elementor-item.elementor-item-active::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; top: auto; height: 2px; width: auto; background: var(--terracotta) !important; border-radius: 9999px; opacity: 1 !important; transform: none; }
.rp-nav .elementor-nav-menu--main .elementor-item.has-submenu, .rp-nav-school .elementor-nav-menu--main .elementor-item.has-submenu { cursor: default; }
.rp-nav .sub-arrow, .rp-nav-school .sub-arrow { font-size: 9px; padding: 0 0 0 4px !important; margin-top: 2px; }
.rp-nav .elementor-nav-menu--main ul.sub-menu, .rp-nav-school .elementor-nav-menu--main ul.sub-menu { background: #fff !important; border: 1px solid var(--border-light); border-radius: 12px; box-shadow: 0 8px 24px var(--shadow); padding: 8px 0; min-width: 160px !important; margin-top: 8px !important; overflow: hidden; }
.elementor-widget-nav-menu.rp-nav .elementor-nav-menu--main .elementor-sub-item,
.elementor-widget-nav-menu.rp-nav-school .elementor-nav-menu--main .elementor-sub-item { font-family: 'Montserrat', sans-serif !important; font-size: 14px !important; font-weight: 400 !important; color: var(--forest) !important; background: transparent !important; padding: 8px 16px !important; border: 0 !important; white-space: nowrap; }
.elementor-widget-nav-menu.rp-nav .elementor-nav-menu--main .elementor-sub-item:hover,
.elementor-widget-nav-menu.rp-nav-school .elementor-nav-menu--main .elementor-sub-item:hover { background: var(--sand-30) !important; }
.rp-nav .elementor-menu-toggle, .rp-nav-school .elementor-menu-toggle { background: transparent !important; color: var(--forest) !important; font-size: 24px; padding: 8px; }
.rp-nav .elementor-nav-menu--dropdown, .rp-nav-school .elementor-nav-menu--dropdown { background: var(--cream) !important; border-top: 1px solid var(--border-light); }
.rp-nav .elementor-nav-menu--dropdown a, .rp-nav-school .elementor-nav-menu--dropdown a { font-family: 'Montserrat', sans-serif !important; font-size: 16px !important; color: var(--forest) !important; background: transparent !important; padding: 14px 24px !important; }
.rp-nav .elementor-nav-menu--dropdown a.elementor-item-active, .rp-nav-school .elementor-nav-menu--dropdown a.elementor-item-active { color: var(--terracotta) !important; font-weight: 500; }

/* Neutralise Astra's fixed heading/body colors so atomic widgets inherit their section's color */
body.elementor-kit-21 { color: var(--forest); background-color: var(--cream); }
.elementor :is(h1, h2, h3, h4, h5, h6, p) { color: inherit; }
.elementor .e-paragraph-base a, .elementor .e-heading-base a { color: inherit; }

/* Gravity Forms (shortcode theme="gravity-theme") styled like the source forms */
.gform_wrapper.gravity-theme { font-family: 'Montserrat', sans-serif; color: var(--forest); }
.gform_wrapper.gravity-theme .gform_fields { grid-row-gap: 20px !important; }
.gform_wrapper.gravity-theme .gfield_label { font-family: 'Montserrat', sans-serif; font-size: 14px !important; font-weight: 500 !important; line-height: 21px; color: var(--forest); margin-bottom: 6px !important; padding: 0 !important; }
.gform_wrapper.gravity-theme .gfield_required { color: var(--terracotta); margin-left: 4px; }
.gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=number], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme textarea { width: 100% !important; font-family: 'Montserrat', sans-serif; font-size: 16px !important; line-height: 24px; color: var(--forest); background-color: #fff; border: 1px solid var(--sand) !important; border-radius: 12px !important; padding: 12px 16px !important; box-shadow: none; transition: border-color .2s, box-shadow .2s; }
.gform_wrapper.gravity-theme select { height: 50px; }
.gform_wrapper.gravity-theme textarea { height: 122px !important; min-height: 0; }
.gform_wrapper.gravity-theme input::placeholder, .gform_wrapper.gravity-theme textarea::placeholder { color: rgba(10, 21, 38, .4); }
.gform_wrapper.gravity-theme input:focus, .gform_wrapper.gravity-theme select:focus, .gform_wrapper.gravity-theme textarea:focus { outline: none; border-color: var(--terracotta) !important; box-shadow: 0 0 0 2px var(--terracotta-20); }
.gform_wrapper.gravity-theme .gform_footer { margin: 20px 0 0 !important; padding: 0 !important; }
.gform_wrapper.gravity-theme .gform_footer input[type=submit], .gform_wrapper.gravity-theme .gform_footer button { appearance: none; cursor: pointer; font-family: 'Montserrat', sans-serif; font-size: 16px !important; font-weight: 500; letter-spacing: .02em; line-height: 24px; color: #fff !important; background: var(--terracotta-dark) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat right 32px center / 16px 16px !important; border: 1.5px solid var(--terracotta-dark) !important; border-radius: 24px !important; padding: 16px 56px 16px 32px !important; width: auto; transition: filter .2s; }
.gform_wrapper.gravity-theme .gform_footer input[type=submit]:hover { filter: brightness(.9); }
@media (max-width: 767px) { .gform_wrapper.gravity-theme .gform_footer input[type=submit] { width: 100% !important; font-size: 14px !important; } }
.gform_wrapper.gravity-theme .gfield_validation_message, .gform_wrapper.gravity-theme .validation_message { font-size: 13px; color: var(--terracotta); background: none; border: 0; padding: 4px 0 0; }
.gform_confirmation_message { font-family: 'Montserrat', sans-serif; font-size: 18px; color: var(--forest); padding: 24px; background: var(--white-60); border: 1px solid var(--border-light); border-radius: 12px; }

.gform_wrapper.gravity-theme .gform_required_legend { display: none; }
.gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=number] { height: 50px !important; min-height: 50px; }
.gform_wrapper.gravity-theme .gfield_label { display: inline-flex !important; align-items: baseline; gap: 0; }
.gform_wrapper.gravity-theme .gfield_required { margin-left: 4px !important; padding: 0 !important; }
.gform_wrapper.gravity-theme .gfield_label .gfield_required, .gform_wrapper.gravity-theme .gfield_label .gfield_required_asterisk { color: var(--terracotta) !important; font-size: 14px !important; font-weight: 500 !important; }
@media (max-width: 767px) { .gform_wrapper.gravity-theme .gform_footer button { width: 100% !important; font-size: 14px !important; } }

/* Mobile/tablet menu toggle: 34px tall like the source's hamburger button */
.rp-nav .elementor-menu-toggle, .rp-nav-school .elementor-menu-toggle { padding: 5px !important; }

/* Main menu only: the parent of the current page (e.g. Services on /services/boarding) gets the active underline.
   The school menu just colors the parent gold (no underline), as on the source. */
.elementor-widget-nav-menu.rp-nav .elementor-nav-menu--main .current-menu-ancestor > .elementor-item::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; top: auto; height: 2px; width: auto; background: var(--terracotta) !important; border-radius: 9999px; opacity: 1 !important; transform: none; }
.elementor-widget-nav-menu.rp-nav-school .elementor-nav-menu--main .current-menu-ancestor > .elementor-item::after { content: none !important; display: none !important; }

/* Main header between 1025px and 1279px: the source shows only logo + menu toggle (its desktop nav starts at 1280px) */
@media (min-width: 1025px) and (max-width: 1279px) {
  .elementor-element-568b8a66 { display: flex !important; justify-content: space-between !important; }
  [data-id="8e8cc7d"], .elementor-element-1fdce5d1 { display: none !important; }
  .rp-nav .elementor-nav-menu--main { display: none !important; }
  .rp-nav .elementor-menu-toggle { display: flex !important; }
  .rp-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container { display: block !important; }
}

/* Collapsed menus (main <=1279px, school <=1024px): the dropdown panel overlays the page below the header bar
   instead of pushing the header content around. The header bar is the positioning context. */
@media (max-width: 1279px) {
  .elementor-element-7446f8, .elementor-element-7446f8 .rp-nav, .elementor-element-7446f8 .elementor-widget-container { position: static !important; }
  .rp-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container { position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important; width: 100% !important; margin: 0 !important; z-index: 60; box-shadow: 0 8px 24px var(--shadow); }
}
@media (max-width: 1024px) {
  .elementor-element-446466c8, .elementor-element-446466c8 .rp-nav-school, .elementor-element-446466c8 .elementor-widget-container { position: static !important; }
  .elementor-element-72aca63a { position: relative; }
  .rp-nav-school .elementor-nav-menu--dropdown.elementor-nav-menu__container { position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important; width: 100% !important; margin: 0 !important; z-index: 60; box-shadow: 0 8px 24px var(--shadow); }
}/* End custom CSS */