/* ==========================================================================
   wp-compat.css  —  Vistara
   Neutralizes markup deltas WordPress introduces that the source design never
   had. Enqueued AFTER assets/css/source.css so these rules win where needed.
   Every rule here corrects a specific WP-emitted difference; nothing more.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1) Admin bar offset. The hero is full-viewport (100vh) and the nav is
   position:fixed; the logged-in admin bar (32px / 46px mobile) must not
   shove the fixed header under itself.
   -------------------------------------------------------------------------- */
.admin-bar #nav { top: 32px; }
@media screen and (max-width: 782px) {
	.admin-bar #nav { top: 46px; }
}

/* --------------------------------------------------------------------------
   2) wp_nav_menu shape. The source footer nav is a FLAT list of <a> tags
   directly inside .foot-nav / .foot-bot. The Vistara_Flat_Nav_Walker already
   emits bare <a>, but guard against WP's default <ul><li> shape if a fallback
   menu ever renders: strip list chrome so links stay inline like the source.
   -------------------------------------------------------------------------- */
.foot-nav ul,
.foot-bot ul {
	display: contents;
	list-style: none;
	margin: 0;
	padding: 0;
}
.foot-nav li,
.foot-bot li {
	display: inline;
	margin: 0;
	padding: 0;
	list-style: none;
}
/* current-menu-item: the source has no active-link styling for the footer
   (it is anchor navigation on a single page); keep the plain link colour. */
.foot-nav li.current-menu-item > a,
.foot-nav a.current-menu-item {
	color: var(--tx-dim);
}

/* --------------------------------------------------------------------------
   3) Attachment image classes. wp_get_attachment_image_url() is used in the
   partials (manual <img> build) so no attachment-*/size-* classes are added,
   but guard any WYSIWYG-inserted images (lockup / behind body / consent) so a
   WP-injected image never overflows its holo / chip container.
   -------------------------------------------------------------------------- */
.lockup img,
.behind img,
.term img,
.note img,
.cal img {
	max-width: 100%;
	height: auto;
}
img.aligncenter { display: block; margin-left: auto; margin-right: auto; }
img.alignleft   { float: left; margin: 0 1.2rem 1rem 0; }
img.alignright  { float: right; margin: 0 0 1rem 1.2rem; }

/* --------------------------------------------------------------------------
   4) Gravity Forms (optional) — when Options.form_embed wires a Gravity form
   into the calendar section, inherit the source .cal-form / .fld / .btn look
   so the plugin markup matches the designed form. Harmless when GF is absent.
   -------------------------------------------------------------------------- */
.cal .gform_wrapper {
	max-width: 100%;
	margin: 0 auto;
}
.cal .gform_wrapper .gform_fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
}
.pay-form .left-sec, .pay-form .right-sec{ gap: 20px;
    display: flex;
    flex-direction: column;}

@media (max-width: 767px) {
	.cal .gform_wrapper .gform_fields { grid-template-columns: 1fr; }
}
.pay-sec h1{margin-bottom:3.2rem; text-align:center;}
#field_2_7 .ginput_container .ginput_product_price_wrapper, #field_2_12 .ginput_container .ginput_product_price_wrapper {
    
} 

#field_2_7 .ginput_container .ginput_product_price_wrapper input, #field_2_12 .ginput_container .ginput_product_price_wrapper input {
    display: none;
}
.pay-form .gfield_description {
    font-size: 16px;
}
.pay-form .gfield_description .form-price{
	    font-size: 18px;
    margin-bottom: 12px;
}
.pay-form .gfield_description .form-price del {
	    text-decoration: line-through;
    color: #aeaeae;
    margin-right: 10px;

}
.pay-form .gfield_description .form-price b{
	color: #f28347;
	font-size: 20px;
	margin-right: 5px;
	font-weight: 700;
}
.pay-form .gfield_description .form-price + p b {
    color: #347a10;
    font-size: 18px;
    font-weight: 600;
}
.pay-form .gfield_description .form-price + p{color:#000;}
.pay-form .gfield_description .form-price + p + p {
    font-size: 13px;
    margin-top: 14px;
}
.gfield_radio{cursor: pointer;}

#input_2_4_1{height:50px;}

#input_2_9{
	    font-size: 24px;
    color: #f28246;
    font-weight: 700;
}

