html.ai-notice-open, html.ai-notice-open body { overflow: hidden !important; }
#ai-notice {
  box-sizing: border-box;
  position: fixed;
  inset: 0;
  margin: auto;
  width: min(590px, calc(100% - 40px));
  max-height: calc(100dvh - 40px);
  padding: clamp(24px, 4vw, 40px);
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid #91b29f30;
  border-radius: 10px;
  background:
    radial-gradient(ellipse at 76% 40%, #78a18c35, transparent 49%),
    radial-gradient(circle at 22% 72%, #78a18c12, transparent 34%),
    linear-gradient(145deg, #1d2421 0%, #141917 58%, #0d100f 100%);
  color: #f3f5f2;
  box-shadow: 0 24px 90px #00000066;
  font: 300 14px/1.7 var(--font-sans, 'DM Sans', sans-serif);
}
#ai-notice::backdrop {
  background: #080e0bb3;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: background .52s ease, backdrop-filter .52s ease;
}
#ai-notice.is-docking::backdrop { background: transparent; backdrop-filter: blur(0); -webkit-backdrop-filter: blur(0); }
#ai-notice p { margin: 0 0 14px; color: #c0cac3; }
#ai-notice .ai-notice__eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 23px; font-size: 10px; letter-spacing: .15em; text-transform: uppercase; }
.ai-notice__eyebrow span { width: 7px; height: 7px; border-radius: 50%; background: #78a18c; }
#ai-notice-title { margin: 0 0 23px; color: #f3f5f2; font: 400 clamp(34px, 4vw, 46px)/1.04 "Poiret One", "Century Gothic", sans-serif; letter-spacing: -.035em; text-transform: none; }
#ai-notice-title span { color: #a8c7b6; }
#ai-notice .ai-notice__lead { font-weight: 300; color: #edf3ee; }
#ai-notice .ai-notice__note { margin: 22px 0 0; padding-top: 17px; border-top: 1px solid #91b29f30; font-size: 12px; color: #a9bbae; }
.ai-notice__confirm { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; margin-top: 24px; padding: 15px 18px; border: 1px solid #91b29f66; border-radius: 5px; background: transparent; color: #f3f5f2; font: 400 13px/1.4 var(--font-sans, 'DM Sans', sans-serif); cursor: pointer; }
.ai-notice__confirm:hover { background: #78a18c20; border-color: #a8c7b6; }
.ai-notice__confirm { transition: background .2s ease, border-color .2s ease; }
#ai-notice-badge { position: fixed; right: 0; top: 50%; z-index: 90; transform: translateY(-50%); display: flex; align-items: center; gap: 10px; writing-mode: vertical-rl; min-width: 40px; padding: 19px 11px; border: 1px solid #ffffff30; border-right: 0; border-radius: 6px 0 0 6px; background: #78a18c; color: #142319; box-shadow: 0 3px 18px #18271e20; font: 500 11px/1.4 var(--font-sans, 'DM Sans', sans-serif); letter-spacing: .04em; cursor: pointer; transition: padding .2s ease, background .2s ease; }
#ai-notice-badge:hover { padding-right: 16px; background: #78a18c; }
#ai-notice-badge:focus-visible, .ai-notice__confirm:focus-visible { outline: 2px solid #244b34; outline-offset: 4px; }
#ai-notice-badge:focus-visible { outline-offset: -4px; }
.ai-notice__confirm:focus-visible { outline: 1px solid #a8c7b6; outline-offset: 4px; }
@media (max-width: 480px) {
  #ai-notice { width: calc(100% - 28px); max-height: calc(100dvh - 28px); padding: 26px 23px; font-size: 13px; }
  #ai-notice-badge { min-width: 34px; padding: 16px 8px; font-size: 10px; }
  #ai-notice-title { font-size: 34px; }
}
@media (prefers-reduced-motion: reduce) { #ai-notice::backdrop, #ai-notice-badge { transition: none; } }
@media print { #ai-notice, #ai-notice-badge { display: none !important; } }

/* Personal sign-off using the site's original wordmark. */
.ai-notice__footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-top: 24px; }
.ai-notice__identity { display: grid; gap: 9px; }
#ai-notice .ai-notice__logo { display: inline-flex; width: fit-content; font-size: 29px; color: #f3f5f2; }
#ai-notice .ai-notice__logo .site-logo__suffix--text { background-color: #a8c7b6; }
.ai-notice__name { color: #a9bbae; font-size: 11px; letter-spacing: .06em; }
.ai-notice__legal { display: flex; gap: 16px; font-size: 11px; color: #a9bbae; }
.ai-notice__legal a { padding-block: 6px; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #91b29f60; }
.ai-notice__legal a:hover { color: #fff; text-decoration-color: currentColor; }
.ai-notice__footer a:focus-visible { outline: 1px solid #a8c7b6; outline-offset: 4px; }
@media (max-width: 480px) {
  .ai-notice__footer { align-items: flex-start; flex-direction: column; gap: 12px; }
}
#ai-notice .ai-notice__logo .site-logo__name { color: #f3f5f2; }
