/* Shared studio materials; existing consent controller owns all behavior. */
html body .cookie-banner.nc-banner {
  inset:auto 24px 24px!important;width:calc(100% - 48px)!important;max-width:1120px!important;margin-inline:auto!important;
  max-height:calc(100dvh - 48px);padding:0!important;overflow:auto!important;overscroll-behavior:contain;
  border:1px solid #414141!important;border-radius:26px!important;background:#181818!important;color:#fff!important;
  box-shadow:0 1px 0 #ffffff10 inset,0 12px 48px #0005!important;
  transform:translate3d(0,22px,0)!important;transition:opacity 240ms ease,transform 440ms cubic-bezier(.22,1,.36,1),visibility 0s linear 440ms!important;
}
html body .cookie-banner.nc-banner.is-visible {transform:translate3d(0,0,0)!important;transition-delay:0s!important}
html body .nc-banner::before,html body .nc-banner::after {content:none!important;display:none!important}
html body .nc-banner .cookie-banner__content {display:grid!important;grid-template-columns:130px minmax(0,1fr) 334px!important;align-items:center!important;gap:25px!important;width:auto!important;margin:0!important;padding:27px 30px 25px 21px!important}
.nc-banner__copy,.nc-banner__controls {min-width:0}
.nc-eyebrow {margin:0 0 12px;color:#bcbcbc;font-size:11px;font-weight:500;line-height:1.4;letter-spacing:.1em;text-transform:uppercase}
html body .nc-banner .cookie-banner__title {padding:0!important;margin:0!important;font-size:32px!important;line-height:1.08!important;font-weight:500!important;letter-spacing:-.045em!important;text-transform:none!important;white-space:normal!important;color:#fff!important;text-wrap:balance}
.nc-banner__description {margin:13px 0 0;color:#bcbcbc;font-size:15px;line-height:1.6;text-wrap:pretty}
.nc-banner__art {display:flex;align-items:center;justify-content:center;min-width:0}
/* Baked native Three.js model: one 15 KB WebP, no runtime WebGL or JS loop. */
.nc-sculpture {display:block;position:relative;width:126px;height:144px;flex:none;pointer-events:none}
.nc-sculpture__shadow {position:absolute;bottom:8px;left:21px;width:84px;height:12px;border-radius:50%;background:#0005;filter:blur(7px)}
.nc-sculpture__float {position:absolute;inset:0 0 18px;transform:translateY(0) rotate(-2deg)}
.nc-sculpture__image {display:block;width:126px;height:126px;max-width:none;object-fit:contain;user-select:none}
.nc-banner.is-visible .nc-sculpture__float,.nc-settings.is-open .nc-sculpture__float {animation:nc-object-drift 7s ease-in-out infinite}
@keyframes nc-object-drift {0%,100% {transform:translateY(0) rotate(-2deg)}50% {transform:translateY(-5px) rotate(3deg)}}
html body .nc-banner .cookie-banner__actions {display:grid!important;grid-template-columns:1fr 1fr!important;grid-auto-flow:row!important;gap:10px!important;margin:0!important}
html body :is(.nc-banner,.nc-settings) .nc-button {
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:9px!important;position:relative!important;isolation:isolate;
  min-width:0!important;width:100%!important;min-height:52px!important;margin:0!important;padding:10px 11px 10px 17px!important;
  border:1px solid #f4f4f4!important;border-radius:99px!important;background:#f4f4f4!important;color:#101010!important;overflow:hidden!important;
  font-family:inherit!important;font-size:14px!important;font-weight:500!important;line-height:1.3!important;letter-spacing:0!important;text-transform:none!important;text-align:left!important;white-space:normal!important;cursor:pointer;
  box-shadow:none!important;transform:none!important;transition:border-color 500ms ease,box-shadow 300ms ease!important;
}
html body :is(.nc-banner,.nc-settings) .nc-button::before {content:""!important;display:block!important;position:absolute!important;z-index:-1!important;inset:auto 12px auto auto!important;top:50%!important;width:28px!important;height:28px!important;border-radius:50%!important;background:#ff6418!important;opacity:1!important;transform:translateY(-50%) scale(0)!important;transition:transform 650ms cubic-bezier(.22,1,.36,1)!important}
html body :is(.nc-banner,.nc-settings) .nc-button::after {content:none!important;display:none!important}
html body :is(.nc-banner,.nc-settings) .nc-button>span {position:relative;min-width:0;flex:1;white-space:normal!important;color:inherit!important;transform:none!important}
html body :is(.nc-banner,.nc-settings) .nc-button>i {display:grid;place-items:center;position:relative;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#ff6418;color:#101010;transition:transform 650ms cubic-bezier(.22,1,.36,1),background-color 500ms ease}
.nc-button>i svg {width:15px;height:15px;stroke:currentColor;stroke-width:1.7}
html body :is(.nc-banner,.nc-settings) .nc-button:hover {border-color:#ff6418!important;color:#101010!important}
html body :is(.nc-banner,.nc-settings) .nc-button:hover::before {transform:translateY(-50%) scale(28)!important}
html body :is(.nc-banner,.nc-settings) .nc-button:hover>i {transform:rotate(45deg);background:#fff}
html body :is(.nc-banner,.nc-settings) .nc-button:active {box-shadow:inset 0 2px 5px #10101022!important}
.nc-banner__links {display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;gap:12px;margin-top:0}
html body .nc-banner .nc-settings-link {display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-height:40px;padding:6px 0;border:0;border-radius:0;background:none;color:#fff;cursor:pointer;font-family:inherit;font-size:12px!important;font-weight:400;line-height:1.4;text-align:left}
.nc-settings-link>span {background:linear-gradient(#ff6418,#ff6418) 0 100%/0 1px no-repeat;padding-bottom:3px;transition:background-size 500ms cubic-bezier(.22,1,.36,1)}
.nc-settings-link:hover>span {background-size:100% 1px}
.nc-settings-link svg {flex:none;width:17px;height:17px;stroke:currentColor;stroke-width:1.3}
.nc-settings-link circle {fill:#181818}
.nc-policy {display:inline-flex;align-items:center;gap:7px;min-height:40px;color:#bcbcbc;font-size:12px;font-weight:400;text-decoration:none;line-height:1.5}
.nc-policy>span[aria-hidden] {display:flex}
.nc-policy svg {width:13px;height:13px;stroke:currentColor;stroke-width:1.4;transition:transform 400ms ease}
.nc-policy:hover {text-decoration:underline;text-underline-offset:4px;color:inherit}
.nc-policy:hover svg {transform:translate(2px,-2px)}
html body .nc-settings.cookie-settings-modal {padding:24px!important;transition:opacity 240ms ease,visibility 0s linear 440ms!important}
html body .nc-settings.cookie-settings-modal.is-open {transition-delay:0s!important}
html body .nc-settings .cookie-settings-modal__backdrop {background:#10101099!important;backdrop-filter:blur(9px)!important}
html body .nc-settings .cookie-settings-modal__panel {display:block!important;width:min(650px,100%)!important;max-height:calc(100dvh - 48px)!important;padding:0!important;border:1px solid #4b4b4b!important;border-radius:30px!important;background:#f8f8f8!important;color:#101010!important;overflow:auto!important;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#999 #f8f8f8;box-shadow:0 24px 100px #0005!important}
.nc-settings__head {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:32px 38px 30px;background:#181818;border-bottom:3px solid #ff6418}
.nc-settings__head>div {min-width:0;flex:1}
.nc-settings__head>.nc-sculpture {margin:26px 3px 0 0}
html body .nc-settings .nc-settings__head .nc-eyebrow {margin:0 0 13px!important;padding:0!important;color:#bcbcbc!important;font-size:11px!important;line-height:1.4!important}
html body .nc-settings .cookie-settings-modal__panel h2 {margin:0 0 14px!important;padding:0!important;color:#fff!important;font-size:39px!important;font-weight:500!important;line-height:1.05!important;letter-spacing:-.045em!important;text-wrap:balance}
html body .nc-settings #cookie-settings-description {margin:0!important;color:#bcbcbc!important;font-size:14px!important;line-height:1.6!important;text-wrap:pretty}
.nc-close {display:grid;place-items:center;position:absolute;z-index:1;top:14px;right:14px;width:40px;height:40px;padding:0;border:1px solid #555;border-radius:50%;background:#181818;color:#fff;cursor:pointer;transition:background-color 300ms ease,transform 500ms cubic-bezier(.22,1,.36,1)}
.nc-close svg {width:18px;height:18px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.nc-close:hover {background:#333;transform:rotate(90deg)}
.nc-settings__choices {padding:0 38px;counter-reset:nc-choice}
html body .nc-settings .cookie-settings-row {display:grid!important;grid-template-columns:22px minmax(0,1fr) 36px!important;gap:15px!important;align-items:center!important;padding:23px 0!important;margin:0!important;border:0!important;border-bottom:1px solid #ddd!important;background:none!important}
.nc-settings .cookie-settings-row::before {counter-increment:nc-choice;content:"0" counter(nc-choice);color:#888;font-size:10px;font-variant-numeric:tabular-nums;align-self:start;padding-top:5px}
html body .nc-settings .cookie-settings-row>span {display:block!important}
html body .nc-settings .cookie-settings-row strong {display:block;margin-bottom:6px;color:#101010!important;font-size:18px!important;font-weight:500!important;line-height:1.3!important}
html body .nc-settings .cookie-settings-row small {display:block;color:#646464!important;font-size:14px!important;line-height:1.5!important}
.nc-essential {cursor:default!important}
.nc-essential em {display:none}
html body .nc-settings .cookie-settings-row input[type=checkbox] {appearance:none!important;position:relative;width:36px!important;height:36px!important;padding:0!important;margin:0!important;border:1px solid #aaa!important;border-radius:12px!important;background:#eee!important;opacity:1!important;cursor:pointer;transition:background-color 350ms ease,border-color 350ms ease,box-shadow 350ms ease}
html body .nc-settings .cookie-settings-row input[type=checkbox]::before {content:"";position:absolute;top:10px;left:10px;width:14px;height:9px;border-left:2px solid #101010;border-bottom:2px solid #101010;background:none;transform:translateY(2px) rotate(-45deg) scale(.7);opacity:0;transition:opacity 200ms ease,transform 400ms cubic-bezier(.22,1,.36,1)}
html body .nc-settings .cookie-settings-row input:checked {background:#ff6418!important;border-color:#ff6418!important;box-shadow:0 2px 0 #c94b12!important}
html body .nc-settings .cookie-settings-row input:checked::before {opacity:1;transform:translateY(0) rotate(-45deg) scale(1)}
html body .nc-settings .cookie-settings-row input:disabled {background:#222!important;border-color:#222!important;box-shadow:0 2px 0 #000!important;cursor:default}
html body .nc-settings .cookie-settings-row input:disabled::before {border-color:#fff}
.nc-settings__bottom {padding:5px 38px 28px}
.nc-settings__bottom>.nc-policy {color:#646464;margin:3px 0 13px}
html body .nc-settings .cookie-settings-actions {display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;margin:0!important;padding:0!important;border:0!important}
html body .nc-settings .nc-button {background:#f8f8f8!important;border-color:#bcbcbc!important;padding-left:21px!important;font-size:14px!important}
html body .nc-settings .nc-button--save {background:#ff6418!important;border-color:#ff6418!important}
html body .nc-settings .nc-button--save>i {background:#fff}
html body .nc-settings .nc-button--save::before {background:#fff!important}
html body .nc-settings .nc-button--save:hover>i {background:#ff6418}
html body .nc-banner :is(button,a):focus-visible,html body .nc-settings :is(button,a,input):focus-visible {outline:2px solid #ff6418!important;outline-offset:4px!important}
.nc-announcement {position:absolute;width:1px;height:1px;margin:-1px;padding:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
body.cookie-modal-open {overflow:hidden!important}
html body.cookie-modal-open .cookie-banner.nc-banner {opacity:0!important;visibility:hidden!important}
body.cookie-modal-open .nc-banner .nc-sculpture__float {animation-play-state:paused}
@media(max-width:1050px) and (min-width:701px) {
  html body .nc-banner .cookie-banner__content {grid-template-columns:90px minmax(0,1fr) 292px!important;gap:20px!important;padding:25px 25px 23px 16px!important}
  .nc-banner__art .nc-sculpture {transform:scale(.82)}
  html body .nc-banner .cookie-banner__title {font-size:28px!important}
  html body .nc-banner .nc-button {padding-left:12px!important;gap:5px!important;font-size:13px!important}
}
@media(max-width:700px) {
  html body .cookie-banner.nc-banner {inset:auto 12px 12px!important;width:calc(100% - 24px)!important;max-height:calc(100dvh - 24px);border-radius:24px!important}
  html body .nc-banner .cookie-banner__content {grid-template-columns:minmax(0,1fr) 80px!important;gap:19px 8px!important;padding:24px 23px 15px!important}
  .nc-banner__art {grid-column:2;grid-row:1;align-self:start;align-items:flex-start;height:76px;overflow:visible}
  .nc-banner__art .nc-sculpture {transform:scale(.66);transform-origin:50% 0}
  .nc-banner__copy {grid-column:1;grid-row:1}
  .nc-banner__controls {grid-column:1/-1}
  .nc-eyebrow {font-size:10px;margin-bottom:10px}
  html body .nc-banner .cookie-banner__title {font-size:29px!important}
  .nc-banner__description {font-size:14px;line-height:1.55;margin-top:13px;width:calc(100% + 88px);padding-top:7px}
  .nc-banner__links {margin-top:8px}
  html body .nc-settings.cookie-settings-modal {padding:12px!important}
  html body .nc-settings .cookie-settings-modal__panel {max-height:calc(100dvh - 24px)!important;border-radius:24px!important}
  .nc-settings__head {padding:28px 25px 25px;gap:5px}
  .nc-settings__head>.nc-sculpture {width:85px;transform:scale(.72);transform-origin:left center;margin-right:15px}
  html body .nc-settings .cookie-settings-modal__panel h2 {font-size:34px!important}
  .nc-settings__choices {padding:0 25px}
  html body .nc-settings .cookie-settings-row {gap:12px!important;grid-template-columns:18px minmax(0,1fr) 34px!important;padding:19px 0!important}
  html body .nc-settings .cookie-settings-row strong {font-size:17px!important}
  html body .nc-settings .cookie-settings-row small {font-size:13px!important}
  .nc-settings__bottom {padding:4px 25px 23px}
  html body .nc-settings .nc-button {padding-left:13px!important;font-size:13px!important}
}
@media(max-width:420px) {
  .nc-settings__head {padding:28px 23px 24px;position:relative;display:block}
  .nc-settings__head>div {position:relative;z-index:1}
  .nc-settings__head>.nc-sculpture {display:none}
  html body .nc-settings .cookie-settings-modal__panel h2 {font-size:34px!important;max-width:calc(100% - 30px)}
  html body .nc-settings .nc-settings__head .nc-eyebrow {padding-right:35px!important}
  .nc-settings__choices {padding:0 23px}
  .nc-settings__bottom {padding-inline:23px}
  html body :is(.nc-banner,.nc-settings) .nc-button {padding:11px 10px 11px 13px!important;font-size:13px!important}
  html body :is(.nc-banner,.nc-settings) .nc-button>i {width:24px;height:24px;flex-basis:24px}
}
@media(max-width:350px) {
  html body :is(.nc-banner,.nc-settings) .nc-button {font-size:12px!important}
  html body .nc-banner .cookie-banner__content {padding:22px 18px 12px!important;grid-template-columns:minmax(0,1fr) 65px!important}
  html body .nc-banner .cookie-banner__title {font-size:25px!important}
  .nc-banner__description {width:calc(100% + 73px)}
  .nc-banner__art .nc-sculpture {transform:scale(.57)}
  .nc-banner__links {gap:8px}
  html body .nc-banner .nc-settings-link,.nc-banner .nc-policy {font-size:11px!important}
  .nc-settings__head {padding:26px 20px 22px}
  .nc-settings__choices,.nc-settings__bottom {padding-inline:20px}
  html body .nc-settings .cookie-settings-row {grid-template-columns:minmax(0,1fr) 34px!important}
  .nc-settings .cookie-settings-row::before {display:none}
}
@media(prefers-reduced-motion:reduce) {
  html body .cookie-banner.nc-banner,html body .cookie-settings-modal.nc-settings,
  html body :is(.cookie-banner.nc-banner,.cookie-settings-modal.nc-settings) *,
  html body :is(.cookie-banner.nc-banner,.cookie-settings-modal.nc-settings) *::before {transition:none!important;animation:none!important}
  .nc-close:hover,.nc-policy:hover svg {transform:none}
}
@media(forced-colors:active) {html body .nc-settings .cookie-settings-row input[type=checkbox] {appearance:auto!important}html body .nc-settings .cookie-settings-row input[type=checkbox]::before {display:none}}
@media print {.nc-banner,.nc-settings {display:none!important}}
