.elementor .signup-view{/* Footer email signup */
display: block;
& .bc-signup { display: grid; grid-template-columns: 1fr minmax(0, 28rem); gap: var(--space-3) var(--space-6); align-items: center; padding-block-end: var(--space-6); margin-block-end: var(--space-6); border-block-end: var(--border) solid rgba(255, 255, 255, 0.18); }
& .bc-signup-title { margin: 0; font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-body); color: var(--color-on-ink); }
& .bc-signup-note { margin: var(--space-1) 0 0; font-size: var(--fs-small); color: var(--color-on-ink); opacity: 0.8; }
& .bc-signup-note a { color: inherit; text-decoration: underline; }
& .bc-signup-form { display: flex; gap: var(--space-2); margin: 0; }
& .bc-signup-input { flex: 1 1 auto; min-width: 0; min-height: var(--touch); padding: var(--space-2) var(--space-4); background: var(--color-white); color: var(--color-ink); border: var(--border) solid transparent; border-radius: var(--radius-pill); font-family: var(--font-body); font-size: max(var(--fs-small), 16px); }
& .bc-signup-input:focus-visible { outline: 2px solid var(--color-on-ink); outline-offset: 2px; }
& .bc-signup-button { flex: none; min-height: var(--touch); cursor: pointer; }
& .bc-signup-result { grid-column: 1 / -1; margin: 0; font-size: var(--fs-small); color: var(--color-on-ink); }
& .bc-signup-label, & .bc-signup-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 767px) { & .bc-signup { grid-template-columns: 1fr; } }
\n}.elementor .cart-view{display:block;/* The cart as the design's "Choose your package" step (site.css: order-layout, panel, card-pick, check-list,
   sub-panel, segmented, cap-banner, summary-row). Scoped here so WooCommerce and Astra styles can't reach in. */
padding: 0;
& .bc-cart { color: var(--color-ink); font-family: var(--font-body); font-size: var(--fs-body); line-height: var(--lh-body); }
& .bc-cart [hidden] { display: none !important; }
& .bc-cart p { margin: 0; }
& .bc-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; opacity: 0; }

/* Spots left this month */
& .cap-banner { display: flex; align-items: flex-start; gap: var(--space-3); margin-bottom: var(--space-6); padding: var(--space-4) var(--space-5); border: var(--border) solid var(--color-line); border-radius: var(--radius-md); background: var(--color-white); }
& .cap-dot { flex: none; width: var(--dot); height: var(--dot); margin-top: var(--space-2); border-radius: var(--radius-pill); background: var(--color-done-text); }
& .cap-banner.is-low .cap-dot { background: var(--color-star); }
& .cap-banner.is-full .cap-dot { background: var(--color-wait-text); }
& .cap-banner.is-full { background: var(--color-surface); }
& .cap-text { display: flex; flex-direction: column; gap: var(--space-1); }
& .cap-title { font-family: var(--font-heading); font-weight: 700; color: var(--color-ink); }
& .cap-sub { font-size: var(--fs-small); color: var(--color-muted); }

/* Layout and panels */
& .order-layout { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--space-5); }
& .order-main { display: flex; flex-direction: column; gap: var(--space-5); flex: 1 1 var(--basis-order-main); min-width: 0; }
& .order-aside { display: flex; flex-direction: column; gap: var(--space-5); flex: 1 1 var(--basis-order-aside); }
& .panel { display: flex; flex-direction: column; gap: var(--space-5); margin: 0; padding: var(--panel-pad); background: var(--color-white); border: var(--border) solid var(--color-line); border-radius: var(--radius-md); box-shadow: var(--card-shadow-rest); min-width: 0; }
& .panel-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); }
& .panel-title { margin: 0; padding: 0; color: var(--color-ink); font-family: var(--font-heading); font-size: var(--fs-card); font-weight: 700; line-height: var(--lh-snug); }
& .body-copy { max-width: var(--text-max); color: var(--color-muted); }
& .form-note { font-size: var(--fs-small); color: var(--color-muted); }
& .status-pill { display: inline-flex; align-items: center; align-self: flex-start; padding: var(--space-1) var(--space-3); border-radius: var(--radius-pill); background: var(--color-surface); color: var(--color-ink); font-family: var(--font-heading); font-size: var(--fs-label); font-weight: 700; }
& .status-pill.is-progress { background: var(--color-progress-bg); color: var(--color-hover); }

