
  html:has(.tooto-age-gate[open]), body:has(.tooto-age-gate[open]) { overflow: hidden; }
  .tooto-age-gate {
    position: fixed;
    inset: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--tooto-age-bg);
    color: var(--tooto-age-text);
    overflow: auto;
    overscroll-behavior: contain;
    z-index: 2147483647;
    font: 400 16px/1.2 var(--hcl-font-body);
  }
  .tooto-age-gate[hidden] { display: none; }
  .tooto-age-gate::backdrop { background: var(--tooto-age-bg); }
  .tooto-age-gate__background { position: fixed; inset: 0; pointer-events: none; }
  .tooto-age-gate__background img { width: 100%; height: 100%; object-fit: cover; }
  .tooto-age-gate .tooto-age-gate__layout {
    position: relative;
    min-height: 100svh;
    padding-block: max(var(--tooto-age-mobile-top), env(safe-area-inset-top)) max(var(--tooto-age-mobile-bottom), env(safe-area-inset-bottom));
    align-content: stretch;
    background: transparent;
  }
  .tooto-age-gate__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    min-width: 0;
    justify-self: center;
    text-align: center;
    padding-block-start: max(0px, calc(27.22svh - var(--tooto-age-mobile-top)));
    padding-inline: 0;
    overflow-wrap: anywhere;
    animation: tooto-age-enter 700ms ease-out both;
  }
  .tooto-age-gate__heading { width: 100%; }
  .tooto-age-gate__heading--with-icon { padding-block-start: 70px; }
  .tooto-age-gate__key-slot { position: relative; flex: 0 0 24px; align-self: stretch; }
  .tooto-age-gate__icon { position: absolute; left: 50%; bottom: -4px; display: block; width: 35px; max-width: none; height: 98px; object-fit: contain; transform: translateX(-50%); pointer-events: none; }
  .tooto-age-gate__key-slot--above { position: absolute; left: 50%; top: 0; width: 0; height: 0; }
  .tooto-age-gate__key-slot--above .tooto-age-gate__icon { bottom: 8px; }
  .tooto-age-gate__heading:has(.tooto-age-gate__key-slot--above) { padding-block-start: 106px; }
  .tooto-age-gate h2 { position: relative; display: flex; justify-content: center; margin: 0; color: var(--tooto-age-accent); font: 400 24px/28px var(--hcl-font-body); }
  .tooto-age-gate__description { width: min(100%, 228.5px); margin: 16px auto 0; font-size: 13px; line-height: 1.2; }
  .tooto-age-gate__actions { width: min(100%, 270px); margin: 20.5px auto 0; }
  .tooto-age-gate__actions p { margin: 0 0 9px; color: var(--tooto-age-accent); font-size: 17px; line-height: 1.2; }
  .tooto-age-gate__buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9.5px; }
  .tooto-age-gate__buttons button {
    min-height: 32px;
    padding: 5px;
    border: 1px solid var(--tooto-age-accent);
    border-radius: 0;
    background: var(--tooto-age-accent);
    color: var(--tooto-age-text);
    font: 600 13px/1.2 var(--hcl-font-body);
    cursor: pointer;
    transition: background-color 200ms ease, border-color 200ms ease;
  }
  .tooto-age-gate__remember { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; margin-top: auto; padding-top: 24px; margin-bottom: max(0px, calc(7.82svh - var(--tooto-age-mobile-bottom))); font-size: 13px; cursor: pointer; }
  .tooto-age-gate .tooto-age-gate__remember input[type="checkbox"] {
    appearance: none;
    display: inline-grid;
    place-content: center;
    flex-shrink: 0;
    width: 12px;
    height: 12px;
    margin: 0;
    padding: 0;
    border: 1px solid var(--tooto-age-accent);
    border-radius: 0;
    background: transparent;
    cursor: pointer;
  }
  .tooto-age-gate .tooto-age-gate__remember input[type="checkbox"]:checked { background: var(--tooto-age-accent); }
  .tooto-age-gate .tooto-age-gate__remember input[type="checkbox"]::after {
    content: '';
    position: static;
    inset: auto;
    background: transparent;
    mask: none;
    opacity: 0;
    width: 6px;
    height: 3px;
    border-left: 1.5px solid var(--tooto-age-text);
    border-bottom: 1.5px solid var(--tooto-age-text);
    transform: translateY(-1px) rotate(-45deg);
  }
  .tooto-age-gate .tooto-age-gate__remember input[type="checkbox"]:checked::after { opacity: 1; }
  .tooto-age-gate__buttons button:focus { outline: none; box-shadow: none; }
  .tooto-age-gate__buttons button:is(:active, :focus-visible) {
    background: color-mix(in srgb, var(--tooto-age-accent) 80%, #000);
    border-color: color-mix(in srgb, var(--tooto-age-accent) 80%, #000);
  }
  .tooto-age-gate .tooto-age-gate__remember input[type="checkbox"]:focus-visible { outline: 1px solid var(--tooto-age-accent); outline-offset: 3px; }
  .tooto-age-gate__heading h2:focus { outline: none; }
  .tooto-age-gate__denied { margin: 16px 0 0; color: var(--tooto-age-text); }
  @media (hover: hover) {
    .tooto-age-gate .tooto-age-gate__remember:hover input[type="checkbox"] { background: var(--tooto-age-accent); border-color: var(--tooto-age-accent); }
    .tooto-age-gate .tooto-age-gate__remember:hover input[type="checkbox"]::after { opacity: 1; }
    .tooto-age-gate__buttons button:hover {
      background: color-mix(in srgb, var(--tooto-age-accent) 80%, #000);
      border-color: color-mix(in srgb, var(--tooto-age-accent) 80%, #000);
    }
  }
  @media screen and (min-width: 750px) {
    .tooto-age-gate .tooto-age-gate__layout { padding-block: var(--tooto-age-top) var(--tooto-age-bottom); align-content: center; }
    .tooto-age-gate__content { width: min(100%, 680px); padding-block-start: 0; }
    .tooto-age-gate__heading--with-icon { padding-block-start: 140px; }
    .tooto-age-gate h2 { font-size: 48px; line-height: 56px; }
    .tooto-age-gate__key-slot { flex-basis: 48px; }
    .tooto-age-gate__icon { width: 70px; height: 196px; bottom: -8px; }
    .tooto-age-gate__heading:has(.tooto-age-gate__key-slot--above) { padding-block-start: 212px; }
    .tooto-age-gate__key-slot--above .tooto-age-gate__icon { bottom: 16px; }
    .tooto-age-gate__description { width: min(100%, 457px); margin-top: 12px; font-size: 16px; }
    .tooto-age-gate__actions { width: min(100%, 287px); margin-top: 41px; }
    .tooto-age-gate__actions p { margin-bottom: 18px; font-size: 20px; }
    .tooto-age-gate__buttons { gap: 19px; }
    .tooto-age-gate__buttons button { min-height: 40px; padding: 10px; font-size: 16px; font-weight: 400; }
    .tooto-age-gate__remember { margin: 28px 0 0; padding-top: 0; font-size: 16px; }
    .tooto-age-gate .tooto-age-gate__remember input[type="checkbox"] { width: 14px; height: 14px; }
  }
  @keyframes tooto-age-enter { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
  @media (prefers-reduced-motion: reduce) {
    .tooto-age-gate__content { animation: none; }
    .tooto-age-gate__buttons button { transition: none; }
  }

.tooto-age-gate{--hcl-font-body:"Tooto HCL Garamond",serif;box-sizing:border-box}.tooto-age-gate *{box-sizing:border-box}.tooto-age-gate__description,.tooto-age-gate__remember{color:var(--tooto-age-text)}
