/* Sculpted ivory bones and a compact mobile menu. */
@supports(overflow:clip) { body { overflow-x:clip; } }
.nav { border-bottom:2px solid #38261c; }
.nav-in { min-height:84px;padding:8px 0; }
.nav-links { flex-wrap:nowrap;gap:8px; }
.nav-actions { display:none; }
.nav-links .bone-link {
  --bone-angle:-1.5deg;position:relative;flex:0 0 auto;width:178px;height:64px;min-height:64px;min-width:0;
  padding:0 35px;border:0;border-radius:12px;clip-path:none;box-shadow:none;background:transparent;isolation:isolate;
  color:#463126;font:800 17px/1.15 var(--body);letter-spacing:-.025em;text-decoration:none;white-space:nowrap;
  text-shadow:none;transform:rotate(var(--bone-angle));
  transition:transform .2s cubic-bezier(.2,.7,.2,1),color .2s ease;
}
.nav-links .bone-link:nth-child(2) { width:202px;--bone-angle:1.3deg; }
.nav-links .bone-link:nth-child(3) { width:218px;--bone-angle:1.4deg; }
.nav-links .bone-link::before {
  content:"";position:absolute;inset:0;z-index:-1;background:url("../img/nav-bone.svg?v=1.6.0") center/100% 100% no-repeat;
  filter:drop-shadow(0 4px 2px rgba(113,74,22,.23));transition:filter .2s ease;
}
.nav-links .bone-link > span { display:block;transform:translateY(-1px); }
.nav-links .bone-link:hover,.nav-links .bone-link:focus-visible {
  background:transparent;box-shadow:none;color:#3a2618;transform:translateY(2px) rotate(0) scale(.975);
}
.nav-links .bone-link:hover::before,.nav-links .bone-link:focus-visible::before { filter:drop-shadow(0 1px 1px rgba(113,74,22,.24)); }
.nav-links .bone-link:active { transform:translateY(3px) rotate(0) scale(.95); }
.nav-links .bone-link:focus-visible { outline:2px solid #70428b;outline-offset:0; }
.menu-toggle,.mobile-menu-close {
  width:46px;height:46px;min-width:46px;min-height:46px;display:grid;place-items:center;flex:0 0 auto;
  padding:11px;border:1px solid rgba(93,55,31,.2);border-radius:15px;background:#fff6df;color:#513522;
  box-shadow:0 3px 0 rgba(109,64,19,.18),inset 0 1px 0 #fff;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease;
}
.menu-toggle { display:none; }
.menu-toggle svg,.mobile-menu-close svg { display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round; }
.menu-toggle:hover,.mobile-menu-close:hover { background:#fffaf0;transform:translateY(1px);box-shadow:0 2px 0 rgba(109,64,19,.18); }
.menu-toggle:active,.mobile-menu-close:active { transform:translateY(3px);box-shadow:none; }
.menu-toggle:focus-visible,.mobile-menu-close:focus-visible { outline:3px solid #70428b;outline-offset:3px; }
.mobile-menu {
  position:fixed;inset:0;z-index:260;display:grid;grid-template-columns:minmax(0,1fr);align-items:start;justify-items:center;
  padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  overscroll-behavior:contain;
}
.mobile-menu-backdrop { grid-column:auto;grid-row:auto;position:absolute;inset:0;z-index:0;background:rgba(42,27,50,.4);backdrop-filter:blur(7px);cursor:pointer;animation:hb-menu-veil .2s ease both; }
.mobile-menu-panel {
  grid-column:1;grid-row:1;position:relative;z-index:1;width:min(100%,420px);min-height:0;max-height:calc(100vh - 24px);
  max-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)));
  margin:0;padding:21px;display:flex;flex-direction:column;gap:0;border:1px solid rgba(255,255,255,.9);border-radius:28px;
  background:radial-gradient(ellipse at 110% -8%,#efe1fa 0,transparent 50%),radial-gradient(ellipse at -10% 108%,#ffedc4 0,transparent 48%),#fff9ef;
  box-shadow:0 24px 70px rgba(35,19,43,.28),inset 0 1px 0 #fff;overflow-y:auto;overscroll-behavior:contain;
  animation:hb-menu-in .28s cubic-bezier(.2,.75,.2,1) both;
}
.mobile-menu-head { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;margin:0 0 18px;border:0; }
.mobile-menu-head .brand-crop { width:150px; }
.mobile-menu-close { width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;background:rgba(255,255,255,.78);border-color:rgba(92,53,113,.13);color:#573468;box-shadow:0 2px 5px rgba(82,47,90,.07); }
.mobile-menu-intro { position:relative;margin:0 0 18px;padding-right:28px; }
.mobile-menu-kicker { font:800 9px/1.45 var(--body);letter-spacing:.085em;color:#97713f;margin:0 0 6px; }
.mobile-menu-intro h2 { position:relative;z-index:1;font:800 20px/1.25 var(--display);letter-spacing:-.035em;color:#422f51; }
.mobile-menu-bone { position:absolute;right:-10px;top:-10px;width:78px;height:27px;transform:rotate(28deg);opacity:.66;pointer-events:none; }
.mobile-menu-links { display:grid;gap:9px; }
.mobile-nav-card {
  display:flex;align-items:center;gap:11px;min-height:68px;padding:11px 12px;border:1px solid rgba(151,111,65,.1);border-radius:18px;
  color:#513524;background:linear-gradient(120deg,#fff3d7,#faf1df);text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  transition:transform .18s ease,box-shadow .18s ease;animation:hb-menu-link .32s ease both;
}
.mobile-nav-card:nth-child(2) { animation-delay:.035s; }.mobile-nav-card:nth-child(3) { animation-delay:.07s; }.mobile-nav-card:nth-child(4) { animation-delay:.105s; }
.mobile-nav-how { background:linear-gradient(120deg,#f0e8ff,#f5effb);color:#64427a;border-color:rgba(112,71,145,.1); }
.mobile-nav-faq { background:linear-gradient(120deg,#e7f3eb,#edf6ec);color:#3c6850;border-color:rgba(55,117,84,.1); }
.mobile-nav-profile { background:linear-gradient(120deg,#ffebe4,#fff1e9);color:#94543b;border-color:rgba(163,92,62,.1); }
.mobile-nav-icon { display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.66);box-shadow:inset 0 1px 0 #fff; }
.mobile-nav-icon svg { width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round; }
.mobile-nav-copy { min-width:0;flex:1; }
.mobile-nav-copy strong { display:block;font:800 14px/1.35 var(--body);color:#49374c; }
.mobile-nav-copy small { display:block;font:500 11px/1.45 var(--body);margin-top:3px;color:#776772; }
.mobile-nav-arrow { width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.65; }
.mobile-nav-card:hover,.mobile-nav-card:focus-visible { transform:translateX(2px);box-shadow:0 4px 12px rgba(71,42,69,.07),inset 0 1px 0 #fff; }
.mobile-nav-card:active { transform:scale(.98); }
.mobile-nav-card:focus-visible { outline:2px solid #70428b;outline-offset:2px; }
.mobile-menu-panel > .mobile-menu-cta {
  display:flex;align-items:center;justify-content:center;gap:11px;min-height:49px;padding:13px 16px;margin:17px 0 0;border:1px solid #b83f2d;
  border-radius:16px;background:linear-gradient(145deg,#e76447,#c84433);color:#fff;font:800 14px/1.4 var(--body);text-decoration:none;
  box-shadow:0 4px 0 #a63529,inset 0 1px 0 rgba(255,255,255,.25);transition:transform .16s ease,box-shadow .16s ease;
}
.mobile-menu-panel > .mobile-menu-cta svg { width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.mobile-menu-panel > .mobile-menu-cta:hover,.mobile-menu-panel > .mobile-menu-cta:focus-visible { background:linear-gradient(145deg,#e76447,#c84433);color:#fff;transform:translateY(1px);box-shadow:0 3px 0 #a63529; }
.mobile-menu-panel > .mobile-menu-cta:active { transform:translateY(3px);box-shadow:0 1px 0 #a63529; }
.mobile-menu-note { margin:15px 0 0;text-align:center;font:500 10px/1.5 var(--body);color:#857584; }
.mobile-nav-nojs { display:none; }
@keyframes hb-menu-in { from { opacity:0;transform:translateY(-10px) scale(.975); } to { opacity:1;transform:none; } }
@keyframes hb-menu-veil { from { opacity:0; } to { opacity:1; } }
@keyframes hb-menu-link { from { opacity:0;transform:translateY(6px); } to { opacity:1;transform:none; } }
@media(max-width:1100px) and (min-width:921px) {
  .nav-links { gap:5px; }.nav-links .bone-link { width:143px;font-size:15.5px;padding:0 27px; }
  .nav-links .bone-link:nth-child(2) { width:174px; }.nav-links .bone-link:nth-child(3) { width:188px; }
}
@media(max-width:920px) {
  .nav-in { min-height:70px;padding:8px 0; }.nav-links { display:none; }.nav-actions { display:flex;margin:0; }.hb-menu-ready .menu-toggle { display:grid; }
  .mobile-nav-nojs { display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding:12px 16px;background:#fff0c4; }
  .mobile-nav-nojs a { color:#583c24;font:800 12px/1.4 var(--body);padding:10px 12px;border-radius:14px;background:#fff9e9;text-decoration:none; }
}
@media(min-width:561px) and (max-width:920px) { .mobile-menu { padding-top:max(28px,env(safe-area-inset-top)); }.mobile-menu-panel { max-height:calc(100dvh - 56px); } }
@media(max-width:359px) {
  .mobile-menu-panel { padding:17px;border-radius:24px; }.mobile-menu-head { margin-bottom:15px; }
  .mobile-menu-intro { margin-bottom:15px; }.mobile-menu-intro h2 { font-size:18px; }.mobile-menu-kicker { font-size:8px; }
  .mobile-nav-card { padding:10px;gap:9px; }.mobile-nav-icon { flex-basis:34px;width:34px;height:34px; }.mobile-nav-copy small { font-size:10px; }
}
@media(max-height:600px) { .mobile-menu-panel { padding:16px; }.mobile-menu-head { margin-bottom:12px; }.mobile-menu-intro { margin-bottom:13px; }.mobile-menu-links { gap:7px; }.mobile-nav-card { min-height:62px;padding:9px 11px; }.mobile-menu-note { margin-top:12px; } }
@media(prefers-reduced-motion:reduce) {
  .nav-links .bone-link,.nav-links .bone-link::before,.menu-toggle,.mobile-menu-close,.mobile-nav-card,.mobile-menu-panel > .mobile-menu-cta { transition:none; }
  .nav-links .bone-link:hover,.nav-links .bone-link:focus-visible { transform:rotate(var(--bone-angle)); }
  .mobile-menu-panel,.mobile-menu-backdrop,.mobile-nav-card { animation:none; }
}
.page-loader {position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:rgba(255,249,238,.88);backdrop-filter:blur(5px);padding:20px;}
.page-loader[hidden],.loader-dismiss[hidden] {display:none!important;}
.page-loader-card {text-align:center;max-width:340px;}
.page-loader-card p {font-weight:800;color:#36214f;font-size:15px;margin:20px 0 0;}
.loading-paws {display:flex;justify-content:center;align-items:center;gap:20px;height:74px;}
.loading-paws svg {width:48px;height:48px;fill:#6a4691;animation:hb-paw-step 1s ease-in-out infinite;}
.loading-paws svg:nth-child(2) {fill:#e85d45;animation-delay:.16s;}
.loading-paws svg:nth-child(3) {fill:#b48b05;animation-delay:.32s;}
.loader-dismiss {margin-top:20px;border:1px solid #6a4691;border-radius:999px;padding:10px 18px;font:700 13px var(--body);background:#fff;cursor:pointer;}
@keyframes hb-paw-step {0%,100% {transform:translateY(7px) rotate(-9deg);opacity:.35;}45% {transform:translateY(-12px) rotate(9deg);opacity:1;}}
@media(prefers-reduced-motion:reduce) {.loading-paws svg {animation:none;}}
.page-profile .sticky{display:none}

/* Private administrator checkout testing, clearly separate from real payments. */
.hb-test-banner {
  display:flex;align-items:center;gap:15px;padding:15px max(16px,calc((100% - 1160px)/2));
  border-bottom:1px solid #becbea;background:linear-gradient(115deg,#e8e9ff,#edf7ff);color:#34446d;
  font-family:var(--body,"Manrope",system-ui,sans-serif);
}
.hb-test-banner::before {
  content:"TEST";box-sizing:border-box;display:grid;place-items:center;flex:0 0 64px;min-height:40px;padding:8px 10px;
  border:1px solid #c5c6eb;border-radius:12px;background:#fff;color:#5b4196;
  font:800 13px/1.2 var(--body,"Manrope",system-ui,sans-serif);letter-spacing:.08em;
  box-shadow:0 2px 7px rgba(76,57,132,.06);
}
.hb-test-banner-copy { flex:1;min-width:0; }
.hb-test-banner-copy strong { display:block;color:#333565;font-size:15px;line-height:1.5;font-weight:800; }
.hb-test-banner-copy span { display:block;margin-top:2px;color:#53617e;font-size:12px;line-height:1.6;overflow-wrap:anywhere; }
.hb-test-banner > form { flex:0 0 auto;margin:0; }
.hb-test-exit {
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;
  border:1px solid #a5b5d9;border-radius:12px;background:#fff;color:#3d4b75;
  font:800 12px/1.5 var(--body,"Manrope",system-ui,sans-serif);cursor:pointer;
  box-shadow:0 2px 0 #ccd4e8;transition:transform .16s ease,box-shadow .16s ease;
}
.hb-test-exit:hover { background:#f9f8ff;transform:translateY(1px);box-shadow:0 1px 0 #ccd4e8; }
.hb-test-exit:active { transform:translateY(2px);box-shadow:none; }
.hb-test-exit:focus-visible { outline:3px solid #7350b8;outline-offset:3px; }
.test-payment-shell { width:min(100% - 32px,760px);margin:0 auto;padding:42px 0 54px; }
.test-payment-shell > .wrap { width:100%;margin-inline:auto; }
.page-payment-test .sticky,.page-payment-test .cookie-manage { display:none; }
.test-payment-card {
  position:relative;min-width:0;margin:0;padding:clamp(22px,4vw,40px);border:1px solid #c9c9e8;border-radius:28px;
  background:radial-gradient(ellipse at 115% -10%,#ede7ff 0,transparent 48%),radial-gradient(ellipse at -12% 110%,#e7f1ff 0,transparent 48%),#fff;
  color:#34405d;box-shadow:0 18px 55px rgba(67,52,115,.09),inset 0 1px 0 #fff;overflow-wrap:anywhere;
}
.test-payment-kicker,.test-payment-card > .test-payment-kicker {
  display:inline-block;margin:0 0 17px;padding:8px 12px;border:1px dashed #8f83bd;border-radius:10px;
  background:#edeaff;color:#5b4395;font:800 12px/1.4 var(--body);letter-spacing:.11em;transform:none;
}
.test-payment-card h1 { margin:0 0 14px;font-size:clamp(25px,4vw,36px);line-height:1.22;letter-spacing:-.035em;color:#363354; }
.test-payment-card > p { color:#66718a;font-size:15px;line-height:1.75; }
.test-payment-amount,.test-payment-card > .test-payment-amount {
  display:flex;align-items:baseline;flex-wrap:wrap;gap:9px;margin:23px 0;padding:19px 22px;
  border:1px solid #d6def0;border-radius:18px;background:rgba(247,249,255,.88);color:#35365f;
  font:800 clamp(30px,5vw,42px)/1.2 var(--display);letter-spacing:-.035em;
}
.test-payment-amount small,.test-payment-amount > span { font:700 13px/1.5 var(--body);letter-spacing:0;color:#626982; }
.test-payment-details {
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:11px 20px;margin:20px 0;
  padding:18px 0;border-top:1px solid #e0e3ef;border-bottom:1px solid #e0e3ef;font-size:13px;line-height:1.65;
}
.test-payment-details > * { min-width:0;margin:0;overflow-wrap:anywhere; }
.test-payment-details dt { color:#6b7490; }.test-payment-details dd { color:#384365;font-weight:800;text-align:right; }
.test-payment-details p { margin:0; }.test-payment-details strong,.test-payment-details b { color:#384365; }
.test-payment-actions { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 18px; }
.test-payment-actions > form { display:flex;min-width:0;margin:0; }
.test-payment-actions .btn {
  display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;padding:13px 12px;
  border:1px solid #bfc5dd;border-radius:14px;background:#fff;color:#4a4a74;
  font:800 13px/1.4 var(--body);text-align:center;white-space:normal;box-shadow:0 3px 0 #d2d5e7;
  transition:transform .16s ease,box-shadow .16s ease;
}
.test-payment-actions .btn-3 { border-color:#2d704e;background:linear-gradient(135deg,#397c56,#30734f);color:#fff;box-shadow:0 3px 0 #21543a; }
.test-payment-actions .btn:hover { transform:translateY(1px);box-shadow:0 2px 0 #d2d5e7; }
.test-payment-actions .btn-3:hover { box-shadow:0 2px 0 #21543a; }
.test-payment-actions .btn:active { transform:translateY(3px);box-shadow:none; }
.test-payment-actions .btn:focus-visible { outline:3px solid #7350b8;outline-offset:3px; }
.test-payment-notice,.test-payment-card > .test-payment-notice {
  margin:18px 0 0;padding:16px 18px;border:1px dashed #b4acd3;border-radius:16px;background:#f4f1ff;
  color:#64547d;font-size:13px;line-height:1.75;
}
.test-payment-notice p:last-child { margin-bottom:0; }.test-payment-notice strong { color:#49356d; }
.test-payment-result {
  margin:22px 0;padding:20px 22px;border:1px solid #c3dfce;border-left:4px solid #38815a;border-radius:16px;
  background:#eef8f2;color:#375d49;font-size:14px;line-height:1.75;
}
.test-payment-result[data-state="failed"] { border-color:#e4c1bc;border-left-color:#bd5c4b;background:#fff2ee;color:#874e44; }
.test-payment-result[data-state="canceled"] { border-color:#cdd7eb;border-left-color:#637bb4;background:#f0f4fc;color:#4f6187; }
.test-payment-result h2,.test-payment-result > strong { display:block;margin:0 0 10px;font:800 20px/1.35 var(--body);color:inherit;letter-spacing:-.02em; }
.test-payment-result p:last-child { margin-bottom:0; }
.test-payment-links { display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 22px;margin:25px 0 0;font-size:13px;line-height:1.6; }
.test-payment-links a:not(.btn) { color:#5b4592;font-weight:800;text-underline-offset:4px;text-decoration-thickness:1px; }
.test-payment-links a:not(.btn):hover { color:#36245e; }
@media(max-width:600px) {
  .hb-test-banner { flex-wrap:wrap;gap:10px 12px;padding:13px 16px; }
  .hb-test-banner::before { flex-basis:54px;min-height:38px;font-size:11px; }
  .hb-test-banner-copy { flex-basis:calc(100% - 70px); }.hb-test-banner-copy strong { font-size:13px; }.hb-test-banner-copy span { font-size:11px; }
  .hb-test-banner > form { margin-left:auto; }.hb-test-exit { min-height:44px;padding:9px 13px;font-size:11px; }
  .test-payment-shell { padding:25px 0 40px; }.test-payment-card { border-radius:22px; }
  .test-payment-card > p { font-size:14px; }.test-payment-kicker,.test-payment-card > .test-payment-kicker { font-size:10px;padding:7px 10px; }
  .test-payment-amount,.test-payment-card > .test-payment-amount { padding:17px;margin:20px 0; }.test-payment-amount small,.test-payment-amount > span { font-size:12px; }
  .test-payment-actions { grid-template-columns:1fr;gap:11px;margin:21px 0 17px; }.test-payment-actions .btn { min-height:50px;font-size:14px; }
  .test-payment-details { gap:10px 12px;font-size:12px; }.test-payment-notice,.test-payment-card > .test-payment-notice { padding:14px;font-size:12px; }
  .test-payment-result { padding:17px;font-size:13px; }.test-payment-result h2,.test-payment-result > strong { font-size:18px; }
}
@media(max-width:359px) {
  .test-payment-card { padding:20px 18px; }.test-payment-card h1 { font-size:23px; }
  .test-payment-details { grid-template-columns:1fr;gap:4px; }.test-payment-details dd { text-align:left;margin-bottom:9px; }
}
@media(prefers-reduced-motion:reduce) { .hb-test-exit,.test-payment-actions .btn { transition:none; } }
/* Optional continuation is a button, separate from required checkout consents. */
.checkout-save-later{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:14px 0 4px}
.checkout-save-later button{border:0;background:none;padding:6px 0;color:var(--muted);font:700 12px var(--body);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.checkout-save-later button:hover{color:var(--ink)}
.checkout-save-later p{flex-basis:100%;font-size:12px;color:var(--muted);text-align:center;margin:0;line-height:1.6}
.checkout-save-later button[hidden]{display:none}

/* Card logos sit directly below the profile link in the contacts column. */
footer .f-card-logos { display:flex;align-items:center;gap:14px;margin-top:14px; }
footer .f-card-logos img { display:block;flex:0 0 auto;object-fit:contain; }
footer .f-card-visa { width:67px;height:auto; }
footer .f-card-mastercard { width:50px;height:auto; }

/* Private preview controls stay separate from account and admin sign-in. */
.hb-preview-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:9px max(20px,calc((100% - 1220px)/2));background:#ede4f4;color:#5c4071;font:600 11px/1.5 var(--body);border-bottom:1px solid #d9c9e6;position:relative;z-index:5}.hb-preview-bar form{margin:0;flex:none}.hb-preview-bar button{font:800 11px/1.5 var(--body);border:0;border-radius:8px;background:#fff9;color:#5c4071;cursor:pointer;padding:7px 10px}.hb-preview-bar button:hover{background:#fff}.hb-preview-bar button:focus-visible{outline:2px solid #795790;outline-offset:3px}
@media(max-width:480px){.hb-preview-bar{padding:7px 14px;gap:8px;font-size:10px}.hb-preview-bar button{font-size:10px;padding:6px 8px}}