/* Package cards */
& .pick-list { display: flex; flex-wrap: wrap; gap: var(--space-3); }
& .card-pick { position: relative; display: flex; flex-direction: column; gap: var(--space-2); flex: 1 1 var(--basis-pick); margin: 0; padding: var(--space-5); background: var(--color-white); border: var(--border-strong) solid var(--color-line); border-radius: var(--radius-md); color: var(--color-ink); font-family: var(--font-body); text-align: left; cursor: pointer; transition: border-color var(--hover-speed) var(--hover-ease), box-shadow var(--hover-speed) var(--hover-ease); }
/* The design's cards are buttons, which keep the browser's smaller button text and normal line spacing. */
& .card-pick { font-size: 0.8333rem; line-height: normal; }
& .card-pick:hover { border-color: var(--color-line-strong); }
& .card-pick.is-active { border-color: var(--color-hover); box-shadow: var(--segment-shadow); }
& .card-pick:has(input:focus-visible) { outline: 2px solid var(--color-hover); outline-offset: 2px; }
& .pick-head { display: flex; justify-content: space-between; gap: var(--space-2); }
& .pick-name, & .pick-price { font-family: var(--font-heading); font-weight: 700; }
& .pick-price { color: var(--color-hover); }
& .pick-desc { font-size: var(--fs-small); color: var(--color-muted); }
& .text-link { display: inline-flex; align-items: center; align-self: flex-start; gap: var(--space-2); min-height: var(--touch); color: var(--color-ink); font-size: var(--fs-small); font-weight: var(--weight-medium); text-decoration: underline; text-underline-offset: var(--space-1); }
& .text-link:hover { color: var(--color-hover); }

/* What's included */
& .check-list { display: flex; flex-direction: column; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
& .check-item { display: flex; align-items: flex-start; gap: var(--space-3); margin: 0; }
& .icon { flex: none; width: var(--icon); height: var(--icon); fill: none; stroke: currentColor; stroke-width: var(--icon-stroke); stroke-linecap: round; stroke-linejoin: round; }
& .check-item .icon { margin-top: var(--space-1); }

/* Add-ons: design support and priority start */
& .sub-panel { transition: border-color var(--hover-speed) var(--hover-ease); }
& .sub-panel.is-on { border-color: var(--color-hover); }
& .bc-sub-more { display: flex; flex-direction: column; gap: var(--space-5); }
& .check-row { display: flex; align-items: flex-start; gap: var(--space-3); margin: 0; font-size: var(--fs-small); cursor: pointer; }
& .check-row input { flex: none; width: var(--check); height: var(--check); margin: var(--space-1) 0 0; accent-color: var(--color-ink); }
& .sub-toggle { font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-body); }
& .segmented { display: flex; gap: var(--space-1); padding: var(--space-1); background: var(--color-segment); border-radius: var(--radius-pill); }
& .sub-cycles { flex-wrap: wrap; align-self: flex-start; border-radius: var(--radius-md); }
& .segment { position: relative; display: inline-flex; align-items: center; min-height: var(--touch); margin: 0; padding: 0 var(--space-4); background: none; border: none; border-radius: var(--radius-pill); color: var(--color-ink); font-family: var(--font-heading); font-size: var(--fs-small); font-weight: 700; cursor: pointer; transition: background-color var(--hover-speed) var(--hover-ease), color var(--hover-speed) var(--hover-ease), box-shadow var(--hover-speed) var(--hover-ease); }
& .segment:hover { color: var(--color-hover); }
& .segment.is-active { background: var(--color-white); color: var(--color-hover); box-shadow: var(--segment-shadow); }
& .segment:has(input:focus-visible) { outline: 2px solid var(--color-hover); outline-offset: 2px; }

