/* Load LAST, after v18.css. Namespace deliberately avoids v18 hero animation classes. */
.gehm { display:none; }
@media (max-width:700px) {
  #home[data-ge-mobile-host] { display:block!important; padding:0!important; min-height:0!important; height:auto!important; background:#000!important; }
  #home[data-ge-mobile-host]::before, #home[data-ge-mobile-host]::after { display:none!important; }
  #home[data-ge-mobile-host] > :not([data-ge-mobile-hero]) { display:none!important; }
  /* Keep v18's Menu and handlers; suppress only the duplicate header brand. */
  html.ge-mobile-hero-enabled .site-header > .brand { visibility:hidden; }
  #home .gehm { --gehm-green:#00a675; display:flex; flex-direction:column; align-items:center; min-block-size:640px; min-block-size:max(640px,100svh); box-sizing:border-box; width:100%; padding:104px max(24px,env(safe-area-inset-right)) max(61px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left)); background:#000; color:#eeefeb; text-align:center; font-family:Inter,Arial,sans-serif; }
  #home .gehm-identity { width:100%; }
  #home .gehm-logo { position:relative; width:98px; height:98px; margin:0 auto 20px; }
  #home .gehm-logo img { display:block; width:98px; height:98px; max-width:none; object-fit:contain; border-radius:50%; }
  #home .gehm-title { display:block; margin:0; padding:0; color:#eeefeb; font:italic 600 48px/1.1 'Cormorant Garamond',Georgia,serif; letter-spacing:-1.8px; text-transform:none; white-space:nowrap; }
  #home .gehm-title span, #home .gehm-tagline span { color:var(--gehm-green); }
  #home .gehm-tagline { margin:28px 0 0; min-height:58px; padding:0; color:#c2c6c2; font:italic 400 23px/1.25 'Source Serif 4',Georgia,serif; font-optical-sizing:auto; letter-spacing:-.15px; white-space:nowrap; }
  #home .gehm-topics { margin:37px auto 0; padding:0; max-width:210px; color:#aaaeaa; font:400 10px/2 Inter,Arial,sans-serif; letter-spacing:1.5px; }
  #home .gehm-topics span { color:#757b77; margin:0 7px; }
  #home .gehm-actions { width:100%; margin-top:auto; padding-top:56px; }
  #home .gehm-cta { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; width:210px; max-width:100%; min-height:44px; padding:10px 18px; border:0; border-radius:28px; background:var(--gehm-green); color:#00190f; font:500 14px/1.4 Inter,Arial,sans-serif; letter-spacing:0; text-decoration:none; transition:background .25s,transform .2s; }
  #home .gehm-cta:hover { background:#00b17d; }
  #home .gehm-cta:active { transform:scale(.98); }
  #home .gehm-cta:focus-visible { outline:2px solid #eeefeb; outline-offset:5px; }
  #home .gehm-footnote { margin:23px 0 0; padding:0; color:#939a94; font:400 11px/1.5 Inter,Arial,sans-serif; letter-spacing:0; }
  #home .gehm-sweep { position:absolute; inset:0; opacity:0; pointer-events:none; }
}
@media (max-width:700px) and (prefers-reduced-motion:no-preference) {
  #home .gehm [data-ge-enter] { animation:gehm-emerge 1.5625s cubic-bezier(.2,.65,.25,1) both; }
  #home .gehm [data-ge-enter="wordmark"] { animation-duration:1.375s; animation-delay:.225s; }
  #home .gehm [data-ge-enter="tagline"] { animation-duration:1.375s; animation-delay:.425s; }
  #home .gehm [data-ge-enter="topics"] { animation-duration:1.25s; animation-delay:.625s; }
  @supports ((mask-image:linear-gradient(black,transparent)) or (-webkit-mask-image:linear-gradient(black,transparent))) {
    #home .gehm-sweep { filter:brightness(1.85) saturate(.85); -webkit-mask-image:linear-gradient(108deg,transparent 33%,#000 47%,#000 53%,transparent 67%); mask-image:linear-gradient(108deg,transparent 33%,#000 47%,#000 53%,transparent 67%); -webkit-mask-size:300% 100%; mask-size:300% 100%; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; animation:gehm-light-pass 14s cubic-bezier(.4,0,.2,1) 2.2s infinite both; }
  }
}
@keyframes gehm-emerge { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@keyframes gehm-light-pass {
  0% { opacity:0; -webkit-mask-position:100% 0; mask-position:100% 0; }
  3%,17% { opacity:.62; }
  20%,100% { opacity:0; -webkit-mask-position:0% 0; mask-position:0% 0; }
}
/* No invisible entrance state with JS disabled, pause enabled, or motion reduced. */
html.motion-paused #home .gehm [data-ge-enter] { animation:none!important; }
html.motion-paused #home .gehm-sweep,
#home .gehm[data-ge-motion="inactive"] .gehm-sweep { animation-play-state:paused!important; }
@media (prefers-reduced-motion:reduce) {
  #home .gehm [data-ge-enter] { animation:none!important; }
  #home .gehm-sweep { display:none!important; }
  #home .gehm-cta { transition:none; }
}
/* v20.1: M2 menu control + full-black open menu (mobile only). */
@media (max-width:700px) {
  .site-header .menu-toggle { gap:9px; min-height:44px; min-width:44px; padding:0 10px; margin-right:-10px; background:transparent; border:0; color:#eeefeb; }
  .site-header .menu-toggle > span { display:none; }
  .site-header .menu-toggle .ge-mdot { display:block; width:5px; height:5px; border-radius:50%; background:#00a675; }
  .site-header .menu-toggle .ge-ml { font:500 11px/1 Inter,Arial,sans-serif; font-style:normal; letter-spacing:2.2px; margin-right:-2.2px; text-transform:uppercase; }
  .site-header .menu-toggle .ge-ml-close, .site-header .menu-toggle[aria-expanded="true"] .ge-ml-menu { display:none; }
  .site-header .menu-toggle[aria-expanded="true"] .ge-ml-close { display:inline; }
  .site-header .menu-toggle:focus-visible { outline:1px solid #eeefeb; outline-offset:2px; border-radius:22px; }
  .site-header nav { top:0; left:calc(-1*var(--gutter)); right:calc(-1*var(--gutter)); height:100vh; height:100svh; background:#000; box-shadow:none; border:0; padding:112px 32px 48px; gap:0; z-index:-1; }
  .site-header nav a { font:italic 400 30px/1.2 'Source Serif 4',Georgia,serif; letter-spacing:-.3px; color:#eeefeb; min-height:64px; border-bottom:1px solid rgb(238 239 235/.1); }
  .site-header nav a:first-child { border-top:1px solid rgb(238 239 235/.1); }
  .site-header nav a.outline { margin-top:32px; border:0; border-radius:28px; background:#00a675; color:#00190f; font:500 14px/1.4 Inter,Arial,sans-serif; letter-spacing:0; min-height:48px; justify-content:center; }
  .site-header nav a.outline:hover { background:#00b17d; color:#00190f; }
}
/* v20.1: short screens (e.g. 320x568) keep the footnote above the fold. */
@media (max-width:700px) and (max-height:600px) {
  #home .gehm { min-block-size:560px; min-block-size:max(560px,100svh); padding-top:84px; padding-bottom:max(28px,env(safe-area-inset-bottom)); }
  #home .gehm-actions { padding-top:32px; }
}
/* v20.2: centered + ~20% larger mobile hero (Khalid pick B) */
@media (max-width:700px) {
  #home .gehm { min-block-size:100vh; min-block-size:100svh; padding:76px max(24px,env(safe-area-inset-right)) max(40px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left)); justify-content:center; }
  #home .gehm-identity { margin-block:auto; padding-bottom:2vh; display:flex; flex-direction:column; align-items:center; }
  #home .gehm-logo, #home .gehm-logo img { width:clamp(76px,min(30.3vw,14vh),118px); height:clamp(76px,min(30.3vw,14vh),118px); }
  #home .gehm-logo { margin:0 auto clamp(14px,2.6vh,24px); }
  #home .gehm-title { font-size:clamp(40px,min(14.9vw,6.9vh),58px); letter-spacing:-.035em; padding-right:.04em; }
  #home .gehm-tagline { font-size:clamp(20px,min(7.2vw,3.35vh),28px); margin-top:clamp(18px,3.4vh,32px); min-height:0; }
  #home .gehm-topics { font-size:11.5px; letter-spacing:.17em; margin:clamp(22px,4.2vh,40px) auto 0; max-width:none; padding-left:.17em; }
  #home .gehm-actions { margin-top:0; padding-top:clamp(20px,3vh,32px); display:flex; flex-direction:column; align-items:center; }
  #home .gehm-cta { width:240px; min-height:52px; font-size:15px; border-radius:999px; }
  #home .gehm-footnote { font-size:12px; margin-top:clamp(14px,2.4vh,22px); }
}
/* Sweep: one modest step more prominent; same 14s cycle and 2.2s delay. */
@media (max-width:700px) and (prefers-reduced-motion:no-preference) {
  @supports ((mask-image:linear-gradient(black,transparent)) or (-webkit-mask-image:linear-gradient(black,transparent))) {
    #home .gehm-sweep { filter:brightness(2.1) saturate(.85); -webkit-mask-image:linear-gradient(108deg,transparent 30%,#000 45%,#000 55%,transparent 70%); mask-image:linear-gradient(108deg,transparent 30%,#000 45%,#000 55%,transparent 70%); animation-name:gehm-light-pass-v202; }
  }
}
@keyframes gehm-light-pass-v202 {
  0% { opacity:0; -webkit-mask-position:100% 0; mask-position:100% 0; }
  3%,17% { opacity:.78; }
  20%,100% { opacity:0; -webkit-mask-position:0% 0; mask-position:0% 0; }
}
/* v20.5 (mobile only): no top progress line, no footer rule over the closing artwork,
   hero CTA lands on the join block (emblem + heading) with clear space below the status bar. */
@media (max-width:700px) {
  .reading-progress { display:none; }
  .site-footer { border-top:0; }
  #join-start { scroll-margin-top:calc(env(safe-area-inset-top, 0px) + 12px); } /* + root scroll-padding-top 20px */
}
/* v20.5: the logo light pass continues across the wordmark (same band, peak and 14s cycle, +0.3s). */
#home .gehm-title-sweep { display:none; }
@media (max-width:700px) {
  #home .gehm-title { position:relative; }
  #home .gehm-title .gehm-title-sweep { display:block; position:absolute; inset:0; color:#fff; opacity:0; pointer-events:none; }
  #home .gehm-title .gehm-title-sweep span { color:#8ff0c8; }
}
@media (max-width:700px) and (prefers-reduced-motion:no-preference) {
  @supports ((mask-image:linear-gradient(black,transparent)) or (-webkit-mask-image:linear-gradient(black,transparent))) {
    #home .gehm-title .gehm-title-sweep { -webkit-mask-image:linear-gradient(108deg,transparent 30%,#000 45%,#000 55%,transparent 70%); mask-image:linear-gradient(108deg,transparent 30%,#000 45%,#000 55%,transparent 70%); -webkit-mask-size:300% 100%; mask-size:300% 100%; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; animation:gehm-light-pass-v202 14s cubic-bezier(.4,0,.2,1) 2.5s infinite both; }
  }
}
html.motion-paused #home .gehm-title-sweep,
#home .gehm[data-ge-motion="inactive"] .gehm-title-sweep { animation-play-state:paused!important; }
@media (prefers-reduced-motion:reduce) { #home .gehm-title .gehm-title-sweep { display:none!important; } }
/* v20.6 (mobile only): keep carousel cards on their own compositor layers so a drag never
   waits on layer promotion; keep horizontal swipes from chaining into page overscroll. */
@media (max-width:700px) {
  .ic-card { will-change:transform,opacity; }
  .ic-stage { overscroll-behavior-x:contain; }
}
/* v20.6: light pass starts right after the entrance (logo 0.9s, wordmark +0.3s). */
@media (max-width:700px) and (prefers-reduced-motion:no-preference) {
  @supports ((mask-image:linear-gradient(black,transparent)) or (-webkit-mask-image:linear-gradient(black,transparent))) {
    #home .gehm-sweep { animation-delay:.9s; }
    #home .gehm-title .gehm-title-sweep { animation-delay:1.2s; }
  }
}
/* v20.7 preview: one light travels down the hero, line by line (mobile only). */
.gehm-sheen { display:none; }
@media (max-width:700px) {
  #home .gehm-tagline, #home .gehm-topics, #home .gehm-footnote, #home .gehm-cta { position:relative; }
  #home .gehm-topics .gehm-sheen, #home .gehm-tagline .gehm-sheen, #home .gehm-footnote .gehm-sheen { padding:inherit; margin:0; }
  #home .gehm .gehm-sheen, #home .gehm .gehm-title .gehm-title-sweep { display:block; position:absolute; inset:0; pointer-events:none; opacity:0;
    color:transparent; -webkit-text-fill-color:transparent; background:linear-gradient(90deg,#b8f7dc,#ffffff 50%,#b8f7dc); -webkit-background-clip:text; background-clip:text; }
  #home .gehm .gehm-sheen span, #home .gehm .gehm-title .gehm-title-sweep span { color:transparent; -webkit-text-fill-color:transparent; }
  #home .gehm-cta .gehm-sheen { filter:opacity(.5); display:flex; align-items:center; justify-content:center; background:linear-gradient(90deg,#e9fff5,#ffffff 50%,#e9fff5); -webkit-background-clip:text; background-clip:text; }
}
@media (max-width:700px) and (prefers-reduced-motion:no-preference) {
  @supports ((mask-image:linear-gradient(black,transparent)) or (-webkit-mask-image:linear-gradient(black,transparent))) {
    #home .gehm .gehm-sheen, #home .gehm .gehm-title .gehm-title-sweep { -webkit-mask-image:linear-gradient(108deg,transparent 32%,#000 46%,#000 54%,transparent 68%); mask-image:linear-gradient(108deg,transparent 32%,#000 46%,#000 54%,transparent 68%); -webkit-mask-size:300% 100%; mask-size:300% 100%; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; animation:gehm-text-pass 14s cubic-bezier(.4,0,.2,1) infinite both; }
    #home .gehm-sweep { animation-delay:.9s; }
    #home .gehm .gehm-title .gehm-title-sweep { animation-delay:1.15s; }
    #home .gehm-tagline .gehm-sheen { animation-delay:1.4s; }
    #home .gehm-topics .gehm-sheen { animation-delay:1.65s; }
    #home .gehm-cta .gehm-sheen { animation-delay:1.9s; }
    #home .gehm-footnote .gehm-sheen { animation-delay:2.15s; }
  }
}
@keyframes gehm-text-pass {
  0% { opacity:0; -webkit-mask-position:100% 0; mask-position:100% 0; }
  3%,17% { opacity:.95; }
  20%,100% { opacity:0; -webkit-mask-position:0% 0; mask-position:0% 0; }
}
html.motion-paused #home .gehm-sheen, #home .gehm[data-ge-motion="inactive"] .gehm-sheen { animation-play-state:paused!important; }
@media (prefers-reduced-motion:reduce) { #home .gehm .gehm-sheen { display:none!important; } }
/* v20.7 (mobile only): drop the WTI "View illustrative session values" toggle, its note and its rules. */
@media (max-width:700px) { .chart[data-chart="wti"] ~ details { display:none; } }
@media (max-width:700px) { article:has(> .chart[data-chart="wti"]) + article { border-top:0; } }
/* v20.9 (mobile only): slower, more deliberate entrance; ~12% larger logo; stronger, longer light sweep. */
@media (max-width:700px) and (min-height:601px) {
  #home .gehm-logo, #home .gehm-logo img { width:clamp(84px,min(34vw,15.6vh),132px); height:clamp(84px,min(34vw,15.6vh),132px); }
}
@media (max-width:700px) and (prefers-reduced-motion:no-preference) {
  #home .gehm [data-ge-enter], #home .gehm .gehm-actions { animation:gehm-emerge-v209 1.8s cubic-bezier(.16,.84,.3,1) both; }
  #home .gehm [data-ge-enter="logo"] { animation-name:gehm-emerge-logo-v209; animation-duration:2.1s; animation-delay:.2s; }
  #home .gehm [data-ge-enter="wordmark"] { animation-duration:1.8s; animation-delay:.65s; }
  #home .gehm [data-ge-enter="tagline"] { animation-duration:1.8s; animation-delay:1.05s; }
  #home .gehm [data-ge-enter="topics"] { animation-duration:1.7s; animation-delay:1.45s; }
  #home .gehm .gehm-actions { animation-duration:1.7s; animation-delay:1.85s; }
  @supports ((mask-image:linear-gradient(black,transparent)) or (-webkit-mask-image:linear-gradient(black,transparent))) {
    #home .gehm-sweep { filter:brightness(2.45) saturate(.8); -webkit-mask-image:linear-gradient(108deg,transparent 27%,#000 44%,#000 56%,transparent 73%); mask-image:linear-gradient(108deg,transparent 27%,#000 44%,#000 56%,transparent 73%); animation:gehm-light-pass-v209 15s cubic-bezier(.45,.05,.25,1) 2.6s infinite both; }
    #home .gehm .gehm-sheen, #home .gehm .gehm-title .gehm-title-sweep { -webkit-mask-image:linear-gradient(108deg,transparent 28%,#000 45%,#000 55%,transparent 72%); mask-image:linear-gradient(108deg,transparent 28%,#000 45%,#000 55%,transparent 72%); animation:gehm-text-pass-v209 15s cubic-bezier(.45,.05,.25,1) infinite both; }
    #home .gehm .gehm-title .gehm-title-sweep { animation-delay:3.0s; }
    #home .gehm-tagline .gehm-sheen { animation-delay:3.4s; }
    #home .gehm-topics .gehm-sheen { animation-delay:3.8s; }
    #home .gehm-cta .gehm-sheen { animation-delay:4.2s; }
    #home .gehm-footnote .gehm-sheen { animation-delay:4.6s; }
  }
}
@keyframes gehm-emerge-v209 { from { opacity:0; transform:translateY(14px); filter:blur(4px); } 60% { filter:blur(0); } to { opacity:1; transform:translateY(0); filter:blur(0); } }
@keyframes gehm-emerge-logo-v209 { from { opacity:0; transform:translateY(10px) scale(.94); filter:blur(6px); } 55% { filter:blur(0); } to { opacity:1; transform:none; filter:blur(0); } }
@keyframes gehm-light-pass-v209 {
  0% { opacity:0; -webkit-mask-position:100% 0; mask-position:100% 0; }
  4%,21% { opacity:.92; }
  25%,100% { opacity:0; -webkit-mask-position:0% 0; mask-position:0% 0; }
}
@keyframes gehm-text-pass-v209 {
  0% { opacity:0; -webkit-mask-position:100% 0; mask-position:100% 0; }
  4%,21% { opacity:1; }
  25%,100% { opacity:0; -webkit-mask-position:0% 0; mask-position:0% 0; }
}
@media (prefers-reduced-motion:reduce) { #home .gehm .gehm-actions { animation:none!important; } }
html.motion-paused #home .gehm .gehm-actions { animation:none!important; }
/* v21 (mobile only): AI card headline figure (rows kept), Earnings card diverging bars. Desktop: new elements hidden. */
.v21-hero,.v21-bars{display:none}
@media (max-width:700px){
  .ic-card .v21-hero{display:flex;align-items:baseline;gap:10px;margin:8px 0 0}
  .v21-big{font:300 38px/1 var(--serif);letter-spacing:-.035em;color:var(--ic-ai);font-variant-numeric:lining-nums tabular-nums}
  .v21-cap{font:500 9.5px/1 ui-monospace,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:#7f8a84}
  .ic-card:has(.v21-hero) h3{font-size:20px;margin-top:12px}
  .ic-card:has(.v21-hero) .ic-src{margin-top:6px}
  .ic-card:has(.v21-hero) .ic-row{padding:5px 0;font-size:12.5px}
  .ic-card:has(.v21-bars) .ic-meta{display:none}
  .ic-card:has(.v21-bars) h3{font-size:20px}
  .ic-card .v21-bars{display:grid;gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid rgb(242 245 243/.14)}
  .v21-r{display:grid;grid-template-columns:104px 1fr 44px;align-items:center;gap:10px;font-size:12.5px;color:#c9d1cc}
  .v21-r small{display:block;white-space:nowrap;font:400 10px/1.2 ui-monospace,Menlo,monospace;color:#7f8a84;margin-top:3px}
  .v21-r b{font:500 12.5px/1 ui-monospace,Menlo,monospace;color:#2fd18a;text-align:right;font-variant-numeric:tabular-nums}
  .v21-ax{position:relative;height:14px}
  .v21-ax:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:.5px;background:rgb(242 245 243/.35)}
  .v21-ax:after{content:"";position:absolute;left:0;right:0;top:50%;height:.5px;background:rgb(242 245 243/.08)}
  .v21-ax i{position:absolute;left:50%;top:4px;height:6px;border-radius:1px;background:linear-gradient(90deg,rgb(47 209 138/.35),#2fd18a);transform-origin:left;transform:scaleX(0);transition:transform 1.1s cubic-bezier(.22,.8,.18,1) .2s}
  .ic-card.is-active .v21-ax i{transform:scaleX(1)}
  .ic-card.is-active .v21-r:nth-child(2) i{transition-delay:.32s}.ic-card.is-active .v21-r:nth-child(3) i{transition-delay:.44s}
}
@media (max-width:700px) and (prefers-reduced-motion:reduce){ .v21-ax i{transform:scaleX(1);transition:none} }
