/* AJN role: a compact editorial slab within the personal Quanta Orbis identity. */
.home-page .ajn-home.section {
  padding: 28px 0 30px;
  background: #0b1825;
  border-top: 1px solid #baa6732b;
}
.ajn-home .ajn-home-panel {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  min-width: 0;
  min-height: 420px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid #baa57466;
  border-radius: 28px 8px 28px 8px;
  background: radial-gradient(ellipse at 78% 10%, #46635820, transparent 64%), linear-gradient(125deg, #193437, #0e1f2e 80%);
  box-shadow: inset 0 1px 0 #e2cda026, 0 13px 32px #020a1355;
}
.ajn-home .ajn-home-panel::after {
  content: '';
  position: absolute;
  z-index: 3;
  pointer-events: none;
  inset: 4px;
  border: 1px solid #c6af7e19;
  border-radius: 23px 5px 23px 5px;
}
.ajn-home .ajn-home-visual {
  position: relative;
  align-self: stretch;
  min-width: 0;
  min-height: 420px;
  max-height: 560px;
  margin: 0;
  overflow: hidden;
  background: #0d2230;
  border-right: 1px solid #baa5744d;
}
.ajn-home .ajn-home-visual::after {
  content: '';
  position: absolute;
  pointer-events: none;
  inset: 0;
  background: linear-gradient(0deg, #04111de8 0%, #08182424 36%, transparent 70%), linear-gradient(90deg, #10272912, #10282e22);
}
.ajn-home .ajn-home-visual > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 48% center;
  filter: saturate(.78) contrast(1.04);
}
.ajn-home .ajn-home-visual > figcaption {
  position: absolute;
  z-index: 2;
  left: 26px;
  right: 24px;
  bottom: 22px;
  color: #c4cfda;
  font: 12px/1.75 var(--sans, Arial, sans-serif);
}
.ajn-home .ajn-home-copy {
  min-width: 0;
  padding: 29px 34px 30px;
  align-self: center;
}
.ajn-home .ajn-home-copy > .chapter-label {
  color: #d3bd90;
  font: 11px/1.75 var(--sans, Arial, sans-serif);
  letter-spacing: .1em;
  margin: 0 0 14px;
}
.ajn-home .ajn-home-copy h2 {
  margin: 0 0 17px;
  color: #eee7da;
  font: 400 clamp(36px, 3.25vw, 44px)/1.07 var(--serif, Georgia, serif);
  letter-spacing: -.025em;
}
.ajn-home .ajn-home-copy h2 em { color: #d7c198; font-weight: 400; }
.ajn-home .ajn-home-copy > p {
  max-width: 620px;
  color: #bfccd7;
  font: 15px/1.78 var(--sans, Arial, sans-serif);
  margin: 0 0 12px;
}
.ajn-home .ajn-home-copy > .ajn-home-role { color: #e0d2b6; font-size: 15px; line-height: 1.65; margin-bottom: 11px; }
.ajn-home .ajn-home-copy > .ajn-home-company { color: #aebfce; font-size: 15px; line-height: 1.75; margin-bottom: 16px; }
.ajn-home .ajn-home-focus { display: flex; flex-wrap: wrap; gap: 7px 16px; margin: 0 0 22px; padding-top: 13px; border-top: 1px solid #bca87733; }
.ajn-home .ajn-home-focus > span { position: relative; color: #d2bea0; font: 12px/1.7 var(--sans, Arial, sans-serif); padding-left: 11px; }
.ajn-home .ajn-home-focus > span::before { content: ''; position: absolute; width: 3px; height: 3px; border-radius: 50%; left: 0; top: .7em; background: #c7af7f; }
.ajn-home .ajn-home-actions { display: flex; flex-wrap: wrap; gap: 10px 22px; align-items: center; }
.ajn-home .ajn-home-visit {
  --ajn-visit-ink: #182c31;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 17px;
  min-height: 54px;
  min-width: 0;
  padding: 10px 12px 10px 20px;
  border: 1px solid #d5bd8e;
  border-radius: 20px 7px 25px 8px;
  color: var(--ajn-visit-ink);
  background: linear-gradient(115deg, #dfceaa, #c3ab7c 58%, #d2bd95);
  box-shadow: inset 0 1px 0 #fff2d566, 0 7px 17px #0003;
  font: 400 20px/1.15 var(--serif, Georgia, serif);
  letter-spacing: -.01em;
  text-decoration: none;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.ajn-home .ajn-home-visit::before { content: ''; position: absolute; pointer-events: none; inset: 3px; border: 1px solid #fff0ca44; border-radius: 16px 4px 21px 5px; }
.ajn-home .ajn-home-visit::after { content: ''; position: absolute; pointer-events: none; z-index: -1; bottom: -4px; height: 6px; left: 8px; right: 2px; border-radius: 0 0 16px 5px; background: #7f6c49; border: 1px solid #ad946333; transform: skewX(-12deg); }
.ajn-home .ajn-home-visit > .arrow { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; margin-left: auto; border-radius: 50%; border: 1px solid #1b33394d; color: #e5d2ae; background: #1b353a; font: 20px/1 var(--sans, Arial, sans-serif); }
.ajn-home .ajn-home-actions > .text-link { display: inline-flex; min-height: 48px; align-items: center; gap: 15px; margin: 0; color: #d7c49f; font: 13px/1.7 var(--sans, Arial, sans-serif); }
.ajn-home .ajn-home-actions > .text-link > span { font-size: 20px; }
.ajn-home .ajn-home-visit:focus-visible,
.ajn-home .ajn-home-actions > .text-link:focus-visible { outline: 2px solid #f0d39c; outline-offset: 5px; box-shadow: 0 0 0 2px #102430, 0 9px 18px #0004; }

/* The company reference in the cover is a quiet, fully tappable direct route. */
.home-page .cover-role .cover-company-link {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  gap: 8px;
  color: #d1ba8e;
  font: inherit;
  letter-spacing: inherit;
  text-decoration: underline;
  text-decoration-color: #c1a67366;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
.home-page .cover-role .cover-company-link > span[aria-hidden="true"] { display: inline; margin: 0; font: inherit; line-height: inherit; letter-spacing: 0; color: inherit; }
.home-page .cover-role .cover-company-link:hover { color: #f0dfba; text-decoration-color: #d8bc85; }
.home-page .cover-role .cover-company-link:focus-visible { outline: 2px solid #e6c992; outline-offset: 4px; }

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .ajn-home .ajn-home-visit:hover { transform: translateY(-2px); border-color: #edd4a3; box-shadow: inset 0 1px 0 #fff2d577, 0 11px 23px #0005; }
}
@media (min-width: 901px) and (max-width: 1120px) {
  .ajn-home .ajn-home-copy { padding: 25px 26px; }
  .ajn-home .ajn-home-copy h2 { font-size: 36px; }
  .ajn-home .ajn-home-focus { gap: 6px 12px; margin-bottom: 18px; }
  .ajn-home .ajn-home-actions { gap: 10px 17px; }
  .ajn-home .ajn-home-visit { font-size: 18px; padding-left: 16px; gap: 12px; }
}
@media (max-width: 900px) {
  .home-page .ajn-home.section { padding: 24px 0 28px; }
  .ajn-home .ajn-home-panel { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .ajn-home .ajn-home-visual { min-height: 230px; height: 230px; max-height: 230px; border-right: 0; border-bottom: 1px solid #baa5744d; }
  .ajn-home .ajn-home-visual > img { object-position: center 53%; }
  .ajn-home .ajn-home-visual > figcaption { left: 28px; bottom: 20px; }
  .ajn-home .ajn-home-copy { padding: 29px 30px 31px; }
  .ajn-home .ajn-home-copy h2 { font-size: 43px; }
  .ajn-home .ajn-home-copy > p { max-width: 700px; }
}
@media (max-width: 520px) {
  .home-page .ajn-home.section { padding: 22px 0 25px; }
  .ajn-home .ajn-home-panel { border-radius: 24px 7px 24px 7px; }
  .ajn-home .ajn-home-visual { height: 230px; min-height: 230px; max-height: 230px; }
  .ajn-home .ajn-home-visual > figcaption { left: 22px; right: 20px; bottom: 18px; font-size: 12px; }
  .ajn-home .ajn-home-copy { padding: 25px 22px 28px; }
  .ajn-home .ajn-home-copy > .chapter-label { font-size: 11px; line-height: 1.75; margin-bottom: 17px; }
  .ajn-home .ajn-home-copy h2 { font-size: 39px; line-height: 1.09; margin-bottom: 18px; }
  .ajn-home .ajn-home-copy > p,
  .ajn-home .ajn-home-copy > .ajn-home-role,
  .ajn-home .ajn-home-copy > .ajn-home-company { font-size: 15px; line-height: 1.8; }
  .ajn-home .ajn-home-focus { gap: 7px 13px; padding-top: 14px; margin-bottom: 23px; }
  .ajn-home .ajn-home-focus > span { font-size: 12px; }
  .ajn-home .ajn-home-actions { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
  .ajn-home .ajn-home-visit { width: 100%; min-height: 54px; font-size: 20px; padding: 11px 12px 11px 19px; gap: 12px; }
  .ajn-home .ajn-home-actions > .text-link { justify-content: space-between; width: 100%; min-height: 48px; font-size: 13px; }
}
@media (max-width: 360px) {
  .ajn-home .ajn-home-copy h2 { font-size: 36px; }
  .ajn-home .ajn-home-visit { font-size: 19px; padding-left: 16px; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) { .ajn-home .ajn-home-visit { transition: none; transform: none !important; } }
html.no-motion .ajn-home .ajn-home-visit { transition: none; transform: none !important; }
@media (forced-colors: active) {
  .ajn-home .ajn-home-panel { background: Canvas; border-color: ButtonText; box-shadow: none; }
  .ajn-home .ajn-home-visit { background: Canvas; color: ButtonText; border-color: ButtonText; box-shadow: none; }
  .ajn-home .ajn-home-panel::after, .ajn-home .ajn-home-visit::before, .ajn-home .ajn-home-visit::after { display: none; }
  .ajn-home .ajn-home-visit > .arrow { color: ButtonText; border-color: ButtonText; background: Canvas; }
}
@media print {
  .home-page .ajn-home.section { padding: 24px 0; background: white; }
  .ajn-home .ajn-home-panel { break-inside: avoid; background: white; border-color: #777; box-shadow: none; }
  .ajn-home .ajn-home-copy :is(h2,h2 em,p,.chapter-label), .ajn-home .ajn-home-focus > span { color: #182636; }
}