/* Waitlist */
& .bc-waitlist { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
& .form-row { display: flex; flex-wrap: wrap; gap: var(--space-5); align-self: stretch; margin: 0; padding: 0; }
& .form-row::before, & .form-row::after { display: none; }
& .field { display: flex; flex-direction: column; gap: var(--space-2); flex: 1 1 var(--basis-field); }
& .field-label { padding: 0; font-size: var(--fs-small); font-weight: var(--weight-medium); color: var(--color-ink); }
& .field-input { width: 100%; min-height: var(--touch); padding: var(--space-3) var(--space-4); background: var(--color-white); color: var(--color-ink); border: var(--border) solid var(--color-line-strong); border-radius: var(--radius-sm); box-shadow: none; font-family: var(--font-body); font-size: var(--fs-body); }
& .field-input:focus { border-color: var(--color-ink); outline: none; }
& .field-input.is-invalid { border-color: var(--color-error); }
& .field-error { font-size: var(--fs-small); color: var(--color-error); }
& .form-success { padding: var(--space-3) var(--space-4); border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-success); font-size: var(--fs-small); }

/* Summary */
& .summary-row { display: flex; justify-content: space-between; gap: var(--space-3); font-size: var(--fs-small); }
& .summary-total { padding-top: var(--space-4); border-top: var(--border) solid var(--color-line); font-family: var(--font-heading); font-size: var(--fs-card); font-weight: 700; }

/* Buttons */
& .button-primary, & .button-secondary { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-3); min-height: var(--touch); margin: 0; padding: var(--space-3) var(--space-5); border-radius: var(--radius-sm); font-family: var(--font-body); font-size: var(--fs-small); font-weight: var(--weight-medium); line-height: var(--lh-snug); letter-spacing: normal; text-transform: none; text-decoration: none; cursor: pointer; }
& .button-primary { background: var(--color-ink); color: var(--color-on-ink); border: var(--border) solid var(--color-ink); border-radius: var(--radius-pill); font-family: var(--font-heading); font-weight: 700; transition: transform var(--hover-speed) var(--hover-ease), background-color var(--hover-speed) var(--hover-ease), border-color var(--hover-speed) var(--hover-ease), color var(--hover-speed) var(--hover-ease); }
& .button-primary:hover { background: var(--color-hover); border-color: var(--color-hover); color: var(--color-on-ink); transform: scale(var(--hover-grow)); }
& .button-secondary { background: var(--color-white); color: var(--color-ink); border: var(--border) solid var(--color-line-strong); }
& .button-secondary:hover { background: var(--color-white); color: var(--color-ink); border-color: var(--color-ink); }
& .order-aside .button-primary { align-self: stretch; }
& .bc-cart-empty { display: flex; justify-content: center; margin: 0; }
& .button-ghost { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: var(--touch); margin: 0; padding: var(--space-3) var(--space-4); background: none; border: none; color: var(--color-ink); font-family: var(--font-body); font-size: var(--fs-small); font-weight: var(--weight-medium); line-height: var(--lh-snug); letter-spacing: normal; text-transform: none; text-decoration: none; cursor: pointer; transition: color var(--hover-speed) var(--hover-ease); }
& .button-ghost:hover, & .button-ghost:focus { background: none; color: var(--color-hover); }
@media (prefers-reduced-motion: reduce), (hover: none) {
  & .button-primary:hover { transform: none; }
}

