:root {
    --bg: #f7f5f1;
    --bg-soft: #ffffff;
    --panel: #ffffff;
    --panel-2: #fcfaf7;
    --line: #e7dfd6;
    --text: #171717;
    --muted: #5f5a54;
    --accent: #ff8d00;
    --accent-hover: #d97300;
    --max: 1240px;
    --content: 780px;
    --radius: 18px;
    --shadow: 0 16px 40px rgba(0,0,0,.10);
    --header-bg: rgba(255,255,255,.9);
    --header-text: #171717;
}

[data-theme="dark"] {
    --bg: #000000;
    --bg-soft: #111111;
    --panel: #151515;
    --panel-2: #1b1b1b;
    --line: #2b2b2b;
    --text: #f3f3f3;
    --muted: #b8b8b8;
    --accent: #ff8d00;
    --accent-hover: #ffab45;
    --shadow: 0 16px 40px rgba(0,0,0,.28);
    --header-bg: rgba(0,0,0,.9);
    --header-text: #ffffff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,  "Helvetica Neue", Arial, sans-serif;
    background: var(--bg); color: var(--text); font-size: 17px; line-height: 1.75; letter-spacing: -0.01em; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}




img { max-width: 100%; height: auto; display: block; }
a { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover, a:focus { color: var(--accent-hover); }
.skip-link {position: absolute; left: 16px; top: -48px; background: #ffffff; color: #000000; padding: 10px 14px; border-radius: 10px; z-index: 1000; text-decoration: none; font-weight: 700;}
.skip-link:focus { top: 16px; }

.container { width: min(calc(100% - 32px), var(--max)); margin: 0 auto; }
.site-header {position: sticky; top: 0; z-index: 100; backdrop-filter: blur(10px); background: var(--header-bg); border-bottom: 1px solid var(--line);}
.header-inner {display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 78px;}
#efxSVG {height:30px; width:auto; display:block;}
#efxSVG .fx {fill: var(--accent);}
#efxSVG .escort {fill: var(--header-text);}

.nav {display: flex;gap: 20px;flex-wrap: wrap;align-items: center;}
.nav a {color: var(--header-text); text-decoration: none;font-weight: 600;font-size: .97rem;}
.nav a:hover, .nav a:focus { color: var(--accent); }

.theme-toggle {background: none;border:none;border-radius: 999px;padding:0;cursor: pointer;font-size: 14px;}
.logo-light svg,.logo-dark svg {height:24px;width: auto;display: block; fill:var(--header-text)}
/* Default = light mode */
.logo-light { display: none;}
/* Dark mode */
[data-theme="dark"] .logo-dark {display: none;}
[data-theme="dark"] .logo-light {display: inline-flex;}




.menu-toggle {display: none;width: 38px;height: 38px;padding: 0;border: 1px solid var(--line); border-radius: 12px;background: transparent;cursor: pointer;align-items: center;justify-content: center;flex-direction: column;gap: 5px;}
.menu-toggle span {display: block;width: 20px;height: 2px;background:var(--text);border-radius: 999px;}
.nav-desktop {display: flex;gap: 20px;flex-wrap: nowrap;align-items: center;}
.nav-item {position: relative;}
.nav-link,.nav > a,.nav > button {display: inline-flex;align-items: center;min-height: 44px;}
.has-dropdown:hover .dropdown-menu,.has-dropdown:focus-within .dropdown-menu {opacity: 1;visibility: visible;transform: translateY(0);pointer-events: auto;}
.dropdown-menu {
    position: absolute;top: 100%; left: 0;min-width: 320px;padding: 20px;border: 1px solid rgba(255,255,255,.08);border-radius: 18px;
    box-shadow: var(--shadow);opacity: 0;visibility: hidden;transform: translateY(8px);pointer-events: none;z-index: 200;
    background: linear-gradient(180deg, var(--panel-2) 0%, var(--panel) 100%); transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.has-dropdown:hover .dropdown-menu,.has-dropdown:focus-within .dropdown-menu {opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto;}
.dropdown-menu ul {list-style: none;margin: 0;padding: 0;display: grid;gap: 10px;}
.dropdown-menu a {color:var(--text);text-decoration: none;font-weight: 600;line-height: 1.4;}
.dropdown-menu a:hover,.dropdown-menu a:focus {color: var(--accent);}



/* Mobile menu is completely off by default */
.mobile-menu {
    display: none;position: fixed;inset: 0;z-index: 9998;opacity: 0;visibility: hidden;pointer-events: none;
    transition: opacity .25s ease, visibility .25s ease;
}
.mobile-menu-backdrop {
    position: absolute;inset: 0;opacity: 0;
    background: rgba(255, 255, 255, .55);backdrop-filter: blur(6px);-webkit-backdrop-filter: blur(6px);transition: opacity .25s ease;
}
[data-theme="dark"] .mobile-menu-backdrop {background: rgba(0, 0, 0, .55);}
.mobile-menu-panel {
    position: absolute;top: 0;right: 0;width: min(92vw, 380px);height: 100vh;padding: 24px 20px 28px;background:var(--panel-2);overflow-y: auto;
    border-left: 1px solid rgba(0, 0, 0, .08);box-shadow: -18px 0 50px rgba(0, 0, 0, .15);transform: translateX(100%);
    transition: transform .32s cubic-bezier(.22, 1, .36, 1);
}
[data-theme="dark"] .mobile-menu-panel {box-shadow: -18px 0 50px rgba(0, 0, 0, .45);border-left: 1px solid rgba(255, 255, 255, .08);}
body.menu-open {overflow: hidden;}
/* Only enable the mobile menu on tablet/mobile */
@media (max-width: 980px) {
    .mobile-menu {display: block;}

    body.menu-open .mobile-menu {opacity: 1;visibility: visible;pointer-events: auto;}
    body.menu-open .mobile-menu-backdrop {opacity: 1;}
    body.menu-open .mobile-menu-panel {transform: translateX(0);}
    .menu-toggle {display: inline-flex;}
    .nav-desktop {display: none;}
    .header-inner {min-height: 58px;}
}
.mobile-menu-head {display: flex;align-items: center;justify-content: space-between;margin-bottom: 20px;}
.mobile-menu-head p {margin: 0;font-size: 1.2rem;font-weight: 800;}
.mobile-menu-close {
    width: 44px;height: 44px;border: 0;border-radius: 999px;color:var(--text);font-size: 2rem;line-height: 1;cursor: pointer;
    background: rgba(0, 0, 0, .08);
}
[data-theme="dark"] .mobile-menu-close { background: rgba(255, 255, 255, .08);}
.mobile-nav {display: grid;}
.mobile-nav > a,.mobile-nav > button,.mobile-nav-parent {
    display: block;width: 100%;padding: 14px 0;border: 0;background: none;color:var(--text);text-align: left;text-decoration: none;
    font: inherit;font-weight: 700;cursor: pointer;border-bottom: 1px solid var(--line);;
}
.mobile-nav > a:hover, .mobile-nav > button:hover {color: var(--accent);}
.mobile-nav-group {border-bottom: 1px solid rgba(255, 255, 255, .08);padding-bottom: 12px;margin-bottom: 2px;}
.mobile-nav-parent {border-bottom: 0;padding-bottom: 10px;}
.mobile-subnav-static {display: grid;gap: 10px;padding-left: 12px;}
.mobile-subnav-static a {color: var(--muted);text-decoration: none;font-weight: 600;line-height: 1.4;}
.mobile-subnav-static a:hover,.mobile-subnav-static a:focus {color: var(--accent);}
.mobile-search-toggle {justify-content: flex-start;}
@media (max-width: 720px) {
    .header-inner {align-items: center; padding: 14px 0;}
}




.hero {border-bottom:  1px solid var(--line);}
.hero {
    background:
        radial-gradient(circle at top right, rgba(255, 141, 0, 0.10), transparent 40%),
        linear-gradient(180deg, var(--bg-soft) 0%, var(--bg) 100%);
}

[data-theme="dark"] .hero {
    background:
        radial-gradient(circle at top right, rgba(255,141,0,.13), transparent 30%),
        linear-gradient(180deg, #060606 0%, #000000 100%);
}



.hero-grid {display: grid; grid-template-columns: 1.35fr .65fr;gap: 32px; align-items: end;}
.eyebrow {display: inline-flex;align-items: center;gap: 8px;margin: 0 0 16px;color: var(--accent);font-size: .92rem;font-weight: 700;text-transform: uppercase;letter-spacing: .08em;}
h1, h2, h3 {margin: 0 0 14px;line-height: 1.1;text-wrap: balance;letter-spacing: -0.02em;}
h1 { font-size: clamp(2.2rem, 5vw, 4.4rem); }
h2 { font-size: clamp(1.6rem, 2.7vw, 2.5rem); }
h3 { font-size: 1.2rem; }
.hero p {margin: 0 0 22px;max-width: 760px;color: var(--muted);font-size: 1.06rem;}
.hero-actions {display: flex;flex-wrap: wrap;gap: 14px;margin: 24px 0 24px;}
.button {
    display: inline-flex;align-items: center;justify-content: center;min-height: 48px;padding: 0 18px;border-radius: 999px;border: 1px solid var(--accent);text-decoration: none;
    font-weight: 700;transition: .2s ease; cursor:pointer;
}
.button-primary {background: var(--accent);color: #000000;}
.button-primary:hover, .button-primary:focus {background: var(--accent-hover);color: #000000;}
.button-secondary {background: transparent;color:var(--header-text); border-color: var(--line);}
.button-secondary:hover, .button-secondary:focus {border-color: var(--accent);color: var(--accent);}

.panel, .article-card, .category-card, .sidebar-card {background: linear-gradient(180deg, var(--panel-2) 0%, var(--panel) 100%);border:1px solid var(--line); border-radius: var(--radius);box-shadow: var(--shadow);}


.meta {display: flex;flex-wrap: wrap;gap: 10px 14px;font-size: .92rem;color: var(--muted);margin: 0 0 8px;}
.meta a { color: var(--muted); text-decoration: none; }
.meta a:hover, .meta a:focus { color: var(--accent); }

main { padding: 42px 0 80px; }
.section { padding: 34px 0; }
.section-head {display: flex;justify-content: space-between;align-items: end;gap: 20px;margin: 0 0 24px;}
.section-head p {margin: 0;max-width: 760px;color: var(--muted);}

.featured-grid {display: grid;grid-template-columns: 1.35fr .65fr; gap: 24px;}
.article-card {overflow: hidden;}
.article-card .content {padding: 22px;}
.article-card .thumb {aspect-ratio: 16 / 9;background: linear-gradient(135deg, #191919 0%, #0f0f0f 100%);border-bottom:  1px solid var(--line);}
.article-card h3 a {color:var(--text);text-decoration: none;}
.article-card h3 a:hover, .article-card h3 a:focus { color: var(--accent); }
.article-card p {color: var(--muted);}

.stack {display: grid;gap: 24px;}

.category-grid, .latest-grid {display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 22px;}
.category-card, .sidebar-card {padding: 22px;}
.category-card h3, .sidebar-card h3 { margin-bottom: 10px; }
.category-card p, .sidebar-card p { color: var(--muted); margin: 0 0 14px; }

.content-grid {display: grid;grid-template-columns: minmax(0, 1fr) 330px;gap: 24px;align-items: start;}
.latest-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.list-clean {list-style: none;padding: 0;margin: 0;display: grid;gap: 14px;}
.list-clean a {color: var(--text);text-decoration: none;font-weight: 600;}
.list-clean a:hover, .list-clean a:focus { color: var(--accent); }
.tag-list {display: flex;flex-wrap: wrap;gap: 10px;padding: 0;margin: 0;list-style: none;}
.tag-list a {display: inline-flex;align-items: center;min-height: 38px;padding: 0 12px;border-radius: 999px;background:var(--panel);border: 1px solid var(--line);text-decoration: none;color:var(--text);font-size: .92rem;}
.tag-list a:hover, .tag-list a:focus {border-color: var(--accent);color: var(--accent);}


.site-footer {border-top: 1px solid var(--line);padding: 26px 0 40px;color: var(--muted);font-size: .95rem;}
.footer-grid {display: flex;flex-wrap: wrap;justify-content: space-between;gap: 16px;}
.footer-nav {display: flex;flex-wrap: wrap;gap: 18px;}
.footer-nav a { text-decoration: none; }

.visually-hidden {position: absolute !important;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0, 0, 0, 0);white-space: nowrap;border: 0;}



.search-toggle {background: none;border: 0;padding: 0;font: inherit;color: inherit;cursor: pointer;color: var(--header-text);text-decoration: none;font-weight: 600;font-size: .97rem;}
.search-overlay {position: fixed;inset: 0;z-index: 9999;}
.search-overlay-backdrop {position: absolute;inset: 0;background: rgba(255, 255, 255, 0.45);backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);}
[data-theme="dark"] .search-overlay-backdrop {background: rgba(10, 14, 20, 0.45);}

.search-overlay-panel {position: relative;z-index: 2;min-height: 100vh;display: flex;align-items: center;justify-content: center;padding: 2rem;}
.search-overlay-inner {width: min(100%, 920px);}
.search-overlay-inner h2 {margin: 0 0 1rem;text-align: center;font-size: clamp(2rem, 5vw, 4rem);line-height: 1.05;}

.search-overlay-form {display: flex; align-items: center;border: 1px solid var(--line);border-radius: 50px;background:var(--panel);}
.search-overlay-form input {flex: 1;min-width: 0;height: 72px; width:100%;padding: 0 1.25rem; color:var(--text);outline: none; font-size: 1.15rem; background:transparent; border:0;}
.search-overlay-form input:focus,.search-overlay-form input:hover {border:0;outline: none;}
.search-overlay-form button {height: 42px; width: 42px; margin-right:10px; border: 0; border-radius: 50px; cursor: pointer;border: 1px solid var(--line);background:var(--panel); color:var(--text);}
.search-overlay-form button svg {fill:var(--text)}
.search-overlay-close {position: absolute;top: 1.5rem;right: 1.5rem;width: 52px;height: 52px;border: 0;border-radius: 999px;font-size: 2rem;line-height: 1;cursor: pointer; background:var(--panel-2); color:var(--text)}
body.search-open {overflow: hidden;}



.search-page {padding: 4rem 0;}
.search-page-header {margin-bottom: 2rem;}
.search-page-form {display: flex;gap: 1rem;margin-bottom: 2rem;}
.search-page-form input {flex: 1;min-width: 0;height: 58px;padding: 0 1rem;background: var(--panel);border: 1px solid var(--line);border-radius: 50px; color:var(--text);}
.search-page-form button {height: 58px;padding: 0 1.25rem;background: var(--panel);border: 1px solid var(--line); border-radius: 50px; color:var(--text);}
.search-page-results-intro {margin-bottom: 1.5rem;}
.sr-only {position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0, 0, 0, 0);white-space: nowrap;border: 0;}


.article-card.search-result {margin-bottom:20px;}

.sidebar-stack {position: sticky;top: 98px;}


.sidebar-links {list-style: none;margin: 0;padding: 0;}
.sidebar-links li {margin-bottom: 10px;}
.sidebar-links a {
    display: block;padding: 14px 16px;border-radius: 12px;text-decoration: none;transition: all 0.2s ease;
    background: rgba(0, 0, 0, 0.02); border: 1px solid var(--line);
}
[data-theme="dark"] .sidebar-links a {background: rgba(255, 255, 255, 0.02);}




/* Hover state */
.sidebar-links a:hover {background: rgba(0, 0, 0, 0.03);border-color: rgba(255, 165, 0, 0.3);transform: translateY(-1px);}
[data-theme="dark"] .sidebar-links a:hover {background: rgba(255, 255, 255, 0.05);}
/* Title */
.link-title {display: block;font-weight: 600;font-size: 0.95rem;color:var(--text);margin-bottom: 4px;}
/* Description */
.link-desc {display: block;font-size: 0.8rem;color: rgba(0, 0, 0, 0.65);line-height: 1.4;}
[data-theme="dark"]  .link-desc {color: rgba(255, 255, 255, 0.65);}
/* Subtle hover text change */
.sidebar-links a:hover .link-title {color: #ffb347; /* warm accent */}
.sidebar-links a:hover .link-desc {color: rgba(0, 0, 0, 0.85);}
[data-theme="dark"] .sidebar-links a:hover .link-desc {color: rgba(255, 255, 255, 0.85);}


#cookieDesc{opacity:1;	transition:none;}
.cookie-known #cookieOverlay,.cookie-known #cookieBanner{display:none !important;}
.cookieOverlay,.cookieBanner {contain:layout paint;}
.cookieOverlay{position:fixed;inset:0;background:rgba(0,0,0,0.8);backdrop-filter:blur(2px);z-index:9998;}
.cookieOverlay,.cookieBanner{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 180ms ease, visibility 0s linear;}
.cookieOverlay[hidden],.cookieBanner[hidden]{opacity:0;visibility:hidden;pointer-events:none;}
.cookieBanner {position:fixed;left:18px;right:18px;bottom:18px;z-index:9999;display:flex;justify-content:center;}
.cookieCard{
    width:100%;max-width:420px;padding:16px;border-radius:16px; box-shadow:0 10px 22px rgba(0,0,0,0.25);
    overflow:auto;scrollbar-color: #046d8a transparent; font-size: 14px;
    border: 1px solid var(--line);background:var(--panel-2); color: var(--text);
    max-height:calc(100dvh - 40px);
	max-height:calc(100vh - 40px);
}
.cookieCard h3{margin:0 0 8px 0;font-size:22px; padding-bottom: 0; font-weight:500;}
.cookieCard a {color:var(--accent);}
.cookieCard .btnContainer {margin-bottom:20px; display:flex; align-items:center; gap:10px;}
.cookieAccordion{margin:12px 0 22px 0;display:grid;gap:0;background:rgba(1,1,1,0.15); border-radius: 10px;}
.cookieDetails:first-child {border-bottom:2px solid #014254}
.cookieSummary{cursor:pointer;list-style:none;padding:12px 14px;color:rgba(255,255,255,0.92);font-weight:500;}
.cookieSummary::-webkit-details-marker{display:none;}
.cookiePanel{padding:0 14px 14px 14px;color:rgba(255,255,255,0.82);}
.cookiePanel a {color:rgba(255,255,255,0.90);text-decoration:underline;}
.cookieAccordion h1 {display:none;}
@media (max-width: 640px) { .cookieCard .btnContainer {flex-direction: column;} .cookieCard .btn {width:100%;} }




@media (max-width: 1080px) {
.featured-grid,.content-grid,.category-grid,.latest-grid {grid-template-columns: 1fr;}
.sidebar-stack { position: static; }
}
@media (max-width: 767px) {
    .search-overlay-form,.search-page-form {}
    .search-overlay-form button,.search-page-form button {}
}

@media (max-width: 720px) {
.header-inner { padding: 16px 0; }
.nav { gap: 12px 16px; }
.hero { padding-top: 48px; }
.hero-grid {grid-template-columns: 1fr;}
.hero-card {display:none;}
.section-head { display: block; }
.newsletter form { grid-template-columns: 1fr; }
}