/* Signature 20261024. Native Elementor content; presentation and optional motion only. */
body.am-signature-site {
  --am-paper:#f8f7f3;
  --am-ink:#20211e;
  --am-muted:#50514c;
  --am-soft:#eeede7;
  --am-line:#aaa9a1;
  background:var(--am-paper);
}
.am-page.am-signature {
  --am-gutter:clamp(1.25rem,4vw,4.5rem);
  background:var(--am-paper,#f8f7f3);
  font-family:Arial,Helvetica,sans-serif;
  font-size:1.125rem;
  line-height:1.65;
}
.am-signature.am-page .am-section {
  max-width:100rem;
  padding:clamp(4rem,7vw,7rem) var(--am-gutter);
  gap:1.5rem;
}
.am-signature :is(h1,h2,h3).elementor-heading-title {
  font-weight:400;
  hyphens:auto;
  letter-spacing:-.055em;
  text-wrap:balance;
  overflow-wrap:anywhere;
}
.am-signature h1.elementor-heading-title {
  font-size:clamp(3.1rem,5.7vw,6rem);
  line-height:1.02;
  max-width:17ch;
}
.am-signature h2.elementor-heading-title {
  font-size:clamp(2.5rem,4.2vw,4.25rem);
  line-height:1.08;
  max-width:23ch;
}
.am-signature h3.elementor-heading-title { font-size:1.75rem; line-height:1.22; letter-spacing:-.035em; }
/* Editorial accents are deliberate exceptions; other emphasized headings stay sans. */
.am-signature :is(h1,h2,h3) em { font-family:inherit; font-weight:inherit; font-style:normal; letter-spacing:inherit; }
.am-signature .am-signature-hero h1 em,
.am-signature .am-signature-method h2 em,
body.am-signature-site .am-footer h2 em {
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-style:italic;
  letter-spacing:-.06em;
}
.am-signature .am-lead { font-size:1.25rem; line-height:1.65; max-width:46ch; }
.am-signature .am-eyebrow, .am-signature .am-eyebrow p {
  font-size:.8125rem;
  font-weight:500;
  letter-spacing:.08em;
  line-height:1.6;
}
.am-signature.am-page .am-signature-hero {
  padding-top:clamp(3.5rem,6vw,6rem);
  padding-bottom:clamp(4.5rem,8vw,8rem);
}
.am-signature.am-page .am-signature-hero.am-hero-split {
  /* Content-sized flex lines also react to enlarged or manually edited text. */
  display:flex;
  flex-flow:row wrap;
  gap:clamp(2rem,5vw,5rem);
  align-items:start;
}
.am-signature .am-signature-hero > .am-copy { flex:1.08 1 max-content; width:auto; min-width:0; max-width:100%; gap:1.75rem; }
.am-signature .am-signature-hero > .am-editorial-image { flex:1 1 28rem; width:auto; min-width:0; max-width:100%; padding-top:2rem; }
/* Unlike anywhere, break-word preserves each word's intrinsic sizing contribution. */
.am-signature .am-signature-hero h1.elementor-heading-title { overflow-wrap:break-word; }
.am-signature.am-page .am-signature-hero .am-editorial-image img { aspect-ratio:4/5; }
.am-signature .am-actions { gap:1rem 1.75rem; margin-top:.5rem; }
.am-signature .am-button .elementor-button,
body.am-signature-site .am-footer .am-button .elementor-button {
  font-weight:500;
  min-height:3.25rem;
  border-radius:0;
  padding:.9rem 1.35rem;
  background:var(--am-ink);
  color:var(--am-paper);
  border-color:var(--am-ink);
  transition:background-color .18s ease,color .18s ease;
}
.am-signature .am-button-secondary .elementor-button { background:transparent; color:var(--am-ink); }
.am-signature .am-button .elementor-button:hover { background:#41423b; color:var(--am-paper); }
.am-signature .am-button-text .elementor-button,
body.am-signature-site .am-footer .am-button-text .elementor-button {
  background:transparent;
  color:var(--am-ink);
  padding:.6rem 0;
  border:0;
  text-decoration:underline;
  text-underline-offset:.35em;
  text-decoration-thickness:1px;
}
.am-signature .am-button-text .elementor-button:hover,
body.am-signature-site .am-footer .am-button-text .elementor-button:hover { text-decoration-thickness:2px; }
.am-signature .am-editorial-image figcaption { margin-top:.9rem; font-size:.8125rem; line-height:1.55; max-width:64ch; }
/* Editorial offer rows: label above the large title, explanation and explicit link. */
.am-signature.am-page .am-signature-offers { grid-template-columns:minmax(0,1fr); gap:0; margin-top:2rem; }
.am-signature .am-signature-offers > .am-offer {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(8rem,.5fr);
  gap:.75rem 2.5rem;
  align-items:start;
  padding:2.25rem 0;
  border-top:1px solid var(--am-ink);
}
.am-signature .am-signature-offers > .am-offer:last-child { border-bottom:1px solid var(--am-ink); }
.am-signature .am-signature-offers .am-offer > .am-eyebrow { grid-column:1; grid-row:1; }
.am-signature .am-signature-offers .am-offer > .elementor-widget-heading { grid-column:1; grid-row:2; }
.am-signature .am-signature-offers .am-offer > .elementor-widget-text-editor:not(.am-eyebrow) { grid-column:2; grid-row:1/span 2; }
.am-signature .am-signature-offers h3.elementor-heading-title { font-size:clamp(2rem,3vw,3rem); line-height:1.1; }
.am-signature .am-signature-offers .am-offer > .am-button { grid-column:3; grid-row:1/span 2; align-self:end; }
.am-signature .am-signature-offers .am-button .elementor-button { text-align:left; }
.am-signature .am-section:has(> .am-signature-offers) > .elementor-widget-text-editor:not(.am-eyebrow) { max-width:54ch; }
.am-signature .am-section:has(> .am-signature-offers) > .elementor-widget-heading { margin-bottom:.5rem; }
/* Image-led method sections retain the natural DOM reading order. */
.am-signature.am-page .am-signature-method { gap:3rem; }
.am-signature .am-signature-method.am-split:not(.am-image-story-wide) { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
.am-signature .am-signature-method > .am-editorial-image,
.am-signature .am-signature-wide { grid-column:1/-1; }
.am-signature.am-page .am-signature-method .am-editorial-image img,
.am-signature.am-page .am-signature-wide img { aspect-ratio:16/9; }
.am-signature.am-page .am-image-story-wide > .e-con { max-width:58rem; gap:1.35rem; }
.am-signature .am-image-story-wide > .e-con > .elementor-widget-text-editor:not(.am-eyebrow) { max-width:58ch; }
.am-signature .am-signature-method.am-image-story-wide > .e-con { margin-left:clamp(0rem,8vw,8rem); max-width:min(58rem,100% - clamp(0rem,8vw,8rem)); }
.am-signature .am-grid-two { column-gap:6rem; row-gap:3.25rem; }
.am-signature .am-topic { padding-top:1.75rem; gap:1rem; }
.am-signature.am-page .am-signature-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3rem; margin-top:2rem; align-items:start; }
.am-signature .am-signature-steps .am-step { border-top:1px solid var(--am-ink); padding-top:1.25rem; gap:1.1rem; }
.am-signature .am-signature-steps .am-step .am-eyebrow,
.am-signature .am-signature-steps .am-step .am-eyebrow p { font-size:2rem; font-family:inherit; font-style:normal; letter-spacing:-.05em; }
.am-signature.am-page .am-contact-cta {
  background:transparent;
  border-top:1px solid var(--am-ink);
  margin-bottom:0;
  gap:3rem;
}
.am-signature .am-contact-cta h2.elementor-heading-title { max-width:20ch; }
.am-signature .am-note { background:var(--am-soft); border-left:1px solid var(--am-ink); }
.am-signature .am-note h2.elementor-heading-title { font-size:1.75rem; }
.am-signature .am-question-list .elementor-icon-list-item { padding:1.5rem 0; }
/* The decorative connection uses existing section padding, never an extra grid row. */
.am-signature .am-section.am-signature-thread { position:relative; }
.am-signature .am-section.am-signature-thread::after {
  content:'';
  display:block;
  position:absolute;
  right:var(--am-gutter);
  bottom:1.25rem;
  width:12rem;
  max-width:calc(100% - 2 * var(--am-gutter));
  height:2.4rem;
  background:url('signature-thread.svg') center / contain no-repeat;
  pointer-events:none;
}
/* Process columns contain readable content only; no decoration crosses their text. */
.am-signature .am-signature-steps.am-signature-thread::after { content:none; display:none; }
/* Static by design: a section-level observer would fire before this bottom decoration is visible. */
/* Shared chrome only changes on pages carrying the signature migration marker. */
body.am-signature-site .am-header.e-con {
  max-width:100rem;
  padding:1.6rem clamp(1.25rem,4vw,4.5rem);
  border-bottom:1px solid var(--am-ink);
  background:var(--am-paper);
}
body.am-signature-site .am-header .am-brand .elementor-heading-title { font-size:1.75rem; font-weight:500; letter-spacing:-.055em; }
body.am-signature-site .am-header .am-nav-links a { font-size:.9375rem; font-weight:400; }
body.am-signature-site .am-header .am-nav-toggle button.elementor-button { background:transparent; }
body.am-signature-site .am-footer.e-con {
  max-width:100rem;
  padding:3rem clamp(1.25rem,4vw,4.5rem) 1.25rem;
  border-top:1px solid var(--am-ink);
  background:var(--am-paper);
}
body.am-signature-site .am-footer .am-footer-top { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:3rem; padding-bottom:2.5rem; align-items:start; }
body.am-signature-site .am-footer .am-footer-name .elementor-heading-title { font-size:clamp(2.8rem,5.5vw,6rem); line-height:1.05; letter-spacing:-.065em; font-weight:400; overflow-wrap:anywhere; }
body.am-signature-site .am-footer h2.elementor-heading-title { font-size:1.75rem; line-height:1.2; letter-spacing:-.035em; max-width:25ch; }
body.am-signature-site .am-footer .am-footer-top > .e-con { gap:.85rem; }
body.am-signature-site .am-footer .am-footer-top .elementor-widget-text-editor { font-size:.9375rem; }
body.am-signature-site .am-footer .am-footer-top .am-small { font-size:.8125rem; max-width:42ch; }
body.am-signature-site .am-footer .am-footer-bottom { padding-top:1rem; }
/* The comparison changes composition only; every native element and its order stay intact. */
body.am-signature-stage .am-signature .am-signature-hero.am-hero-split { gap:3.5rem; }
body.am-signature-stage .am-signature .am-signature-hero > .am-copy { flex-basis:100%; max-width:70rem; }
body.am-signature-stage .am-signature .am-signature-hero h1 { max-width:21ch; }
body.am-signature-stage .am-signature .am-signature-hero > .am-editorial-image { flex-basis:100%; padding-top:0; }
body.am-signature-stage .am-signature .am-signature-hero .am-editorial-image img { aspect-ratio:16/9; }
@media (max-width:70rem) {
  .am-signature .am-signature-offers > .am-offer { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem 2rem; }
  .am-signature .am-signature-offers .am-offer > .am-button { grid-column:2; grid-row:3; align-self:start; }
  .am-signature .am-grid-two { column-gap:3rem; }
  .am-signature.am-page .am-signature-steps { gap:1.75rem; }
  body.am-signature-site .am-header .am-nav-links a { font-size:1rem; }
}
@media (max-width:56rem) {
  .am-signature.am-page .am-signature-hero.am-hero-split { gap:2.75rem; }
  .am-signature .am-signature-hero > :is(.am-copy,.am-editorial-image) { flex-basis:100%; }
  .am-signature .am-signature-hero > .am-editorial-image { padding-top:0; }
  .am-signature.am-page .am-signature-hero .am-editorial-image img { aspect-ratio:4/3; }
  .am-signature .am-signature-hero h1 { max-width:20ch; }
  .am-signature .am-signature-method.am-split:not(.am-image-story-wide) { grid-template-columns:minmax(0,1fr); }
  .am-signature .am-signature-method.am-image-story-wide > .e-con { margin-left:0; max-width:100%; }
  body.am-signature-site .am-footer .am-footer-top { grid-template-columns:minmax(0,1fr); gap:2rem; }
}
@media (max-width:48rem) {
  .am-signature.am-page .am-section { padding-top:3.5rem; padding-bottom:3.5rem; }
  .am-signature.am-page .am-signature-hero { padding-top:2.75rem; }
  .am-signature h1.elementor-heading-title { font-size:clamp(2.65rem,8.4vw,4rem); line-height:1.06; }
  .am-signature h2.elementor-heading-title { font-size:clamp(2.1rem,6.8vw,3rem); line-height:1.12; }
  .am-signature h3.elementor-heading-title { font-size:1.5rem; }
  .am-signature .am-lead { font-size:1.125rem; }
  .am-signature .am-signature-offers > .am-offer { grid-template-columns:minmax(0,1fr); gap:.85rem; padding:1.75rem 0; }
  .am-signature .am-signature-offers h3.elementor-heading-title { font-size:2rem; }
  .am-signature .am-signature-offers .am-offer > :is(.elementor-widget-heading,.elementor-widget-text-editor,.am-button),
  .am-signature .am-signature-offers .am-offer > .elementor-widget-text-editor:not(.am-eyebrow) { grid-column:1; grid-row:auto; }
  .am-signature.am-page .am-signature-method { gap:2rem; }
  .am-signature.am-page .am-signature-method .am-editorial-image img,
  .am-signature.am-page .am-signature-wide img,
  body.am-signature-stage .am-signature .am-signature-hero .am-editorial-image img { aspect-ratio:4/3; }
  .am-signature.am-page .am-signature-steps { grid-template-columns:minmax(0,1fr); gap:2.25rem; }
  .am-signature .am-section.am-signature-thread::after { height:2rem; width:10rem; bottom:.75rem; }
  body.am-signature-site .am-header.e-con { padding-top:1rem; padding-bottom:1rem; }
  body.am-signature-site .am-footer.e-con { padding-top:2.5rem; }
}
/* All pending states are fully visible. Animation styles exist only during playback. */
body.am-signature-site :is(.am-page,.am-header,.am-footer) :is(a,button):focus-visible { transition:none !important; outline-color:var(--am-ink); box-shadow:0 0 0 7px var(--am-paper); }
.am-signature [data-am-motion-state='bypassed'] { opacity:1; }
@media (prefers-reduced-motion:reduce) {
  .am-signature *, .am-signature *::before, .am-signature *::after { animation:none !important; transition:none !important; }
  .am-signature :is(.am-reveal,.am-image-reveal) { opacity:1 !important; clip-path:none !important; }
  .am-signature .am-reveal > .elementor-widget-container,
  .am-signature .am-image-reveal img { opacity:1 !important; clip-path:none !important; transform:none !important; }
  .am-signature .am-photo-drift img { transform:none !important; }
}
