/* RennetAtlas 2.13.1 — restrained colour and folded geometry from the official v14 logo. */
:root {
  color-scheme: dark;
  --canvas: #12161c;
  --surface: #191f28;
  --surface-raised: #222b36;
  --ink: #f2f5f9;
  --muted: #adb9c8;
  --line: #35404e;
  --cyan: #40d8ed;
  --blue: #378ffe;
  --pink: #f34baf;
  --orange: #ff9a3e;
  --action: #40d8ed;
  --cream: #191f28;
  --radius: 18px;
}
html { scroll-padding-top: var(--ra-header-offset, 130px); }
body { background: var(--canvas); color: var(--ink); font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
::selection { background: #287588; color: #fff; }
.wrap { width: min(1320px, 90%); }
h1,h2,h3,h4 { color: var(--ink); text-wrap: balance; }
h2 { font-weight: 550; letter-spacing: -.035em; }
a { text-decoration-thickness: 1px; }
a:hover { color: var(--cyan); }
:is(a,button,input,textarea,select,summary):focus-visible { outline: 3px solid #72e7f6; outline-offset: 5px; }
.skip:focus { color: #112331; background: #f5f8fa; }
.site-header { top: 0; background: var(--canvas); border-bottom: 1px solid var(--line); position: sticky; z-index: 80; }
.header { display: grid; grid-template-columns: auto 1fr auto; min-height: 106px; gap: 32px; }
.brand { display: flex; align-items: center; width: auto; height: auto; gap: 6px; margin: 0; text-decoration: none; }
.brand img { display: block; width: 74px; height: 74px; border-radius: 0; transform: none; object-fit: contain; }
.brand-name { font-size: 23px; font-weight: 400; letter-spacing: -.8px; color: #f7f8fa; white-space: nowrap; direction: ltr; }
.brand-name span { color: #c3cfdf; }
.primary-navigation { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 14px 24px; font-size: 13px; line-height: 1.4; }
.primary-navigation>a { display: inline-flex; min-height: 44px; align-items: center; color: #d0d9e4; font-weight: 500; }
.primary-navigation>a:hover { color: var(--cyan); }
.primary-navigation .nav-signin { color: var(--cyan); gap: 6px; }
.header-language { min-width: 0; }
.language-picker { font-size: 12px; }
.language-picker summary { color: var(--ink); border: 1px solid var(--line); background: var(--surface); padding: 11px 12px; border-radius: 9px; min-height: 44px; }
.language-picker summary:hover { border-color: #718298; }
.header-language .language-menu { display: block; background: #1b232e; color: var(--ink); border: 1px solid #526177; box-shadow: 0 22px 55px #0008; width: min(640px,89vw); max-width: min(640px,89vw); padding: 14px; }
html[dir=rtl] .header-language .language-menu { left: 0; right: auto; }
.language-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
.language-options a { color: #edf2f7; padding: 10px; min-height: 44px; }
.language-options a:hover,.language-options [aria-current=page] { background: #293d4c; color: #77e7f5; }
.language-pending { color: #a3afbf; padding: 10px; }
.language-pending small { font-weight: 400; }
.btn { border-radius: 9px; background: var(--cyan); border: 1px solid var(--cyan); color: #0a2630; padding: 14px 22px; font-size: 14px; font-weight: 700; min-height: 48px; transition: background .15s, border-color .15s, transform .15s; }
.btn:hover { background: #80ebf6; border-color: #80ebf6; color: #09232a; transform: translateY(-1px); }
.btn.light,.btn.white { background: transparent; border-color: #586677; color: var(--ink); }
.btn.light:hover,.btn.white:hover { background: #263541; border-color: var(--cyan); color: #86ecf6; }
.text-link,.reset,.brand-text-link { color: var(--cyan); font-size: 13px; font-weight: 600; }
.brand-text-link { display: inline-flex; align-items: center; gap: 22px; min-height: 48px; text-decoration: none; color: #e1e9f2; border-bottom: 1px solid #596777; }
.eyebrow { color: var(--cyan); font-size: 11px; letter-spacing: .14em; line-height: 1.5; }
.brand-hero { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,.9fr); align-items: center; gap: 12px 50px; padding-block: 66px 0; position: relative; isolation: isolate; }
.brand-hero-copy { position: relative; z-index: 1; padding-bottom: 26px; }
.brand-eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; color: #cad6e4; font-weight: 500; letter-spacing: .19em; }
.brand-signal { display: inline-block; width: 28px; height: 3px; background: linear-gradient(90deg,var(--cyan),var(--blue)); }
.brand-hero h1 { font-size: clamp(37px,4.5vw,66px); font-weight: 500; line-height: 1.08; letter-spacing: -.05em; max-width: 740px; margin: 0 0 24px; }
.brand-intro { color: #adbcca; font-size: 16px; line-height: 1.85; max-width: 610px; margin: 0; text-wrap: pretty; }
.brand-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 30px; }
.brand-hero-art { position: relative; display: flex; justify-content: center; align-items: center; min-height: 405px; isolation: isolate; }
.brand-hero-art img { display: block; width: min(100%,380px); height: auto; position: relative; z-index: 1; mix-blend-mode: lighten; }
.brand-facet { display: block; position: absolute; width: 70%; height: 72%; opacity: .48; z-index: -1; pointer-events: none; }
.facet-cyan { inset-inline-end: -4%; bottom: 0; background: linear-gradient(135deg,#0065a100,#0486b83d); clip-path: polygon(0 0,100% 80%,100% 100%,44% 60%); }
.facet-pink { inset-inline-end: -5%; top: -3%; background: linear-gradient(145deg,#b1086929,#f528a300); clip-path: polygon(20% 0,100% 65%,69% 84%,4% 13%); }
.facet-orange { inset-inline-start: -5%; top: 2%; background: linear-gradient(150deg,#ff9d0029,#ff5d0000); clip-path: polygon(57% 0,92% 0,36% 100%,0 100%); }
.brand-sections { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid #526170; border-bottom: 1px solid var(--line); margin-top: 38px; }
.brand-sections a { display: flex; align-items: center; gap: 12px; padding: 20px 0; margin-inline-end: 32px; text-decoration: none; font-size: 13px; color: #d6e1ec; }
.brand-sections a>span:last-child { margin-inline-start: auto; color: #8d9bac; }
.section-dot { display: inline-block; width: 6px; height: 18px; transform: skew(-24deg); flex-shrink: 0; }
.dot-cyan { background: var(--cyan); }.dot-pink { background: var(--pink); }.dot-orange { background: var(--orange); }
.newsroom { padding-block: 54px; }
.editorial-heading { margin-bottom: 26px; align-items: flex-end; }
.editorial-heading h2 { font-size: clamp(28px,3vw,40px); line-height: 1.2; font-weight: 500; letter-spacing: -.035em; }
.editorial-heading p { font-size: 14px; color: var(--muted); margin-block: 8px 0; }
.editorial-heading .eyebrow { color: var(--cyan); margin-bottom: 10px; }
.editorial-heading .btn { padding: 10px 17px; min-height: 44px; font-size: 12px; }
.editorial-grid { gap: 18px; }
.editorial-card { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 27px; gap: 16px; box-shadow: none; position: relative; overflow: hidden; }
.editorial-card:before { content: ''; width: 46px; height: 3px; background: var(--cyan); position: absolute; top: 0; inset-inline-start: 27px; }
.editorial-card:nth-child(3n+2):before { background: var(--blue); }.editorial-card:nth-child(3n):before { background: var(--pink); }
.editorial-card h3 { font-size: 23px; font-weight: 550; line-height: 1.35; letter-spacing: -.025em; }
.editorial-card h3 a { color: var(--ink); }
.editorial-card h3 a:hover { color: #78e3f0; }
.editorial-card p { font-size: 14px; color: #b9c5d3; line-height: 1.8; }
.editorial-card p.eyebrow { font-size: 10px; color: var(--cyan); margin: 4px 0 1px; letter-spacing: .12em; }
.editorial-card .editorial-date { color: #a4b1c2; font-size: 12px; }
.editorial-card>.text-link { padding-top: 18px; width: 100%; border-top: 1px solid var(--line); }
.event-preview { border-top: 1px solid var(--line); }
.event-card:before { background: var(--pink); }.event-card:nth-child(3n+2):before { background: var(--orange); }
.event-card .event-date { color: #f6b46f; font-size: 14px; }
.event-status { background: #193a36; color: #a9e5ca!important; border: 1px solid #346457; font-size: 12px!important; padding: 3px 10px; }
.status-cancelled { background: #45262e; color: #ffc0c9!important; border-color: #925665; }
.status-postponed { background: #3c3022; color: #ffcf8c!important; border-color: #816743; }
.editorial-empty,.empty { background: var(--surface); color: var(--muted); border-color: var(--line); }
.spotlight { padding-block: 25px 38px; border-top: 1px solid var(--line); }
.campaign-grid.is-carousel .campaign { background: #202733; border: 1px solid #435165; color: var(--ink); border-radius: 14px; padding: 36px; min-height: 310px; }
.campaign-grid.is-carousel .campaign-0 { background: linear-gradient(115deg,#1f2935,#191f28); }
.campaign-grid.is-carousel .campaign-1 { background: #29202e; }.campaign-grid.is-carousel .campaign-2 { background: #172d38; }
.campaign-grid.is-carousel h2 { font-size: clamp(28px,3.4vw,44px); font-weight: 500; }
.campaign .kicker { color: var(--orange); }.campaign p { color: #c0cad7; }
.campaign .ad-label { color: #c3d0e0; border-color: #637185; border-radius: 4px; }
.industry-visual img { border-radius: 9px; }.industry-visual figcaption { color: #c0ccda; }
.campaign-art,.orbit { display: none; }
.carousel-controls button { background: var(--surface); border: 1px solid #4e6072; color: var(--ink); }
.carousel-controls button:hover { border-color: var(--cyan); }
.launch-strip { background: transparent; border: 0; border-block: 1px solid var(--line); border-radius: 0; padding: 18px 0; }
.directory { padding-top: 32px; padding-bottom: 50px; }
.directory-heading { margin-bottom: 30px; }
.directory-heading h2 { max-width: 700px; }
.directory-heading p:not(.eyebrow),.coverage-note { color: var(--muted); }
.searchbar { border: 1px solid #5b6c7e; background: #1c2631; padding: 17px 20px; border-radius: 12px; box-shadow: none; }
.searchbar label { border-color: #465260; color: #c2d3e2; }
.searchbar input,.searchbar select { color: #f2f6fc; }
.searchbar input::placeholder { color: #9eacbd; opacity: 1; }
.searchbar button[type=reset] { background: transparent; border: 0; color: var(--cyan); }
.technical-filters { background: transparent; border: 1px solid var(--line); border-radius: 12px; padding: 20px; }
.technical-filters legend { padding-inline: 8px; color: #d2deeb; }
.technical-filters label { color: var(--muted); }.technical-filters p { color: var(--muted); }
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea { background: #141c26; color: #edf4fb; border-color: #596779; border-radius: 8px; }
input::placeholder,textarea::placeholder { color: #9eacbd; opacity: 1; }
input[type=checkbox],input[type=radio] { accent-color: var(--cyan); }
select option { background: #17222d; color: #f3f7fb; }
.technical-filters select:disabled,input:disabled,select:disabled { background: #242c35; color: #b5becc; }
.searchbar input,.searchbar select { background: transparent; }
.view-switch { background: #222d3a; padding: 4px; }
.view-switch button { color: #b7c8d7; min-height: 44px; }
.view-switch button[aria-pressed=true] { background: #426171; color: #fff; box-shadow: none; }
.supplier-list { gap: 14px; scrollbar-color: #536378 #1b242e; }
.supplier-card,.panel,.intl-card,.featured-grid a { background: var(--surface); border-color: var(--line); border-radius: 12px; color: var(--ink); box-shadow: none; }
.supplier-card:hover,.supplier-card.selected { border-color: #52cfe2; box-shadow: none; }
.company-avatar { background: #1d3544; color: #7adeef; border-color: #41586b; border-radius: 9px; }
.supplier-card h3 { font-weight: 550; font-size: 22px; }.supplier-card .products,.supplier-card .address { color: #b0bece; }
.card-actions { border-color: var(--line); }.card-tags { color: #b0c0d0; }
.pill { background: #193745; color: #a7e6f0; border-radius: 4px; }.pill.sponsored { background: #3b3028; color: #ffd0a3; }
.map-panel { background: var(--surface); border-color: var(--line); box-shadow: none; }
.map-tools,.map-footer,.map-note { background: #1a242f; color: #c1cddd; }
.map-tools button { background: #283746; border-color: #5b6b7a; color: #edf5fc; min-height: 44px; }
#atlas-map { background: #17232e; color: #162631; }
.map-consent { background: #172732; border-block: 1px solid #385163; color: #edf6fa; }
.map-consent p,.map-consent small { color: #b4c6d3; }.map-symbol { color: #43d5e5; }
.map-focus { color: #62d7e9; }.ra-pin { background: #087e9b; }.ra-popup a { color: #006a80; }
.leaflet-popup-content-wrapper,.leaflet-popup-tip { background: #fff; color: #182736; }
.ra-shared-map #atlas-map { background: #101e2c; }
.ra-shared-map .marker-cluster-small,.ra-shared-map .marker-cluster-medium,.ra-shared-map .marker-cluster-large { background: #40d8ed35; }
.ra-shared-map .marker-cluster-small div,.ra-shared-map .marker-cluster-medium div,.ra-shared-map .marker-cluster-large div { background: #57d8e9; color: #10232e; }
.ra-shared-map .ra-pin { background: #3ecbdd; color: #102632; border-color: #e3faff; box-shadow: 0 3px 10px #03122280; }
.ra-shared-map .leaflet-control-attribution { background: #112333e8; color: #bacbd9; font-size: 10px; }
.ra-shared-map .leaflet-control-attribution a { color: #9ae6ee; }
.map-actions button:first-child,.map-actions button:nth-child(2) { font-size: 20px; font-weight: 500; line-height: 1; }
.ra-shared-map .legend-dot { background: var(--cyan); }
.intl-card .address { font-size: 13px; line-height: 1.8; color: var(--muted); overflow-wrap: anywhere; }
.value-strip { gap: 30px; padding-block: 28px 70px; }.value-strip span { color: var(--orange); }
.plans-section { background: #17202a; border-block: 1px solid var(--line); padding-block: 64px; }
.plan { background: #1b2632; border: 1px solid #435164; border-radius: 13px; color: var(--ink); }
.plan.recommended { background: #1d2d39; border-color: #43c3d7; box-shadow: inset 0 3px var(--cyan); }
.plan h3,.price { color: #f2f6fc; }.plan p,.plan li,.plan-note,.payment-note { color: #b9c8d7; }
.plan-tag { color: var(--cyan); }.plan:nth-child(2) .plan-tag { color: #ff96d3; }.plan:nth-child(3) .plan-tag { color: #ffbf82; }
.plan ul li:before { color: #6ddce9; }.plan .price small { color: #b8c6d6; }
.free-listing { border-color: var(--line); color: #c8d6e4; }.free-listing a { color: var(--cyan); }
.notice,.plans-section .notice { color: #ead6b8; background: #2c2823; border: 1px solid #6e5c42; border-radius: 9px; line-height: 1.8; }
.notice a { color: #ffca8a; }
.launch-promise,.guide-promo,.outcome-grid article,.buying-form { background: var(--surface); border: 1px solid var(--line); border-radius: 13px; color: var(--ink); }
.launch-promise { border-inline-start: 3px solid var(--pink); }.guide-promo { border-inline-start: 3px solid var(--cyan); }
.outcome-grid article { padding: 28px; }.step-number { color: var(--cyan); }.outcome-grid article:nth-child(2) .step-number { color: #ff84cb; }.outcome-grid article:nth-child(3) .step-number { color: #ffb778; }
.outcome-grid p,.brief-section p,.guide-promo p,.intro { color: var(--muted); }
.outcome-grid strong { color: #c0deee; }.buying-form input,.buying-form textarea,.buying-form select { background: #141c26; }
.membership-faq details { background: transparent; border-color: var(--line); border-radius: 0; }
.membership-faq summary { color: #e8eff8; }.membership-faq p { color: var(--muted); }
.join-section { border-color: var(--line); }.join-section form { background: var(--surface); border-color: var(--line); }
dialog { background: #1b2531; border: 1px solid #596b7d; color: var(--ink); box-shadow: 0 30px 100px #000a; border-radius: 16px; }
dialog::backdrop { background: #060b12c9; }.dialog-close { background: #293744; color: #f2f6fa; border-color: #546678; }
.comparison-table { background: var(--surface); color: var(--ink); }
.comparison-table th,.comparison-table td { border-color: #455363; text-align: start; }
.comparison-table th { background: #263541; }.comparison-table td { background: #19222d; }
.value-calculator input,.value-calculator select { background: #1b2632; color: #edf4fc; border-color: #526477; }
#value-result { background: #1c3541; color: #c3ecf4; border: 1px solid #395f71; }
.page-content blockquote { background: #1c2c38; border-color: var(--cyan); color: #d8e7f2; }
.page-content h1,.editorial-page h1,.profile-hero h1 { font-weight: 500; letter-spacing: -.035em; }
.editorial-page { padding-block: 56px; }.editorial-intro,.article-body { color: #c4d1df; }
.editorial-date,.profile-source,.muted { color: #a9b8ca; }
.event-filters { background: #1b2632; border: 1px solid var(--line); border-radius: 12px; }
.event-filters input,.event-filters select { background: #14202b; color: var(--ink); border-color: #586c80; }
.calendar-scroll { border-color: #4b5e72; border-radius: 12px; }
.event-calendar { background: #17232e; color: #e4edf6; }
.event-calendar caption { background: #243443; color: #eef4f9; }
.event-calendar th { background: #1e2e3b; }.event-calendar td { border-color: #405164; }
.event-calendar .outside-month { background: #141c25; color: #a6b5c7; }
.calendar-event { background: #263e4b; color: #b7edfa; border-inline-start: 2px solid var(--cyan); }
.calendar-event:hover { background: #345365; color: #fff; }.event-details { color: #c0cfe0; }.event-details dt { color: #f0f4f8; }
.site-footer { background: #0d1117; color: #bac8d7; border-top: 1px solid #3b4859; padding-top: 55px; }
.footer-brand { color: #f1f5fb; font-weight: 400; }.footer-brand span { color: #59d7e9; }
.footer-brand p,.site-footer .fine { color: #a0b0c3; }.site-footer a { color: #c3d1e1; }.site-footer a:hover { color: var(--cyan); }
.site-footer strong { color: #edf2f8; }.site-footer .fine,.company-disclosure { border-color: #384454; }
.company-disclosure { color: #9eafc2; font-size: 12px; }
.brand-photo { margin: 0; min-width: 0; }
.brand-photo-frame { position: relative; overflow: hidden; border-radius: 12px; background: #253544; }
.brand-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.brand-photo figcaption { color: #a9b9c9; font-size: 11px; line-height: 1.7; padding-top: 10px; }
.photo-ribbon { position: absolute; bottom: 0; inset-inline-end: 0; width: 90px; height: 8px; background: linear-gradient(105deg,var(--cyan) 0 34%,var(--pink) 35% 67%,var(--orange) 68%); transform: skew(-28deg); transform-origin: bottom right; }
.newsroom-lead { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.78fr); gap: 48px; align-items: center; margin-bottom: 28px; }
.newsroom-lead .editorial-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; margin: 0; }
.newsroom-lead .editorial-heading h2 { font-size: clamp(32px,3.8vw,48px); }
.newsroom-photo img { aspect-ratio: 2.3 / 1; object-position: 50% 45%; }
.editorial-masthead { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); gap: 60px; align-items: center; padding-bottom: 36px; margin-bottom: 26px; border-bottom: 1px solid var(--line); }
.editorial-masthead h1 { font-size: clamp(38px,4.2vw,62px); }
.masthead-photo img { aspect-ratio: 1.8; }.editorial-masthead .editorial-intro { font-size: 17px; }
.article-layout { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.9fr); gap: 60px; align-items: start; margin-block: 32px; }
.article-layout .article-body { font-size: 19px; }.article-layout .article-body p:first-child { margin-top: 0; }
.article-photo img { aspect-ratio: 1.3; }
.resource-photo { float: right; width: 45%; margin: 8px 0 28px 40px; }
html[dir=rtl] .resource-photo { float: left; margin-inline: 40px 0; }
.page-content article:after { content: ''; display: table; clear: both; }
.brand-fold { position: relative; height: 235px; width: 100%; isolation: isolate; overflow: hidden; border-radius: 12px; background: #17212d; border: 1px solid #34465a; }
.brand-fold:before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(#809bba0c 1px,transparent 1px),linear-gradient(90deg,#809bba0c 1px,transparent 1px); background-size: 34px 34px; }
.brand-fold span { position: absolute; width: 68%; height: 155%; top: -25%; transform: rotate(30deg); }
.brand-fold span:nth-child(1) { inset-inline-start: -5%; background: linear-gradient(155deg,#ffad42,#ff5a1f); clip-path: polygon(5% 5%,30% 5%,95% 95%,70% 95%); opacity: .85; }
.brand-fold span:nth-child(2) { inset-inline-start: 28%; background: linear-gradient(130deg,#a71664,#f251b0); clip-path: polygon(15% 0,38% 0,95% 90%,72% 90%); opacity: .8; }
.brand-fold span:nth-child(3) { inset-inline-start: 1%; background: linear-gradient(140deg,#1b65d3,#49e1ec); clip-path: polygon(0 70%,85% 45%,95% 64%,8% 90%); }
.brand-fold i { position: absolute; inset: 0; background: linear-gradient(100deg,#17212d00 35%,#17212db3); }
.supplier-masthead,.event-detail-masthead { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(0,1fr); gap: 55px; align-items: center; margin-block: 30px; }
.supplier-masthead h1 { font-weight: 500; letter-spacing: -.035em; }
.supplier-masthead .brand-fold { height: 180px; }.event-detail-masthead .brand-fold { height: 220px; }
.event-card-art { display: flex; align-items: baseline; gap: 13px; width: 100%; border-bottom: 1px solid #465467; padding: 3px 0 18px; position: relative; overflow: hidden; direction: ltr; }
.event-card-art>span { color: #f5f8fc; font-size: 46px; line-height: 1; font-weight: 400; letter-spacing: -.05em; }.event-card-art small { color: #adbfce; font-size: 13px; letter-spacing: .05em; }
.event-card-art i { position: absolute; right: 15px; bottom: -14px; width: 28px; height: 100px; background: #db4d9b2e; transform: rotate(31deg); }
.event-card:nth-child(3n+2) .event-card-art i { background: #ff9a3e30; }.event-card:nth-child(3n) .event-card-art i { background: #40d8ed30; }
.international-cards { gap: 18px; scrollbar-color: #536378 #1b242e; }.intl-card { padding: 24px; }
.international-contact { border-top: 1px solid var(--line); }.international-contact a { color: var(--cyan); }
html[dir=rtl] :is(h1,h2,h3,.brand-hero h1,.editorial-heading h2,.eyebrow) { letter-spacing: 0; }
html[dir=rtl] .brand-hero h1 { line-height: 1.5; font-size: clamp(34px,4vw,52px); }
html[dir=rtl] .brand-intro { line-height: 2; }.brand-name { font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
@media (max-width:1150px) {
 .header { gap: 20px; grid-template-columns: auto auto; padding-block: 12px; }
 .primary-navigation { grid-row: 2; grid-column: 1 / -1; justify-content: flex-start; gap: 12px 24px; border-top: 1px solid var(--line); padding-top: 8px; }
 .header-language { justify-self: end; }.brand-hero { gap: 10px 22px; padding-top: 42px; }
 .brand-hero h1 { font-size: clamp(36px,4.8vw,56px); }.brand-hero-art { min-height: 340px; }
}
@media (max-width:760px) {
 .wrap { width: 90%; }.header { gap: 6px 12px; padding-block: 6px; min-height: 0; }
 .brand img { width: 58px; height: 58px; }.brand-name { font-size: 19px; letter-spacing: -.6px; }
 .primary-navigation { gap: 0 20px; font-size: 12px; padding-top: 5px; padding-bottom: 2px; }
 .primary-navigation>a { display: inline-flex!important; min-height: 44px; }.language-picker { font-size: 11px; }
 .language-picker summary { padding: 9px; max-width: 46vw; white-space: normal; }.language-menu { width: 89vw; max-height: 65vh; }
 .language-options { grid-template-columns: repeat(2,minmax(0,1fr)); }.language-options li { min-width: 0; }.language-options a { text-align: start; }
 .brand-hero { grid-template-columns: minmax(0,1fr); padding-top: 36px; gap: 0; }
 .brand-hero-copy { padding-bottom: 10px; }.brand-hero h1 { font-size: clamp(36px,8.8vw,55px); line-height: 1.15; margin-bottom: 20px; }
 .brand-eyebrow { margin-bottom: 18px; }.brand-intro { font-size: 15px; line-height: 1.9; }
 .brand-actions { gap: 18px; margin-top: 24px; }.brand-actions .btn { padding: 12px 19px; }
 .brand-hero-art { min-height: 0; height: 200px; margin-top: 16px; }.brand-hero-art img { width: 210px; }
 .brand-facet { width: 48%; height: 92%; }.facet-orange { inset-inline-start: 10%; }.facet-cyan,.facet-pink { inset-inline-end: 10%; }
 .brand-sections { margin-top: 14px; gap: 0; }.brand-sections a { margin-inline-end: 12px; padding: 15px 0; font-size: 11px; gap: 8px; align-items: flex-start; }
 .brand-sections a>span:last-child { display: none; }.section-dot { width: 4px; height: 13px; margin-top: 3px; }
 .newsroom { padding-block: 35px; }.editorial-heading { gap: 18px; align-items: flex-start; margin-bottom: 22px; }
 .editorial-heading h2 { font-size: 30px; }.editorial-card { padding: 23px; gap: 14px; }.editorial-card h3 { font-size: 23px; }
 .editorial-card:before { inset-inline-start: 23px; }.editorial-card p { font-size: 14px; }
 .home #main { display: block; }.home #main>.directory { padding-top: 30px; }
 .campaign-grid.is-carousel .campaign { padding: 25px; border-radius: 12px; }.campaign-grid.is-carousel .campaign-content { width: 100%; max-width: 100%; }
 .searchbar { padding: 18px; gap: 14px; }.searchbar label { padding-inline: 0; border: 0; }
 .technical-filters { padding: 17px; }.supplier-card { padding: 20px; gap: 12px; }.company-avatar { width: 38px; height: 38px; font-size: 18px; }
 .card-actions { gap: 12px; }.supplier-list { max-height: 670px; }.plans-section { padding-block: 42px; }
 .plan { padding: 24px; }.outcome-grid article { padding: 24px; }.guide-promo { padding: 26px; }
 .editorial-page { padding-block: 32px; }.event-filters { padding: 18px; }.site-footer { padding-top: 38px; }
 .newsroom-lead,.editorial-masthead,.article-layout { grid-template-columns: minmax(0,1fr); gap: 24px; }
 .newsroom-photo img { aspect-ratio: 1.8; }.newsroom-lead .editorial-heading h2 { font-size: 32px; }
 .editorial-masthead { padding-bottom: 25px; }.masthead-photo img { aspect-ratio: 1.8; }
 .article-photo img { aspect-ratio: 1.6; }.article-layout { margin-block: 24px; }
 .resource-photo,html[dir=rtl] .resource-photo { float: none; width: 100%; margin: 20px 0 28px; }
 .supplier-masthead,.event-detail-masthead { grid-template-columns: minmax(0,1fr); gap: 20px; }.supplier-masthead .brand-fold,.event-detail-masthead .brand-fold { height: 110px; }
 .events-masthead .brand-fold { height: 150px; }
 html[dir=rtl] .brand-hero h1 { font-size: clamp(33px,8vw,45px); line-height: 1.55; }
}
@media (max-width:380px) {
 .brand-name { font-size: 17px; }.brand img { width: 48px; height: 48px; }.header { gap: 6px; }
 .language-picker summary { font-size: 10px; padding: 8px; }.primary-navigation { gap: 0 17px; }
 .brand-hero h1 { font-size: 35px; }.brand-actions { gap: 14px; }.brand-text-link { gap: 12px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior: auto; }.btn { transition: none; }.btn:hover { transform: none; } }

/* Keep primary destinations visible, with room for anchors below the header. */
.site-header.navigation-static { position: relative; }
body.admin-bar .site-header { top: 32px; }
.primary-navigation { gap: 8px 18px; }
.searchbar input,.searchbar select,.searchbar button { min-height: 44px; }
.map-focus { min-height: 44px; padding-block: 8px; }
@media(max-width:760px) { .site-header:has(.language-menu) { position: sticky; } .site-header.navigation-static { position: relative; } .primary-navigation { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 12px; width: 100%; } .primary-navigation>a { font-size: 12px; min-height: 44px; justify-content: center; text-align: center; } .header-language .language-picker summary { display: flex; align-items: center; flex-wrap: wrap; gap: 3px; } }
@media(max-width:782px) { body.admin-bar .site-header { top: 46px; } }

/* Legacy canvas links also leave the zoom controls in view. */
#atlas-map { scroll-margin-top: 112px; }

.event-month-navigation { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; margin:16px 0; }
.event-month-navigation .btn { min-height:44px; }
[dir="rtl"] .event-month-navigation [aria-hidden="true"] { transform:scaleX(-1); }

/* Permanent news placements, clearly separate from editorial cards. */
.news-ad-slot { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.35fr); align-items:center; gap:28px; min-height:230px; padding:28px 34px; margin-block:12px; border:1px solid #466576; border-inline-start:3px solid var(--cyan); border-radius:12px; background:#182631; position:relative; overflow:hidden; }
.news-ad-copy { min-width:0; position:relative; z-index:1; }
.news-ad-label { display:inline-block; color:#aee9ef; border:1px solid #537783; border-radius:4px; padding:4px 9px; font-size:11px; letter-spacing:.05em; line-height:1.5; }
.news-ad-slot .news-ad-title { font-size:clamp(22px,2.2vw,30px); font-weight:500; line-height:1.35; color:#f0f5fa; margin:16px 0 8px; }
.news-ad-slot .news-ad-description { font-size:15px; line-height:1.7; color:#b7cbd6; margin:0 0 18px; }
.news-ad-slot .btn { min-height:44px; white-space:normal; }
.news-ad-art { height:155px; min-width:0; position:relative; isolation:isolate; overflow:hidden; }
.news-ad-art span { display:block; position:absolute; height:145px; width:34px; inset-block-start:-22px; inset-inline-start:35%; transform:rotate(26deg); background:linear-gradient(var(--orange),#fa622b); }
.news-ad-art span:nth-child(2) { inset-inline-start:58%; inset-block-start:12px; background:linear-gradient(var(--pink),#a42479); transform:rotate(-27deg); }
.news-ad-art span:nth-child(3) { width:135px; height:32px; inset-inline-start:21%; inset-block-start:62px; background:linear-gradient(100deg,var(--blue),var(--cyan)); transform:rotate(12deg); }
.news-ad-art b { display:block; position:absolute; bottom:0; width:100%; text-align:center; color:#c4d4e0; font-size:15px; font-weight:400; }
@media(max-width:760px) {
 .news-ad-slot { grid-template-columns:minmax(0,1fr); padding:24px; gap:0; min-height:260px; margin-block:8px; }
 .news-ad-copy { padding-inline-end:0; }.news-ad-art { display:none; }
 .news-ad-slot:after { content:""; position:absolute; inset-inline-end:0; top:0; width:75px; height:5px; background:linear-gradient(90deg,var(--cyan),var(--pink),var(--orange)); }
 .news-ad-slot .news-ad-title { font-size:24px; }.news-ad-label { letter-spacing:normal; }
}

/* Site-wide horizontal banner and portrait rail, always in normal document flow. */
.site-ad-banner { margin-block:22px 0; }
.site-ad-slot { position:relative; overflow:hidden; min-width:0; border:1px solid #476171; border-radius:10px; background:#17242e; color:var(--ink); }
.site-ad-slot:before { content:""; position:absolute; inset-block-start:0; inset-inline-end:0; width:82px; height:4px; background:linear-gradient(90deg,var(--cyan),var(--pink),var(--orange)); }
.site-ad-slot--horizontal { display:flex; align-items:center; gap:22px; padding:16px 24px; min-height:112px; }
.site-ad-logo { display:block; width:72px; height:72px; object-fit:contain; flex-shrink:0; }
.site-ad-copy { min-width:0; flex:1; }
.site-ad-slot .site-ad-title { margin:9px 0 0; color:#eef4fa; font-size:20px; line-height:1.35; font-weight:500; overflow-wrap:anywhere; }
.site-ad-slot .btn { min-height:44px; white-space:normal; text-align:center; flex-shrink:0; max-width:100%; }
.site-ad-slot .news-ad-label { font-size:10px; letter-spacing:.04em; }
.site-ad-content { min-width:0; }
.site-ad-rail { width:min(1280px,90%); margin:24px auto 44px; min-width:0; }
.site-ad-slot--vertical { display:flex; align-items:center; gap:22px; min-height:112px; padding:16px 24px; }
.site-ad-slot .site-ad-description { color:#bacbd8; font-size:14px; line-height:1.75; margin:14px 0 0; }
@media(min-width:1180px) {
 .site-ad-shell { width:min(1320px,90%); margin-inline:auto; display:grid; grid-template-columns:minmax(0,1fr) 200px; gap:18px; align-items:stretch; }
 .site-ad-content .wrap { width:100%; }
 .site-ad-content .plans-section>.wrap { width:92%; }
 .site-ad-rail { width:auto; margin:38px 0 48px; }
 .site-ad-slot--vertical { display:flex; flex-direction:column; justify-content:flex-start; align-items:stretch; gap:24px; min-height:600px; padding:24px 20px; border-block-start:3px solid var(--pink); }
 .site-ad-slot--vertical .site-ad-logo { width:132px; height:132px; margin:12px auto 0; }
 .site-ad-slot--vertical .site-ad-copy { flex:0 1 auto; }
 .site-ad-slot--vertical .site-ad-title { font-size:25px; margin-top:24px; }
 .site-ad-slot--vertical .btn { margin-top:auto; padding-inline:12px; }
 .site-ad-content .editorial-grid { gap:15px; }
 .site-ad-content .editorial-card { padding:20px; }
}
@media(min-width:1180px) and (min-height:800px) {
 .site-ad-rail>.site-ad-slot { position:sticky; top:var(--ra-header-offset,125px); }
}
@media(max-width:760px) {
 .site-ad-banner { margin-block:16px 0; }
 .site-ad-slot--horizontal,.site-ad-slot--vertical { display:grid; grid-template-columns:44px minmax(0,1fr); gap:12px; min-height:0; padding:16px; }
 .site-ad-slot .site-ad-logo { width:44px; height:44px; }
 .site-ad-slot .site-ad-title { font-size:17px; margin-top:8px; }
 .site-ad-slot .btn { grid-column:1/-1; width:100%; }
.site-ad-slot .site-ad-description { display:none; }
.site-ad-rail { margin-block:20px 32px; }
}

/* Clear choices for suppliers and readers, without interrupting the page. */
.primary-navigation .nav-membership { color:#091c26; background:var(--cyan); border-radius:6px; padding:9px 12px; font-weight:600; }
.growth-hero-actions { align-items:stretch; gap:12px; }
.growth-hero-actions .btn { white-space:normal; min-height:48px; text-align:center; }
.growth-quick-links { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:14px; }
.growth-quick-links .brand-text-link { font-size:13px; min-height:44px; }
.growth-section { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; margin-block:42px 64px; }
.growth-section article { min-width:0; padding:30px; border:1px solid #364859; border-radius:14px; position:relative; }
.growth-member { display:flex; flex-direction:column; background:#161e28; border-block-start:3px solid var(--pink)!important; }
.growth-newsletter { background:#152832; border-block-start:3px solid var(--cyan)!important; }
.growth-section h2 { font-size:clamp(26px,2.7vw,36px); line-height:1.2; letter-spacing:-.025em; margin:14px 0; }
.growth-section .growth-intro { font-size:15px; line-height:1.8; color:#c0cdd8; margin-bottom:22px; }
.growth-benefits { list-style:none; padding:0; margin:0 0 26px; display:grid; gap:14px; color:#ecf3f9; font-size:15px; }
.growth-benefits li { display:flex; align-items:baseline; gap:12px; }
.growth-benefits span { color:var(--pink); }
.growth-member-action { margin-top:auto; }
.growth-member-action .btn { width:100%; white-space:normal; min-height:48px; text-align:center; }
.growth-member-action p,.growth-reassurance { color:#aebecc; font-size:13px; line-height:1.75; margin:15px 0 0; }
.growth-member-action .growth-availability { color:#edd8b0; }
.growth-label-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
.growth-label-row .eyebrow { margin:0; }
.growth-badge { padding:4px 8px; border:1px solid #5a7381; border-radius:5px; color:#c3eaf0; font-size:11px; }
.growth-sample { border-top:1px solid #3a5262; margin-top:24px; padding-top:20px; }
.growth-sample a { display:block; padding:10px 0; color:#d5eef4; font-size:14px; line-height:1.65; text-decoration:underline; text-decoration-color:#537680; text-underline-offset:4px; }
.growth-section a:focus-visible,.growth-section input:focus-visible { outline:3px solid var(--cyan); outline-offset:5px; }
.growth-newsletter form { display:grid; gap:14px; }
.growth-newsletter .newsletter-input-row { display:grid; gap:10px; }
.growth-newsletter .newsletter-privacy { margin:0; color:#aebecc; font-size:13px; line-height:1.7; }
.growth-newsletter input[type=email] { width:100%; min-height:48px; border:1px solid #607786; border-radius:7px; background:#0e1a24; color:#f0f5fa; padding:12px; direction:ltr; box-sizing:border-box; }
.growth-newsletter button { background:var(--cyan); color:#091c26; border:0; border-radius:7px; min-height:48px; padding:12px 18px; font:inherit; font-weight:600; cursor:pointer; }
.growth-newsletter label { color:#d7e5ee; font-size:14px; line-height:1.7; }
.growth-newsletter label:has(input[type=checkbox]) { display:flex; align-items:flex-start; gap:10px; }
.growth-newsletter input[type=checkbox] { margin-top:5px; min-width:18px; width:18px; height:18px; accent-color:var(--cyan); }
.growth-newsletter [role=status],.growth-newsletter .newsletter-unavailable { border:1px solid #4b6977; border-radius:8px; padding:16px; color:#d5e3ec; line-height:1.8; font-size:14px; }
html[dir=rtl] .growth-section h2 { letter-spacing:normal; line-height:1.6; }
@media(max-width:960px) { .growth-section { grid-template-columns:minmax(0,1fr); }.growth-section article { padding:28px; }.growth-hero-actions .btn { flex:1 1 170px; } }
@media(max-width:760px) {
 .primary-navigation .nav-membership { margin-block:3px; min-height:44px; padding:7px 9px; }
 .growth-section { gap:18px; margin-block:30px 44px; }.growth-section article { padding:24px; }.growth-section h2 { font-size:28px; }
 .growth-hero-actions { display:flex; flex-direction:column; width:100%; }.growth-hero-actions .btn { flex:auto; width:100%; }
 .growth-quick-links { justify-content:flex-start; gap:4px 20px; }.growth-quick-links .brand-text-link { font-size:12px; }
}

.language-picker .language-flag{display:inline-block;width:28px;height:16px;object-fit:contain;vertical-align:middle;border-radius:2px}
