/* Privacy control: graphite glass, machined edges and restrained motion. */
.yc { position: fixed; z-index: 100; bottom: max(1.25rem, env(safe-area-inset-bottom)); left: 50%; width: min(64rem, calc(100% - 2.5rem)); transform: translateX(-50%); color: #edf5fa; font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
[data-consent-open][hidden], .yc[hidden], .yc [hidden] { display: none !important; }
.yc *, .yc *::before, .yc *::after { box-sizing: border-box; }
.yc__panel { position: relative; overflow: auto; max-height: calc(100dvh - 3rem); overscroll-behavior: contain; border: 1px solid #304556; border-radius: 1.5rem; background: radial-gradient(ellipse at 5% 0%, rgb(34 211 238 / .09), transparent 45%), linear-gradient(135deg, rgb(14 27 41 / .98), rgb(7 15 27 / .98)); box-shadow: 0 28px 90px #0009, 0 0 0 5px #02061755, inset 0 1px #ffffff0d; backdrop-filter: blur(24px); animation: yc-enter .45s ease-out both; }
.yc__accent { position: absolute; inset: 0 15% auto; height: 1px; background: linear-gradient(90deg, transparent, #82d9e5, #e9d5a1, transparent); }
.yc p, .yc h2, .yc h3, .yc h4 { margin: 0; }
.yc button, .yc a, .yc input { -webkit-tap-highlight-color: transparent; }
.yc button { cursor: pointer; font-family: inherit; }
.yc :focus-visible { outline: 2px solid #a5f3fc; outline-offset: 4px; }
.yc-icon { display: inline-block; flex-shrink: 0; vertical-align: middle; }
.yc__intro { display: grid; grid-template-columns: 8rem minmax(0, 1fr) 8.5rem; align-items: center; gap: 1.4rem; padding: 1.65rem 2rem 1.45rem 1.4rem; }
.yc__art svg { display: block; width: 100%; }
.yc__eyebrow { display: flex; align-items: center; gap: .5rem; color: #96bdc8; font-size: .6rem; font-weight: 700; letter-spacing: .19em; }
.yc__eyebrow > span { width: .35rem; height: .35rem; border-radius: 50%; background: #67e8f9; box-shadow: 0 0 10px #67e8f955; }
.yc h2 { margin-top: .65rem; font-size: clamp(1.2rem, 2.3vw, 1.65rem); font-weight: 650; letter-spacing: -.035em; line-height: 1.2; }
.yc__copy > p:last-of-type { margin-top: .7rem; max-width: 37rem; color: #a9bbca; font-size: .8rem; line-height: 1.75; }
.yc__meta { display: flex; flex-wrap: wrap; gap: .65rem 1.4rem; align-items: center; margin-top: .85rem; font-size: .66rem; }
.yc__meta > span, .yc__meta a { display: inline-flex; align-items: center; gap: .4rem; }
.yc__meta > span { color: #9acbd3; }
.yc__meta .yc-icon { width: .9rem; height: .9rem; }
.yc__meta a { color: #c6d2dc; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #637c8c; }
.yc__signature { display: flex; flex-direction: column; gap: .35rem; padding-left: 1.5rem; border-left: 1px solid #ffffff12; }
.yc__signature > span { font-size: 1.6rem; font-weight: 700; letter-spacing: -.05em; }
.yc__signature > span span { color: #67e8f9; }
.yc__signature small { color: #8aa1b4; font-size: .5rem; letter-spacing: .13em; }
.yc__signature i { width: 1.5rem; height: 1px; margin-block: .55rem; background: #e9d5a180; }
.yc__bottom { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.75rem; border-top: 1px solid #ffffff10; background: #02061733; }
.yc__settings { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 2.8rem; padding: .5rem .3rem; border: 0; background: transparent; color: #b8c9d6; font-size: .75rem; font-weight: 550; }
.yc__settings .yc-icon { width: 1.05rem; height: 1.05rem; color: #81b5c1; }
.yc__settings:hover { color: #e6faff; }
.yc__actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.yc__button { display: inline-flex; justify-content: center; align-items: center; gap: .5rem; min-height: 2.8rem; padding: .7rem 1.1rem; border: 1px solid #577080; border-radius: .75rem; color: #eef7fa; background: #142432; font-size: .75rem; font-weight: 650; line-height: 1.4; transition: background .2s, border-color .2s, transform .2s; }
.yc__button:hover { border-color: #91c2d0; background: #1e3445; transform: translateY(-1px); }
.yc__button--accept { border-color: #76d5e6; color: #082a36; background: linear-gradient(125deg, #a0e7ed, #6dd1e4); box-shadow: inset 0 1px #ffffff55, 0 4px 16px #22d3ee14; }
.yc__button--accept:hover { color: #082a36; background: #bbf4fa; }
.yc__button--accept .yc-icon { width: 1rem; height: 1rem; }
.yc__button--save { border-color: #9b8960; background: #302c22; color: #f3e3ba; }
.yc__preferences { padding: 1.25rem 1.75rem 1.4rem; border-top: 1px solid #ffffff10; }
.yc__preferences-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .85rem; }
.yc h3 { font-size: .85rem; font-weight: 600; }
.yc__preferences-head > span { color: #94aebe; font-size: .65rem; }
.yc__categories { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.yc__category { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr) auto; align-items: start; gap: .7rem; padding: 1rem; border: 1px solid #2c4253; border-radius: .85rem; background: #0c1927; }
.yc__category--optional { cursor: pointer; transition: border-color .2s; }
.yc__category--optional:hover { border-color: #63747e; }
.yc__tile { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border: 1px solid #33576a; border-radius: .65rem; color: #8cdce5; background: #102c3b; }
.yc__tile--gold { border-color: #5f5540; background: #2a271f; color: #e9d5a1; }
.yc h4, .yc__category-title { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; color: #e2edf3; font-size: .78rem; font-weight: 600; }
.yc__category p, .yc__category-text { display: block; margin-top: .45rem; color: #a7bbca; font-size: .7rem; line-height: 1.7; }
.yc__required, .yc__optional { padding: .1rem .35rem; border: 1px solid #335264; border-radius: .3rem; color: #9ccbd1; font-size: .54rem; font-weight: 550; }
.yc__optional { color: #d6c699; border-color: #63563d; }
.yc__fixed { margin-top: .4rem; color: #81c8d5; }
.yc__fixed .yc-icon { width: 1rem; height: 1rem; }
.yc__switch { position: relative; display: block; width: 2.4rem; height: 1.35rem; margin-top: .3rem; }
.yc__switch input { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.yc__switch-track { display: block; height: 100%; border: 1px solid #657d8e; border-radius: 999px; background: #253644; transition: background .2s; }
.yc__switch-track::after { position: absolute; top: .2rem; left: .2rem; width: .95rem; height: .95rem; border-radius: 50%; background: #a8bac7; transition: transform .2s, background .2s; content: ''; }
.yc__switch input:checked + span { border-color: #7bdae8; background: #6bcad9; }
.yc__switch input:checked + span::after { transform: translateX(1.05rem); background: #092a38; }
.yc__switch input:focus-visible + span { outline: 2px solid #a5f3fc; outline-offset: 4px; }
.yc__storage-note { padding-top: .75rem; color: #e9d5a1; font-size: .75rem; }
.yc__notice { position: fixed; z-index: 101; bottom: max(1.5rem, env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); max-width: calc(100% - 2rem); padding: .8rem 1.2rem; border: 1px solid #3e6474; border-radius: .8rem; color: #dcf6f8; background: #102331; box-shadow: 0 12px 40px #0007; font-size: .8rem; text-align: center; pointer-events: none; }
.yc__notice:empty { display: none; }
.yc__noscript { padding: 1rem; color: #a9bdcb; text-align: center; font-size: .8rem; }
.yc__noscript a { text-decoration: underline; }
.yf button.yf-col__link { font-family: inherit; cursor: pointer; background: transparent; }
.yc__orbit { transform-origin: 90px 90px; animation: yc-orbit 45s linear infinite; }
.yc__shield { animation: yc-breathe 6s ease-in-out infinite; }
.yc__trace { stroke-dasharray: 28; animation: yc-trace 6s ease-in-out infinite; }
.yc__satellite { animation: yc-float 6s ease-in-out infinite; }
.yc__spark { animation: yc-breathe 4s ease-in-out infinite reverse; }
@keyframes yc-enter { from { opacity: 0; translate: 0 18px; } to { opacity: 1; translate: 0 0; } }
@keyframes yc-orbit { to { transform: rotate(360deg); } }
@keyframes yc-breathe { 50% { opacity: .65; } }
@keyframes yc-trace { 0%, 15% { stroke-dashoffset: 28; } 45%, 100% { stroke-dashoffset: 0; } }
@keyframes yc-float { 50% { transform: translateY(-4px); } }
@media (max-width: 800px) { .yc__intro { grid-template-columns: 6rem minmax(0, 1fr); padding: 1.4rem; gap: 1rem; } .yc__signature { display: none; } .yc__categories { grid-template-columns: 1fr; } .yc__bottom { flex-wrap: wrap; padding: .9rem 1.4rem; } .yc__actions { flex: 1; justify-content: flex-end; } }
@media (max-width: 540px) { .yc { width: calc(100% - 1rem); bottom: max(.5rem, env(safe-area-inset-bottom)); } .yc__panel { max-height: calc(100dvh - 1.5rem); border-radius: 1.1rem; } .yc__intro { grid-template-columns: 1fr; gap: 0; padding: 1.25rem; } .yc__art { position: absolute; top: .6rem; right: .8rem; width: 3.7rem; opacity: .8; } .yc__eyebrow { min-height: 2.2rem; padding-right: 3.5rem; font-size: .55rem; } .yc h2 { margin-top: .5rem; padding-right: .5rem; font-size: 1.25rem; } .yc__copy > p:last-of-type { font-size: .76rem; } .yc__bottom { padding: .7rem 1.25rem 1.15rem; gap: .4rem; } .yc__settings { width: 100%; justify-content: flex-start; } .yc__actions { display: grid; width: 100%; grid-template-columns: 1fr 1fr; } .yc__button { padding: .7rem .55rem; font-size: .7rem; } .yc__button--save { grid-column: 1 / -1; grid-row: 2; } .yc__preferences { padding: 1rem 1.25rem; } .yc__category { gap: .6rem; padding: .8rem; } }
@media (prefers-reduced-motion: reduce) { .yc *, .yc *::before, .yc *::after { animation: none !important; transition: none !important; } }
@media print { .yc, .yc__notice, [data-consent-open] { display: none !important; } }