/* Phones, as the design */
@media (max-width: 767px) {
  & .panel { padding: var(--panel-pad-mobile); gap: var(--space-4); }
  & .segment { padding: 0 var(--space-3); }
  & .card-pick { flex-basis: 100%; }
}
\n}.elementor .flow-name{font-family:var(--font-heading);font-weight:700;font-size:var(--fs-small);color:var(--color-muted);line-height:var(--lh-body);margin:var(--space-0);display:block;}.elementor .flow-num{width:var(--step-marker);height:var(--step-marker);font-family:var(--font-heading);font-weight:700;font-size:var(--fs-label);color:var(--color-muted);line-height:var(--lh-body);margin:var(--space-0);border-radius:var(--radius-pill);border-width:var(--border);border-color:var(--color-line-strong);border-style:solid;display:inline-flex;flex:0 0 auto;justify-content:center;align-items:center;}.elementor .flow-step{width:auto;padding:var(--space-0);display:flex;flex-direction:row;gap:var(--space-2);align-items:center;}.elementor .flow-steps{column-gap:var(--space-5);padding:var(--space-0);margin-block-start:var(--space-0);margin-block-end:var(--space-7);margin-inline-start:var(--space-0);margin-inline-end:var(--space-0);display:flex;flex-direction:row;row-gap:var(--space-2);flex-wrap:wrap;align-items:center;}.elementor .cart-total{font-family:var(--font-heading);font-weight:700;font-size:var(--fs-small);color:var(--color-ink);line-height:var(--lh-tight);margin:var(--space-0);display:none;flex:0 0 auto;}.elementor .cart-count{height:var(--cart-count);min-width:var(--cart-count);font-family:var(--font-heading);font-weight:700;font-size:var(--fs-label);color:var(--color-on-ink);line-height:var(--lh-tight);padding-block-start:var(--space-0);padding-block-end:var(--space-0);padding-inline-start:var(--space-1);padding-inline-end:var(--space-1);margin:var(--space-0);border-radius:var(--radius-pill);background-color:var(--color-ink);display:none;flex:0 0 auto;justify-content:center;align-items:center;}.elementor .order-head{max-width:var(--display-max);padding:var(--space-0);margin-block-start:var(--space-0);margin-block-end:var(--space-7);margin-inline-start:var(--space-0);margin-inline-end:var(--space-0);display:flex;flex-direction:column;gap:var(--space-4);}.elementor .footer-legal-link:hover,.elementor .footer-legal-link:focus-visible{color:var(--color-on-ink);text-decoration:underline;}.elementor .footer-legal-link{font-size:var(--fs-label);color:var(--color-on-ink-muted);text-decoration:none;display:block;}.elementor .footer-legal{width:auto;padding:var(--space-0);display:flex;flex-direction:row;gap:var(--space-4);flex-wrap:wrap;}.elementor .footer-small{font-size:var(--fs-label);color:var(--color-on-ink-muted);margin:var(--space-0);display:block;}.elementor .footer-bottom{padding-block-start:var(--space-5);padding-block-end:var(--space-0);padding-inline-start:var(--space-0);padding-inline-end:var(--space-0);margin-block-start:var(--space-8);margin-block-end:var(--space-0);margin-inline-start:var(--space-0);margin-inline-end:var(--space-0);border-block-start-width:var(--border);border-block-end-width:var(--space-0);border-inline-start-width:var(--space-0);border-inline-end-width:var(--space-0);border-color:var(--color-on-ink-line);border-style:solid;display:flex;flex-direction:row;gap:var(--space-3);flex-wrap:wrap;justify-content:space-between;}.elementor .footer-text{font-size:var(--fs-small);color:var(--color-on-ink);margin:var(--space-0);display:block;}.elementor .footer-link:hover,.elementor .footer-link:focus-visible{color:var(--color-on-ink);text-decoration:underline;}.elementor .footer-link{font-size:var(--fs-small);color:var(--color-on-ink);text-decoration:none;margin:var(--space-0);display:block;/* Bigger tap area for footer links without changing the spacing. */
& a { display: inline-block; padding-block: 0.5rem; margin-block: -0.5rem; }
\n}.elementor .footer-heading{font-family:var(--font-body);font-size:var(--fs-label);color:var(--color-on-ink-muted);letter-spacing:var(--tracking-label);text-transform:uppercase;margin-block-start:var(--space-0);margin-block-end:var(--space-2);margin-inline-start:var(--space-0);margin-inline-end:var(--space-0);display:block;}.elementor .footer-col{padding:var(--space-0);display:flex;flex-direction:column;gap:var(--space-3);flex:0 1 var(--basis-footer-col);}.elementor .footer-tagline{color:var(--color-on-ink-muted);margin:var(--space-0);display:block;}.elementor .footer-brand{max-width:var(--text-max);padding:var(--space-0);display:flex;flex-direction:column;gap:var(--space-5);flex:1 1 var(--basis-footer-brand);}.elementor .footer-top{padding:var(--space-0);display:flex;flex-direction:row;gap:var(--space-8);flex-wrap:wrap;justify-content:space-between;}.elementor .site-footer{width:var(--full);font-family:var(--font-body);font-size:var(--fs-body);color:var(--color-on-ink);line-height:var(--lh-body);padding-block-start:var(--space-9);padding-block-end:var(--space-6);padding-inline-start:var(--space-0);padding-inline-end:var(--space-0);background-color:var(--color-ink);display:flex;flex-direction:column;}.elementor .tab-label{font-weight:700;font-size:var(--fs-tab);line-height:var(--lh-tight);display:block;}.elementor .icon-tab{width:var(--icon-tab);height:var(--icon-tab);}.elementor .tab-pill{width:var(--tab-pill-w);height:var(--tab-pill-h);padding:var(--space-0);border-radius:var(--radius-pill);display:flex;justify-content:center;align-items:center;}.elementor .tab-link:hover,.elementor .tab-link:focus-visible{color:var(--color-hover);}.elementor .tab-link{min-height:var(--tab-h);color:var(--color-muted);text-decoration:none;padding:var(--space-0);transition:color 450ms;display:flex;flex-direction:column;gap:var(--space-1);flex:1 1 var(--space-0);justify-content:center;align-items:center;}.elementor .tab-bar{display:none;}.elementor .icon-cart{width:var(--icon-cart);height:var(--icon-cart);}.elementor .cart-button:hover,.elementor .cart-button:focus-visible{color:var(--color-hover);}.elementor .cart-button{width:auto;min-width:var(--touch);min-height:var(--touch);color:var(--color-ink);text-decoration:none;padding-block-start:var(--space-0);padding-block-end:var(--space-0);padding-inline-start:var(--space-3);padding-inline-end:var(--space-3);border-radius:var(--radius-pill);transition:color 450ms;display:inline-flex;flex-direction:row;gap:var(--space-2);flex:0 0 auto;justify-content:center;align-items:center;/* Cart badge, as in the design: the item count (and the cart total) show once the cart has items; the cart script adds .has-items. Both turn #0F6388 with the icon on hover. */
&.has-items .cart-count { display: inline-flex; }
&.has-items .cart-total { display: block; }
& .cart-count { transition: background-color var(--hover-speed) var(--hover-ease); }
& .cart-total { white-space: nowrap; transition: color var(--hover-speed) var(--hover-ease); }
&:hover .cart-count { background-color: var(--color-hover); }
&:hover .cart-total { color: var(--color-hover); }\n}.elementor .nav-link:hover,.elementor .nav-link:focus-visible{color:var(--color-hover);}.elementor .nav-link{min-height:var(--touch);font-family:var(--font-heading);font-weight:700;font-size:var(--fs-small);color:var(--color-ink);text-decoration:none;transition:color 450ms, background-color 450ms;display:inline-flex;align-items:center;}.elementor .nav{width:auto;padding:var(--space-0);display:flex;flex-direction:row;gap:var(--space-6);align-items:center;}.elementor .header-actions{width:auto;padding:var(--space-0);display:flex;flex-direction:row;gap:var(--space-6);align-items:center;}.elementor .logo-img{width:auto;height:var(--logo-h);display:block;}.elementor .logo:hover,.elementor .logo:focus-visible{opacity:var(--logo-hover-opacity);}.elementor .logo{width:auto;min-height:var(--touch);color:var(--color-ink);text-decoration:none;padding:var(--space-0);transition:opacity 450ms;display:inline-flex;flex-direction:row;gap:var(--space-3);align-items:center;}.elementor .header-bar{min-height:var(--header-h);padding:var(--space-0);display:flex;flex-direction:row;gap:var(--space-6);justify-content:space-between;align-items:center;}.elementor .site-header{width:var(--full);font-family:var(--font-heading);font-weight:700;color:var(--color-ink);line-height:var(--lh-body);padding:var(--space-0);border-width:var(--space-0);border-color:var(--color-line);border-style:solid;background-color:var(--color-white);display:flex;flex-direction:column;}.elementor .tag{font-size:var(--fs-small);line-height:var(--lh-snug);padding-block-start:var(--space-2);padding-block-end:var(--space-2);padding-inline-start:var(--space-4);padding-inline-end:var(--space-4);border-radius:var(--radius-pill);background-color:var(--color-surface);display:inline-flex;align-items:center;}.elementor .title-page{font-family:var(--font-heading);font-weight:700;font-size:var(--fs-h1);color:var(--color-ink);letter-spacing:var(--tracking-display);line-height:var(--lh-tight);margin:var(--space-0);display:block;}.elementor .page{width:var(--full);font-family:var(--font-body);font-size:var(--fs-body);color:var(--color-ink);line-height:var(--lh-body);padding:var(--space-0);background-color:var(--color-white);display:flex;flex-direction:column;}.elementor .button-light:hover,.elementor .button-light:focus-visible{color:var(--color-on-ink);border-color:var(--color-hover);background-color:var(--color-hover);transform:scale3d(1.04, 1.04, 1);}.elementor .button-light{min-height:var(--touch);font-family:var(--font-heading);font-weight:700;font-size:var(--fs-small);color:var(--color-ink);letter-spacing:0px;line-height:var(--lh-snug);text-align:center;text-decoration:none;text-transform:none;cursor:pointer;padding-block-start:var(--space-3);padding-block-end:var(--space-3);padding-inline-start:var(--space-5);padding-inline-end:var(--space-5);border-radius:var(--radius-pill);border-width:var(--border);border-color:var(--color-white);border-style:solid;background-color:var(--color-white);transition:transform 450ms, background-color 450ms, border-color 450ms, color 450ms;display:inline-flex;gap:var(--space-3);justify-content:center;align-items:center;align-self:flex-start;}.elementor .button-primary:hover,.elementor .button-primary:focus-visible{color:var(--color-on-ink);border-color:var(--color-hover);background-color:var(--color-hover);transform:scale3d(1.04, 1.04, 1);}.elementor .button-primary{min-height:var(--touch);font-family:var(--font-heading);font-weight:700;font-size:var(--fs-small);color:var(--color-on-ink);letter-spacing:0px;line-height:var(--lh-snug);text-align:center;text-decoration:none;text-transform:none;cursor:pointer;padding-block-start:var(--space-3);padding-block-end:var(--space-3);padding-inline-start:var(--space-5);padding-inline-end:var(--space-5);border-radius:var(--radius-pill);border-width:var(--border);border-color:var(--color-ink);border-style:solid;background-color:var(--color-ink);transition:transform 450ms, background-color 450ms, border-color 450ms, color 450ms;display:inline-flex;gap:var(--space-3);justify-content:center;align-items:center;}.elementor .icon{width:var(--icon);height:var(--icon);display:flex;flex:0 0 auto;}.elementor .eyebrow{font-family:var(--font-heading);font-weight:700;font-size:var(--fs-label);color:var(--color-muted);letter-spacing:var(--tracking-label);line-height:var(--lh-snug);text-transform:uppercase;margin:var(--space-0);display:block;}.elementor .wrap{width:var(--full);max-width:var(--content-max);padding-block-start:var(--space-0);padding-block-end:var(--space-0);padding-inline-start:var(--gutter-desktop);padding-inline-end:var(--gutter-desktop);margin-block-start:var(--space-0);margin-block-end:var(--space-0);margin-inline-start:auto;margin-inline-end:auto;display:flex;flex-direction:column;}.elementor .order-page{padding-block-start:var(--space-7);padding-block-end:var(--space-9);padding-inline-start:var(--space-0);padding-inline-end:var(--space-0);}.elementor .logo-footer-img{width:auto;height:var(--logo-h-footer);display:block;}.elementor .header-cta{flex:0 0 auto;}.elementor .flow-num-active{color:var(--color-hover);border-color:var(--color-hover);}.elementor .flow-name-active{color:var(--color-hover);}