/* ---------------------------------------------------------------
   wp-elementor: loads after site.css.
   Details where Elementor's markup differs from the original HTML.
   --------------------------------------------------------------- */

/* section borders, as "section + section" did */
.sk-sec.dark + .sk-sec,
.sk-sec + .sk-sec.dark,
.sk-sec.hero + .sk-sec { border-top: 0; }

/* paragraph spacing the original <p> elements had */
.sk-mb > :last-child,
.sk-mb > .elementor-widget-container > :last-child { margin-bottom: 1.1em; }
.sk-mbb { margin-bottom: 1.1em; }

/* Elementor caps every widget at max-width:100%; restore the original measures */
.elementor.elementor .e-con > .elementor-widget.lede { max-width: 38rem; }
.elementor.elementor .e-con > .elementor-widget.prose { max-width: var(--measure); }
.elementor.elementor .e-con > .elementor-widget.case-sub { max-width: 32rem; }
.elementor.elementor .e-con > .elementor-widget.note { max-width: 44rem; }
.elementor.elementor .e-con > .elementor-widget.pull { max-width: 24ch; }

/* hero dateline: dot + text in one line */
.dateline > .elementor-heading-title,
.dateline > .elementor-widget-container > .elementor-heading-title { display: flex; align-items: center; gap: .7rem; }

/* hero stats */
.hero-stat .sk-b {
  font-family: var(--font-display);
  font-variation-settings: "opsz" 72;
  font-weight: 500;
  font-size: 2.4rem;
  color: var(--glow);
  line-height: 1;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.hero-stat .sk-span { font-family: var(--font-mono); font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase; color: var(--on-dark-2); }

/* proof grid: only the last paragraph is the muted one */
.proof-item > .elementor-element:not(:last-child) p:last-child { color: inherit; font-size: inherit; max-width: none; }

/* text links: Elementor strips underlines from every link */
.sk-sec a:not([class]) { text-decoration: underline; }
.sk-sec .roster td a { text-decoration: none; }

/* ---------- buttons: Elementor Button widget styled as .btn / .link ---------- */
.sk-button { display: block; }
.sk-button .elementor-button-wrapper { display: block; text-align: inherit; }
.sk-button .elementor-button {
  all: unset;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.sk-button .elementor-button-content-wrapper { display: inline-flex; align-items: center; }
.sk-button .elementor-button-text { display: inline; }

.sk-button.btn .elementor-button {
  font-family: var(--font-mono);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1.6;
  color: var(--dark);
  background: var(--glow);
  padding: 1rem 1.5rem;
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  position: relative;
  overflow: hidden;
  transition: transform .3s var(--ease), box-shadow .3s;
}
.sk-button.btn .elementor-button::after { content: "→"; transition: transform .3s var(--ease); }
.sk-button.btn .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 12px 30px -12px var(--glow); }
.sk-button.btn .elementor-button:hover::after { transform: translateX(4px); }
.sk-button.btn .elementor-button:focus-visible,
.sk-button.link .elementor-button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

.sk-button.link .elementor-button {
  font-family: var(--font-mono);
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.6;
  text-decoration: none;
  color: var(--accent);
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding-bottom: 3px;
  background: linear-gradient(currentColor, currentColor) no-repeat 0 100% / 100% 1px;
  transition: gap .3s var(--ease), color .2s;
}
.sk-button.link .elementor-button::after { content: "→"; transition: transform .3s var(--ease); }
.sk-button.link .elementor-button:hover { gap: .9rem; }
.sk-button.link .elementor-button:hover::after { transform: translateX(2px); }
/* the .btn / .link class sits on the wrapper now; keep the wrapper itself plain */
.sk-button.btn, .sk-button.link {
  all: unset;
  display: block;
  position: relative;
}
.sk-button.btn::after, .sk-button.link::after { content: none; }
.hero-foot > .sk-button, .cta-actions > .sk-button { display: inline-block; }

/* inline styles from the original markup */
.sk-st-1.sk-st-1 { margin-top: clamp(3rem,7vw,5rem); }
.sk-st-2.sk-st-2 { margin-bottom: 1rem; }
.sk-st-3.sk-st-3 { margin-top: 0.8rem; }

/* Elementor editor: show everything (no scroll reveal while editing) */
.elementor-editor-active .reveal,
.elementor-editor-preview .reveal { opacity: 1 !important; transform: none !important; }

/* sticky header under the WordPress admin bar */
.admin-bar .topbar, .admin-bar .progress { top: 32px; }
@media (max-width: 782px) { .admin-bar .topbar, .admin-bar .progress { top: 46px; } }
@media (max-width: 600px) { .admin-bar .topbar { top: 0; } }

/* WordPress core bits used by the blog fallback */
.screen-reader-text { position: absolute !important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }
.nav-links { display: flex; gap: 1rem; }
.prose img { max-width: 100%; height: auto; }

/* Elementor zeroes widget bottom margins; restore the original ones (generated from site.css) */
.label.elementor-widget.elementor-widget.elementor-widget { margin-bottom: 0; }
.wrap.elementor-widget.elementor-widget.elementor-widget { margin-bottom: 0; }
.dateline.elementor-widget.elementor-widget.elementor-widget { margin-bottom: clamp(1.75rem, 4vw, 3rem); }
.hero-portrait.elementor-widget.elementor-widget.elementor-widget { margin-bottom: 0; }
.footer-big.elementor-widget.elementor-widget.elementor-widget { margin-bottom: 2.5rem; }
@media (max-width: 54rem) {
  .hero-portrait.elementor-widget.elementor-widget.elementor-widget { margin-bottom: 0; }
}
