/* Shared application controls and an editorial reading experience. */
.app-modal-open {overflow:hidden;}
.app-dialog {color:#f4f1e8;background:#101a22;border:1px solid #48504e;border-radius:0;padding:clamp(1.1rem,3vw,2rem);width:min(42rem,calc(100% - 2rem));max-height:82svh;overflow:auto;overscroll-behavior:contain;margin:auto;box-sizing:border-box;}
.app-dialog::backdrop {background:rgb(3 8 12 / .68);backdrop-filter:blur(6px);}
.app-dialog[open] {animation:app-enter .3s ease both;}
.app-dialog h2 {font-size:clamp(1.65rem,2.7vw,2.8rem);line-height:1.12;letter-spacing:-.035em;margin:.7rem 0;}
.app-dialog p {font-size:clamp(.9rem,1vw,1.05rem);line-height:1.65;}
.app-dialog__header {display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.app-dialog__intro {color:#b8c5ca;margin:0 0 1.4rem;max-width:54ch;}
.app-close {display:flex;align-items:center;justify-content:center;padding:0;box-sizing:border-box;background:transparent;color:#f4f1e8;border:1px solid #58615e;border-radius:0;width:2.75rem;height:2.75rem;flex:none;font-family:Arial,sans-serif;font-size:1.65rem;line-height:1;cursor:pointer;}
.app-button {display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3rem;padding:.8rem 1.2rem;border:1px solid #d8b95e;border-radius:0;background:#d8b95e;color:#11171a;font:inherit;font-weight:650;font-size:.95rem;cursor:pointer;text-decoration:none;line-height:1.25;transition:background .2s,border-color .2s,transform .2s;}
.app-button:hover {background:#edcf7b;color:#11171a;transform:translateY(-1px);}
.app-button--quiet {background:transparent;color:#f4f1e8;border-color:#58615e;}
.app-button--quiet:hover {background:#213039;color:#fff;}
.app-button:disabled {opacity:.65;cursor:wait;transform:none;}
.app-dialog :is(button,a,input,select,textarea,summary):focus-visible,.mobile-bar :is(a,button):focus-visible {outline:2px solid #edcf7b;outline-offset:4px;}
.app-dialog .app-close:is(:focus,:focus-visible),.mobile-menu__close:is(:focus,:focus-visible),.ad-gallery-close:is(:focus,:focus-visible) {outline:none;outline-offset:0;}
.app-dialog .app-close:focus-visible,.mobile-menu__close:focus-visible,.ad-gallery-close:focus-visible {background:#26343d;color:#fff;}
.mobile-menu__close,.ad-gallery-close {display:flex;align-items:center;justify-content:center;padding:0;box-sizing:border-box;}
.mobile-menu__close .icon,.ad-gallery-close .icon {display:block;margin:0;flex:none;}
.partner-steps {list-style:none;padding:0;margin:1.2rem 0 1.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;counter-reset:step;}
.partner-steps li {counter-increment:step;font-size:.82rem;display:flex;gap:.5rem;align-items:center;color:#b8c5ca;border-bottom:2px solid #39474c;padding:0 0 .75rem;}
.partner-steps li::before {content:counter(step,decimal-leading-zero);font-size:.74rem;}
.partner-steps li[aria-current="step"] {color:#edcf7b;border-color:#edcf7b;}
.partner-steps li.is-complete {border-color:#8d804d;color:#d8b95e;}
.partner-dialog fieldset {border:0;padding:0;margin:0;min-width:0;}
.partner-dialog legend {font-size:1.15rem;font-weight:600;margin-bottom:1rem;max-width:100%;white-space:normal;overflow-wrap:anywhere;}
.partner-dialog label {display:block;font-size:.86rem;font-weight:550;color:#e1e8e8;line-height:1.4;}
.partner-dialog :is(input:not([type="hidden"]),select,textarea) {display:block;width:100%;box-sizing:border-box;margin:.45rem 0 1rem;border:1px solid #536167;border-radius:0;background:#0b1218;color:#fff;padding:.85rem;font:inherit;font-weight:400;min-height:3rem;}
.partner-dialog textarea {resize:vertical;max-height:10rem;}
.partner-fields {display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;}
.partner-steps li {min-width:0;flex-wrap:wrap;}.partner-dialog :is(input,select,textarea) {min-width:0;}
.partner-controls {display:flex;align-items:center;justify-content:space-between;gap:.7rem;border-top:1px solid #39474c;margin-top:1rem;padding-block:1rem .3rem;position:sticky;bottom:0;background:#101a22;z-index:2;}
.partner-counter {font-size:.8rem;color:#b8c5ca;white-space:nowrap;}
.partner-review {background:#18262e;padding:1rem;border-radius:0;display:grid;grid-template-columns:7rem 1fr;gap:.45rem .7rem;font-size:.85rem;line-height:1.5;}
.partner-review dt {color:#a6bac1;}.partner-review dd {margin:0;overflow-wrap:anywhere;}
.partner-notice {color:#adbec5;font-size:.8rem!important;}.partner-notice a,.cookie-links a {color:#edcf7b;}
.partner-status {padding:.8rem 1rem;border:1px solid #d9a596;border-radius:0;color:#ffcab9;}
.partner-success {padding:2rem 0;}.partner-success h3 {font-size:2rem;line-height:1.2;}
.app-honeypot {position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
.cookie-dialog {width:min(40rem,calc(100% - 2rem));margin:auto auto max(1.5rem,env(safe-area-inset-bottom));}
.cookie-dialog h2 {font-size:clamp(1.65rem,2.2vw,2.3rem);}
.cookie-details {border-block:1px solid #39474c;padding:.8rem 0;}.cookie-details summary {cursor:pointer;font-size:.9rem;}.cookie-details p {color:#b8c5ca;font-size:.85rem;}
.cookie-actions {display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.2rem;}.cookie-links {font-size:.8rem!important;margin-bottom:0;}
.app-toast {position:fixed;z-index:1500;bottom:calc(6.5rem + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 2rem);padding:1rem 1.2rem;border:1px solid #8c8057;border-radius:0;background:#16232b;color:#f4f1e8;font-size:.85rem;text-align:center;}
.app-legal-nav {display:flex;flex-wrap:wrap;gap:1.2rem 2rem;padding:1.5rem 0;border-top:1px solid #344047;align-items:center;font-size:.9rem;color:#c4d0d3;}
.app-legal-nav button {background:none;border:0;color:#d8b95e;font:inherit;cursor:pointer;padding:0;min-height:2.5rem;}
.map-consent {padding:clamp(1.5rem,4vw,3rem);background:#15232c;min-height:20rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1rem;}.map-consent h3 {font-size:1.8rem;}.map-consent p {max-width:40ch;line-height:1.6;}
[hidden] {display:none!important;}
.article-page .hero {min-height:72svh;}.article-page .hero h1 {font-size:clamp(2.2rem,5vw,5.4rem);max-width:18ch;text-wrap:balance;}
.article-page .blog-article {display:grid;grid-template-columns:minmax(10rem,17rem) minmax(0,53rem);gap:clamp(2rem,5vw,7rem);max-width:85rem;margin:auto;padding:clamp(2rem,5vw,6rem) max(1rem,3vw);}
.article-page .blog-article__inner {min-width:0;}
.article-page .blog-article__inner > :is(p,ul,ol) {font-size:clamp(1.05rem,1.2vw,1.25rem);line-height:1.85;max-width:68ch;margin:1.5rem 0;color:#c7d4d8;}
.article-page .blog-article__inner > p:first-of-type {font-size:clamp(1.2rem,1.6vw,1.7rem);line-height:1.65;color:#f4f1e8;}
.article-page .blog-article__inner h2 {transform:none!important;font-size:clamp(1.6rem,2.5vw,2.65rem);line-height:1.2;text-wrap:balance;scroll-margin-top:8rem;margin-top:3rem;}
.article-meta {display:flex;align-items:center;flex-wrap:wrap;gap:1rem;justify-content:space-between;border-block:1px solid #37434a;padding:1rem 0;margin-bottom:1.5rem;font-size:.8rem;color:#b6c7cd;}.article-meta a {color:#e6c571;}
.article-page .blog-article__feature {padding:0;border:0;}.article-page .blog-article__feature img {width:100%;max-height:34rem;object-fit:cover;border-radius:0;}
.article-page .blog-article__img {width:100%;max-height:36rem;object-fit:contain;background:#15232b;border-radius:0;margin-block:2rem;}
.article-page .article-index {top:8rem;height:max-content;padding:1.5rem;border:1px solid #39474d;border-radius:0;background:#101b23;}
.article-page .article-index a {font-size:.95rem;line-height:1.5;padding:.85rem 0;color:#bacbd1;}.article-page .article-index a.is-active {color:#e6c571;}
.article-progress {height:3px;background:#34424a;margin-top:1.5rem;}.article-progress i {display:block;height:100%;background:#d8b95e;transform-origin:left;transform:scaleX(var(--read-progress,0));}
.article-related {padding:clamp(2rem,5vw,5rem) max(1rem,3vw);max-width:85rem;margin:auto;border-top:1px solid #39474d;}.article-related > h2 {font-size:clamp(2rem,3.5vw,3.5rem);margin:.7rem 0 2rem;}
.article-related__grid {display:grid;grid-template-columns:1fr 1fr;gap:2rem;}.article-related__grid > a {padding:1rem;background:#122029;border:1px solid #36464e;border-radius:0;display:flex;flex-direction:column;gap:1rem;transition:border-color .2s;}.article-related__grid > a:hover {border-color:#d8b95e;}.article-related img {width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:0;}.article-related h3 {font-size:clamp(1.3rem,2vw,2rem);line-height:1.3;text-wrap:balance;}.article-related__link {color:#e6c571;margin-top:auto;padding-top:1rem;}
.legal-layout {max-width:78rem;padding:clamp(8rem,12vw,13rem) max(1rem,4vw) 5rem;margin:auto;}.legal-layout header {padding-bottom:3rem;border-bottom:1px solid #39474d;}.legal-layout h1 {font-size:clamp(2.5rem,5vw,5rem);line-height:1.12;margin:1rem 0;}.legal-copy {max-width:70ch;padding-top:2rem;}.legal-copy section {margin:2rem 0;}.legal-copy h2 {font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.3;margin:0 0 .8rem;}.legal-copy p {font-size:1.05rem;line-height:1.85;color:#c5d2d7;}.legal-sources {overflow-wrap:anywhere;}
@keyframes app-enter {from{opacity:0;transform:translateY(1rem) scale(.97)}to{opacity:1;transform:none}}
@media(min-width:821px) and (max-width:1100px) {.nav__menu {gap:.7rem!important;}.nav__menu a {font-size:.85rem!important;}.nav__actions .ad-button {padding-inline:.8rem;font-size:.8rem;}}
@media(max-width:820px) {
 .mobile-bar {left:.65rem!important;right:.65rem!important;bottom:0!important;width:auto!important;border:1px solid #45504b!important;border-bottom:0!important;border-radius:0!important;background:rgb(12 23 31 / .96)!important;backdrop-filter:blur(12px);padding:.55rem .45rem max(.55rem,env(safe-area-inset-bottom))!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem;}
 .mobile-bar :is(a,button) {min-width:0;min-height:3.5rem;padding:.3rem .15rem!important;gap:.25rem!important;border-radius:0;font-size:.7rem!important;color:#b9c9ce!important;line-height:1.2;}
 .mobile-bar :is(a,button) .icon {width:1.4rem;height:1.4rem;}.mobile-bar a[aria-current="page"],.mobile-bar button[aria-expanded="true"] {background:#253439!important;color:#f5db93!important;}.mobile-bar .mobile-bar__apply {background:#d8b95e!important;color:#0b1218!important;}.mobile-bar__apply .icon {filter:brightness(0)!important;}.mobile-bar a[aria-current="page"]::after {display:none!important;}
 .article-page .blog-article {grid-template-columns:minmax(0,1fr);gap:1.5rem;}.article-page .article-index {position:static;padding:1rem;}.article-page .article-index nav {display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;}.article-page .article-index a {font-size:.85rem;}.article-page .hero {min-height:65svh;}.article-related__grid {gap:1rem;}
 .app-dialog {max-height:78svh;width:calc(100% - 1.5rem);}.cookie-dialog {margin:auto auto calc(5.7rem + env(safe-area-inset-bottom));max-height:72svh;}
}
@media(max-width:540px) {.partner-fields {grid-template-columns:1fr;}.partner-steps li {font-size:.7rem;gap:.3rem;}.cookie-actions {grid-template-columns:1fr;gap:.5rem;}.article-related__grid {grid-template-columns:1fr;}.article-meta {gap:.8rem;font-size:.7rem;}.article-page .article-index nav {grid-template-columns:1fr;}.partner-review {grid-template-columns:1fr;}.partner-review dd {margin-bottom:.4rem;}.partner-controls {flex-wrap:wrap;}.partner-counter {margin-right:auto;}.app-legal-nav {gap:.6rem 1rem;}.app-dialog h2 {padding-right:.3rem;}}
@media(prefers-reduced-motion:reduce) {.app-dialog[open] {animation:none;}.app-button {transition:none;}}

.cookie-brand {display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;min-width:0;}
.cookie-brand img {display:block;width:clamp(9rem,18vw,12rem);max-width:100%;height:auto;}
.cookie-brand .eyebrow {font-size:.7rem;letter-spacing:.12em;}

/* Full-width, five destinations. Only foreground changes on interaction. */
@media(max-width:820px) {
 .mobile-bar {left:0!important;right:0!important;width:100%!important;box-sizing:border-box;grid-template-columns:repeat(5,minmax(0,1fr));border-inline:0!important;padding-inline:.15rem!important;gap:0;}
 .mobile-bar :is(a,button),.mobile-bar a[aria-current="page"],.mobile-bar button[aria-expanded="true"],.menu-open .mobile-bar__menu {background:transparent!important;color:#fff!important;border:0;transition:color .2s;}
 .mobile-bar :is(a,button):is(:hover,:focus-visible,:active),.mobile-bar a[aria-current="page"],.mobile-bar button[aria-expanded="true"] {color:#d8b95e!important;background:transparent!important;}
 .mobile-bar .mobile-bar__icon {display:block;width:1.45rem;height:1.45rem;object-fit:contain;filter:brightness(0) invert(1)!important;flex:none;transition:filter .2s;}
 .mobile-bar :is(a,button)>span:last-child {font-size:clamp(.58rem,2.3vw,.75rem);white-space:nowrap;}
}
.cinematic > .nav {transition:width .9s cubic-bezier(.22,1,.36,1),top .9s cubic-bezier(.22,1,.36,1),translate .35s ease,opacity .35s ease;}
.cinematic > .nav.is-direction-hidden:not(:focus-within) {translate:0 calc(-100% - 2rem);opacity:0;pointer-events:none;}
.article-page .blog-article__img[src*="can-neon"] {height:auto;max-height:none;aspect-ratio:1200/896;object-fit:cover;background:transparent;}
@media(prefers-reduced-motion:reduce) {.cinematic > .nav {transition:none;}}

/* Document centre: the same square, restrained After Dark visual language. */
.legal-layout {max-width:94rem;padding-top:clamp(8rem,12vw,12rem);}
.legal-hero {position:relative;padding-bottom:2.5rem;}
.legal-back {display:inline-flex;gap:.75rem;font-size:.85rem;color:#d8b95e;margin-bottom:2.5rem;}
.legal-hero h1 {max-width:16ch;text-wrap:balance;font-size:clamp(2.5rem,6vw,6rem);margin:1.2rem 0;letter-spacing:-.055em;}
.legal-hero>.body-lg {font-size:clamp(1.1rem,2vw,1.75rem);color:#b6c8cf;}
.legal-hero__meta {display:flex;flex-wrap:wrap;gap:1rem 2rem;font-size:.75rem;letter-spacing:.04em;color:#adbec7;margin-top:2.5rem;}
.legal-hero__meta span+span {border-left:1px solid #4c5a60;padding-left:2rem;}
.legal-document-nav {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:2rem 0 3rem;}
.legal-document-nav>a {display:flex;align-items:center;gap:1rem;border:1px solid #35474f;padding:1.4rem;background:#101d26;transition:border-color .2s;}
.legal-document-nav>a[aria-current],.legal-document-nav>a:hover {border-color:#d8b95e;}
.legal-document-nav .icon {filter:invert(1);width:1.7rem;height:1.7rem;flex:none;}
.legal-document-nav strong {display:block;font-size:1.1rem;line-height:1.3;}
.legal-document-nav small {display:block;font-size:.8rem;color:#aebfc7;margin-top:.5rem;line-height:1.4;}
.legal-document-nav>a>span:last-child {margin-left:auto;color:#d8b95e;}
.legal-reading {display:grid;grid-template-columns:17rem minmax(0,1fr);gap:clamp(2rem,5vw,6rem);align-items:start;}
.legal-index {position:sticky;top:8rem;padding:1.5rem;border:1px solid #35474f;background:#101d26;}
.legal-index nav {display:grid;margin-top:1rem;}
.legal-index nav a {font-size:.85rem;line-height:1.5;padding:.85rem 0;border-bottom:1px solid #35474f;color:#b9cbd2;}
.legal-index nav a:hover {color:#d8b95e;}
.legal-help {display:grid;gap:.75rem;margin-top:2rem;font-size:.8rem;line-height:1.5;overflow-wrap:anywhere;}
.legal-help span {color:#b9cbd2;}.legal-help a {color:#d8b95e;}
.legal-reading .legal-copy {max-width:none;padding:0;min-width:0;}
.legal-copy .legal-section {margin:0 0 1.2rem;border:1px solid #35474f;padding:clamp(1.2rem,3vw,2.5rem);background:#101b23;scroll-margin-top:8rem;}
.legal-section__number {display:block;width:max-content;padding:.3rem .55rem;border:1px solid #8a7744;color:#d8b95e;font-size:.75rem;letter-spacing:.08em;margin-bottom:1.25rem;}
.legal-section h2 {font-size:clamp(1.5rem,2.2vw,2.2rem);letter-spacing:-.025em;}
.legal-section p {font-size:clamp(1rem,1.12vw,1.2rem);max-width:67ch;overflow-wrap:anywhere;}
.legal-copy>.app-button {margin-bottom:1.5rem;}
.legal-sources {font-size:.85rem!important;padding:1rem;border:1px solid #35474f;}
@media(max-width:1000px) {.legal-reading {grid-template-columns:13rem minmax(0,1fr);gap:1.5rem;}.legal-document-nav>a {padding:1rem;gap:.65rem;}}
@media(max-width:820px) {.legal-document-nav {grid-template-columns:1fr;gap:.6rem;padding:1.5rem 0 2rem;}.legal-document-nav>a {padding:1.1rem;}.legal-reading {grid-template-columns:1fr;}.legal-index {position:static;padding:1.2rem;}.legal-index nav {grid-template-columns:1fr 1fr;gap:0 1rem;}.legal-help {grid-template-columns:1fr;margin-top:1.2rem;}.legal-hero__meta {gap:.7rem 1rem;}.legal-hero__meta span+span {padding-left:1rem;}.legal-section {scroll-margin-top:6rem;}}
@media(max-width:380px) {.legal-index nav {grid-template-columns:1fr;}.legal-hero__meta {display:grid;}.legal-hero__meta span+span {padding:0;border:0;}.legal-layout {padding-inline:1rem;}}

.mobile-menu__application {padding:1.2rem 0 .4rem;}
.mobile-menu__links a.mobile-menu__partner {display:inline-flex;align-items:center;justify-content:space-between;gap:.65rem;width:auto;max-width:100%;box-sizing:border-box;min-height:2.75rem;padding:.7rem .9rem;background:var(--ad-gold);color:#10171b;font-size:.85rem;font-weight:600;letter-spacing:0;line-height:1.3;border:1px solid var(--ad-gold);counter-increment:menu;}
.mobile-menu__links a.mobile-menu__partner::before {display:block;color:#10171b;flex:none;}
.mobile-menu__links a.mobile-menu__partner>.icon {filter:brightness(0);width:1.25rem;height:1.25rem;opacity:1;}
.mobile-menu__links a.mobile-menu__partner:hover {color:#10171b;background:var(--ad-gold);}

@media(max-width:820px) {
 .mobile-bar :is(a,button):is(:hover,:focus-visible,:active) .mobile-bar__icon,.mobile-bar a[aria-current="page"] .mobile-bar__icon,.mobile-bar button[aria-expanded="true"] .mobile-bar__icon {filter:brightness(0) saturate(100%) invert(77%) sepia(60%) saturate(440%) hue-rotate(5deg) brightness(93%) contrast(90%)!important;}
}
/* Consistent inset for select arrows; keep native option menus and keyboard controls. */
select.form__select,.cinematic-inner select.form__select,.app-dialog.partner-dialog select {
 -webkit-appearance:none;
 appearance:none;
 padding-right:3.25rem;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23f4f1e8' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
 background-repeat:no-repeat;
 background-position:right 1rem center;
 background-size:1.25rem 1.25rem;
}
@media(forced-colors:active) {
 select.form__select,.cinematic-inner select.form__select,.app-dialog.partner-dialog select {appearance:auto;background-image:none;}
}