#ginput_product_price_2_12 .ginput_product_price{display:none;}

.cal .gform_wrapper .gfield input::placeholder { color: #9A8FB0; }
.cal .gform_wrapper .gform_footer { grid-column: 1 / -1; }
/* GF submit is <input type="submit"> — inherit the source <button class="btn"> look. */
.cal .gform_wrapper .gform_footer input[type="submit"],
.cal .gform_wrapper input.gform_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	width: 100%;
	padding:19px 40px !important;
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	font-family: 'Space Grotesk', sans-serif;
	font-weight: 600;
	font-size: 1rem;
	color: #1a0f05;
	background: linear-gradient(92deg, #F0793E, #F79A5C 55%, #FBBE8C);
	box-shadow: var(--glow-cta);
}
.cal .gform_wrapper .gform_footer input[type="submit"]:hover { transform: translateY(-3px); }
/* GF validation output — keep it readable on the dark field. */
.cal .gform_wrapper .validation_message,
.cal .gform_wrapper .gfield_required { color: var(--coral); }
.cal .gform_confirmation_message { color: var(--tx); }

/* ===== Speaker bio modal (click a speaker card → bio popup) ===== */
.sp-open{cursor:pointer}
.sp-open:focus-visible{outline:2px solid var(--coral,#F0793E);outline-offset:3px}
.sp-modal{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:26px}
.sp-modal.open{display:flex}
.sp-modal-back{position:absolute;inset:0;background:rgba(6,3,16,.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.sp-modal-box{position:relative;width:min(860px,100%);background:linear-gradient(180deg,var(--panel,#140C2E),var(--panel-2,#1A1038));border:1px solid var(--line-2,rgba(237,232,255,.18));border-radius:var(--r-xl,24px);box-shadow:0 50px 140px -20px rgba(0,0,0,.85),0 0 90px -30px rgba(109,47,209,.6)}
.sp-modal-x{position:absolute;top:-14px;right:-14px;z-index:3;width:44px;height:44px;border:0;cursor:pointer;background:var(--coral,#F0793E);color:#fff;font-size:1.5rem;line-height:1;border-radius:50%;box-shadow:0 6px 24px rgba(240,121,62,.55)}
.sp-modal-x:hover{background:var(--coral-2,#F79A5C)}
.sp-modal-slot{overflow:hidden;border-radius:var(--r-xl,24px)}
.sp-bio-grid{display:grid;grid-template-columns:300px 1fr}
.sp-bio-photo{position:relative;background:var(--bg,#0A0618);overflow:hidden;border-right:1px solid var(--line,rgba(237,232,255,.1))}
.sp-bio-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.sp-bio-body{padding:36px 38px 40px;color:var(--tx-dim,#A79BD0);font-size:.95rem;line-height:1.75;max-height:450px;overflow-y:auto; min-height: 340px;}
.sp-bio-name{font-family:'Space Grotesk',sans-serif;background:var(--grad-word,linear-gradient(100deg,#F79A5C,#F0793E 35%,#E45FA3 70%,#8B5CF6 105%));-webkit-background-clip:text;background-clip:text;color:transparent;text-transform:uppercase;letter-spacing:.02em;font-size:1.4rem;font-weight:700;line-height:1.18;margin:0}
.sp-bio-role{color:var(--peach,#FBBE8C);font-weight:600;margin:.45rem 0 0;font-size:.9rem;letter-spacing:.01em}
.sp-bio-copy{margin-top:1.2rem}
.sp-bio-copy p{margin:0 0 .9rem}
.sp-bio-copy p:last-child{margin-bottom:0}
.sp-bio-copy a{color:var(--coral-2,#F79A5C);font-weight:600}
.sp-bio-copy a:hover{color:#fbbe8c;}
.sp-bio-linkedin{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.3rem;padding:.5rem .95rem;border:1px solid var(--line-2,rgba(237,232,255,.18));border-radius:999px;color:var(--tx,#EDE8FF);font-weight:600;font-size:.85rem;transition:border-color .3s,color .3s}
.sp-bio-linkedin svg{flex:none;color:var(--spark-t,#38C9D8);transition:color .3s}
.sp-bio-linkedin:hover{border-color:var(--coral,#F0793E);color:var(--coral-2,#F79A5C)}
.sp-bio-linkedin:hover svg{color:var(--coral,#F0793E)}
@media(max-width:640px){
  .sp-modal{padding:14px}
  .sp-modal-slot{max-height:85vh;overflow:auto}
  .sp-bio-grid{grid-template-columns:1fr;max-height:none}
  .sp-bio-photo{height:260px;max-height:none}
  .sp-bio-body{padding:24px 22px 28px;max-height:none;overflow:visible}
  .sp-modal-x{top:6px;right:6px}
}

/* ===== "What Is Vistara?" page (page-what-is-vistara.php) ===== */
.wi-hero{padding-top:calc(var(--nav-h) + 78px)}
.wi-prose{color:var(--tx-dim);line-height:1.8}
.wi-prose p{margin:0 0 1rem}
.wi-prose p:last-child{margin-bottom:0}
/* lists (check / cross) */
.wi-list{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:.9rem;max-width:860px}
.wi-list li{position:relative;padding:.1rem 0 0 2.2rem;color:var(--tx);line-height:1.6}
.wi-list li::before{position:absolute;left:0;top:.05rem;width:1.45rem;height:1.45rem;display:grid;place-items:center;border-radius:50%;font-size:.8rem;font-weight:700}
.wi-check li::before{content:"\2713";background:var(--grad-cta,linear-gradient(92deg,#F0793E,#F79A5C 55%,#FBBE8C));color:#1a0e05}
.wi-cross li::before{content:"\2715";background:rgba(217,70,168,.16);border:1px solid rgba(217,70,168,.5);color:var(--magenta,#D946A8)}
/* why boxes */
.wi-boxes{margin-top:1.8rem;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.wi-box{background:linear-gradient(180deg,var(--panel,#140C2E),var(--panel-2,#1A1038));border:1px solid var(--line-2,rgba(237,232,255,.18));border-left:3px solid var(--coral,#F0793E);border-radius:var(--r-md,12px);padding:1.2rem 1.3rem;color:var(--tx,#EDE8FF);font-style:italic;line-height:1.55}
/* comparison */
.wi-compare{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.wi-col{background:linear-gradient(180deg,var(--panel,#140C2E),var(--panel-2,#1A1038));border:1px solid var(--line-2,rgba(237,232,255,.18));border-radius:var(--r-lg,18px);padding:1.8rem 1.7rem}
.wi-col-head{display:flex;align-items:center;gap:.6rem;font-family:'Space Grotesk',sans-serif;font-size:1.15rem;color:var(--tx,#EDE8FF);margin:0 0 .4rem}
.wi-badge{width:1.7rem;height:1.7rem;flex:none;display:grid;place-items:center;border-radius:50%;font-size:.85rem;font-weight:700}
.wi-badge-yes{background:var(--grad-cta,linear-gradient(92deg,#F0793E,#F79A5C 55%,#FBBE8C));color:#1a0e05}
.wi-badge-no{background:rgba(217,70,168,.16);border:1px solid rgba(217,70,168,.5);color:var(--magenta,#D946A8)}
.wi-col-lede{color:var(--tx-dim);margin:.2rem 0 .8rem;line-height:1.6}
.wi-col-sub{color:var(--peach,#FBBE8C);font-weight:600;margin:.2rem 0 0;font-size:.9rem}
.wi-col .wi-list{margin-top:1rem}
.wi-col-closing{margin-top:1.2rem;color:var(--tx-dim);font-size:.92rem}
.wi-col-closing p{margin:0 0 .7rem}
.wi-col-closing p:last-child{margin-bottom:0}
/* what makes different — cards */
.wi-cards{margin-top:2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.wi-card{background:linear-gradient(180deg,var(--panel,#140C2E),var(--panel-2,#1A1038));border:1px solid var(--line-2,rgba(237,232,255,.18));border-radius:var(--r-lg,18px);padding:1.5rem 1.4rem 1.6rem}
.wi-card-n{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--coral,#F0793E);letter-spacing:.08em}
.wi-card-title{font-family:'Space Grotesk',sans-serif;color:var(--tx,#EDE8FF);font-size:1rem;line-height:1.35;margin:.5rem 0}
.wi-card-text{color:var(--tx-dim);font-size:.9rem;line-height:1.6;margin:0}
/* spectators band */
.wi-band{text-align:center;background:radial-gradient(120% 140% at 50% 0%,rgba(124,58,237,.22),transparent 60%),linear-gradient(180deg,var(--panel,#140C2E),var(--panel-2,#1A1038));border:1px solid var(--line-2,rgba(237,232,255,.18));border-radius:var(--r-xl,24px);padding:3rem 1.5rem}
.wi-band-title{font-family:'Space Grotesk',sans-serif;font-size:clamp(1.5rem,3vw,2.1rem);color:var(--tx,#EDE8FF);margin:0 auto;max-width:20ch}
.wi-band-text{color:var(--tx-dim);max-width:60ch;margin:1rem auto 0;line-height:1.7}
.wi-band .btn{margin-top:1.8rem}
/* event details */
.wi-details{margin-top:2rem;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.wi-detail{background:linear-gradient(180deg,var(--panel,#140C2E),var(--panel-2,#1A1038));border:1px solid var(--line-2,rgba(237,232,255,.18));border-radius:var(--r-lg,18px);padding:1.5rem 1rem;text-align:center}
.wi-detail-label{display:block;font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-faint,#6F639B)}
.wi-detail-value{display:block;margin-top:.5rem;font-family:'Space Grotesk',sans-serif;font-weight:600;color:var(--tx,#EDE8FF);font-size:1.05rem}
/* faq accordion */
.wi-faq{max-width:820px;margin:1.8rem auto 0;display:grid;gap:12px}
.wi-faq-item{background:linear-gradient(180deg,var(--panel,#140C2E),var(--panel-2,#1A1038));border:1px solid var(--line-2,rgba(237,232,255,.18));border-radius:var(--r-md,12px);overflow:hidden}
.wi-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;background:none;border:0;cursor:pointer;padding:1.15rem 1.3rem;color:var(--tx,#EDE8FF);font-family:'Space Grotesk',sans-serif;font-size:1rem;font-weight:600}
.wi-faq-ic{position:relative;flex:none;width:16px;height:16px}
.wi-faq-ic::before,.wi-faq-ic::after{content:"";position:absolute;background:var(--coral,#F0793E);transition:transform .3s}
.wi-faq-ic::before{top:7px;left:0;width:16px;height:2px}
.wi-faq-ic::after{left:7px;top:0;width:2px;height:16px}
.wi-faq-item.open .wi-faq-ic::after{transform:scaleY(0)}
.wi-faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.wi-faq-a-in{padding:0 1.3rem 1.2rem;color:var(--tx-dim);line-height:1.7}
.wi-faq-a-in p{margin:0}
@media(max-width:820px){
  .wi-boxes,.wi-compare,.wi-details{grid-template-columns:1fr}
  .wi-cards{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){ .wi-cards{grid-template-columns:1fr} }

/* ===== Generic content pages (page.php / post_content in .wi-doc) ===== */
.wi-doc{max-width:880px}
.wi-doc>h2{font-family:'Space Grotesk',sans-serif;color:var(--tx,#EDE8FF);font-size:clamp(1.4rem,2.6vw,1.95rem);margin:2.6rem 0 .9rem;line-height:1.2}
.wi-doc>h2:first-child{margin-top:0}
.wi-doc h3{font-family:'Space Grotesk',sans-serif;color:var(--tx,#EDE8FF);font-size:1.15rem;margin:1.8rem 0 .6rem}
.wi-doc p{margin:0 0 1rem}
.wi-doc a{color:var(--coral-2,#F79A5C);font-weight:600}
.wi-doc strong{color:var(--tx,#EDE8FF)}
.wi-doc ul:not(.wi-list),.wi-doc ol{margin:1rem 0 1.4rem;padding-left:1.25rem}
.wi-doc ul:not(.wi-list) li,.wi-doc ol li{margin:.4rem 0}
.wi-doc .wi-lead{color:var(--peach,#FBBE8C);font-weight:600;font-size:1.05rem}
.wi-doc blockquote{margin:1.4rem 0;padding:.2rem 0 .2rem 1.1rem;border-left:2px solid var(--coral,#F0793E);color:var(--tx,#EDE8FF);font-style:italic}
.wi-doc table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem;display:block;overflow-x:auto}
.wi-doc th,.wi-doc td{border:1px solid var(--line-2,rgba(237,232,255,.18));padding:.7rem .9rem;text-align:left;vertical-align:top;color:var(--tx-dim,#A79BD0)}
.wi-doc th{background:var(--panel-2,#1A1038);color:var(--tx,#EDE8FF);font-family:'Space Grotesk',sans-serif;white-space:nowrap}
.wi-doc .wi-list{max-width:none}

/* who-vistara-is-for — alternating image / text split bands (left & right contrast) */
.wi-doc .wi-split{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:start;margin:2.8rem 0}
.wi-split-rev .wi-split-media{order:2}
.wi-split-media img{width:100%;height:auto;display:block;border-radius:var(--r-lg,18px);border:1px solid var(--line-2,rgba(237,232,255,.18));box-shadow:0 30px 70px -40px rgba(109,47,209,.55);position:sticky;top:100px}
.wi-split-body>*:first-child{margin-top:0}
.wi-doc .wi-split-body h2{font-family:'Space Grotesk',sans-serif;color:var(--tx,#EDE8FF);font-size:clamp(1.4rem,2.6vw,1.95rem);margin:2.6rem 0 .9rem;line-height:1.2}
.wi-doc .wi-split-body>h2:first-child{margin-top:0}
@media(max-width:820px){
  .wi-doc .wi-split{grid-template-columns:1fr;gap:1.3rem;margin:2rem 0}
  .wi-split-rev .wi-split-media{order:0}
  .wi-split-media img{position:static;box-shadow:0 20px 50px -30px rgba(109,47,209,.5)}
}

/* boxed sections — panel cards (What Kind of Agencies…, Who Should Be in the Room?) */
.wi-doc .wi-box{background:linear-gradient(170deg,var(--panel-2,#1A1038),var(--panel,#140C2E));border:1px solid var(--line-2,rgba(237,232,255,.18));border-radius:var(--r-lg,18px);padding:2.3rem 2.3rem 2rem;margin:2.8rem 0;box-shadow:0 30px 70px -45px rgba(109,47,209,.5)}
.wi-doc .wi-box>h2{font-family:'Space Grotesk',sans-serif;color:var(--tx,#EDE8FF);font-size:clamp(1.4rem,2.6vw,1.95rem);margin:0 0 .9rem;line-height:1.2}
.wi-box>*:last-child{margin-bottom:0}
@media(max-width:640px){.wi-doc .wi-box{padding:1.7rem 1.4rem}}
/* agenda day block */
.wi-day{background:linear-gradient(180deg,var(--panel,#140C2E),var(--panel-2,#1A1038));border:1px solid var(--line-2,rgba(237,232,255,.18));border-radius:var(--r-lg,18px);padding:1.5rem 1.6rem;margin:1.2rem 0}
.wi-day>h3{margin-top:0;color:var(--coral-2,#F79A5C)}
.wi-day .wi-list{margin-top:1rem}

/* Day-by-Day — centered title, full-width banner, 3 day cards in one row */
.wi-doc h2.wi-center{text-align:center}
.wi-banner{margin:1.5rem 0 0}
.wi-banner img{width:100%;height:auto;max-height:340px;object-fit:cover;display:block;border-radius:var(--r-lg,18px);border:1px solid var(--line-2,rgba(237,232,255,.18));box-shadow:0 30px 70px -45px rgba(109,47,209,.5)}
.wi-days-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:1.6rem;align-items:start}
.wi-days-grid .wi-day{margin:0;height:100%}
@media(max-width:820px){.wi-days-grid{grid-template-columns:1fr}}

/* point boxes (e.g. Why Vistara Exists) — one point per card */
.wi-doc .wi-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:1.6rem 0}
.wi-card{position:relative;background:linear-gradient(170deg,var(--panel-2,#1A1038),var(--panel,#140C2E));border:1px solid var(--line-2,rgba(237,232,255,.18));border-radius:var(--r-md,12px);padding:2.9rem 1.2rem 1.2rem;color:var(--tx,#EDE8FF);line-height:1.5;font-size:.95rem}
.wi-card::before{content:"\2713";position:absolute;top:1.15rem;left:1.2rem;width:1.5rem;height:1.5rem;display:grid;place-items:center;border-radius:50%;background:var(--grad-cta,linear-gradient(92deg,#F0793E,#F79A5C 55%,#FBBE8C));color:#1a0e05;font-size:.85rem;font-weight:700}
/* native <details> accordion for content-page FAQs */
.wi-acc{display:block;margin:1.4rem 0}
details.wi-acc-item{background:linear-gradient(180deg,var(--panel,#140C2E),var(--panel-2,#1A1038));border:1px solid var(--line-2,rgba(237,232,255,.18));border-radius:var(--r-md,12px);overflow:hidden}
details.wi-acc-item+details.wi-acc-item{margin-top:12px}
summary.wi-acc-q{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.3rem;color:var(--tx,#EDE8FF);font-family:'Space Grotesk',sans-serif;font-weight:600}
summary.wi-acc-q::-webkit-details-marker{display:none}
summary.wi-acc-q::after{content:"+";color:var(--coral,#F0793E);font-size:1.35rem;line-height:1;flex:none;transition:transform .3s}
details.wi-acc-item[open] summary.wi-acc-q::after{transform:rotate(45deg)}
.wi-acc-a{padding:0 1.3rem 1.2rem;color:var(--tx-dim,#A79BD0);line-height:1.7}
.wi-acc-a p{margin:0 0 .6rem}
.wi-acc-a p:last-child{margin-bottom:0}

/* --------------------------------------------------------------------------
   7) Hero recap video — inline (in-page) playback.
   source.js adds .is-playing to #recap and appends an <iframe>. The poster
   <img> stays (keeps the 16/10.4 aspect-ratio height); the iframe overlays it
   and the interactive overlays are hidden so YouTube's own controls are usable.
   -------------------------------------------------------------------------- */
.portal.is-playing{cursor:default}
.portal.is-playing .play,
.portal.is-playing .veil,
.portal.is-playing .scan,
.portal.is-playing .portal-tag{display:none}
.portal iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:var(--r-xl);z-index:3}

/* --------------------------------------------------------------------------
   8) Ticker marquee — Safari / iOS fix.
   Safari mis-sizes an inline-flex set to width:max-content and lets its flex
   children shrink (default flex-shrink:1), so the JS-duplicated strip collapsed
   to the container width and translateX(-50%) had almost nothing to travel —
   the ticker looked frozen. Forcing the strip's children not to shrink restores
   the true content width so the marquee animates on Safari/iPhone.
   -------------------------------------------------------------------------- */
.ticker .tk { width: max-content; will-change: transform; }
.ticker .tk span { flex: 0 0 auto; }
