:root {
  color-scheme: dark;
  --axis-axis-black: #030507;
  --axis-mineral-black: #080d13;
  --axis-graphite: #151a20;
  --axis-ash: #6f7883;
  --axis-white: #f5f7fa;
  --axis-blue: #8faeff;
  --axis-silver: #c8d0da;
  --axis-paper: #f2f1ed;
  --max: 1440px;
  --gutter: clamp(22px, 5vw, 76px);
  --line: rgba(245,247,250,.16);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--axis-axis-black); color:var(--axis-white); font-family:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height:1.55; }
a { color:inherit; text-decoration-thickness:1px; text-underline-offset:.22em; }
img { max-width:100%; }
button, input, select, textarea { font:inherit; }
code { font-family:"Noto Sans Mono", ui-monospace, SFMono-Regular, Consolas, monospace; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; left:16px; top:-80px; z-index:100; background:var(--axis-white); color:var(--axis-axis-black); padding:10px 14px; }
.skip-link:focus { top:16px; }
.site-header { width:min(100%, var(--max)); margin:auto; min-height:88px; padding:22px var(--gutter); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:relative; z-index:10; }
.brand img { width:140px; display:block; }
.primary-nav { display:flex; align-items:center; gap:22px; font-size:14px; }
.primary-nav a, .nav-form button { color:var(--axis-silver); text-decoration:none; border:0; background:none; padding:0; cursor:pointer; }
.primary-nav a:hover, .primary-nav a:focus, .nav-form button:hover, .nav-form button:focus { color:var(--axis-white); }
.nav-form { margin:0; }
.primary-nav .nav-cta { color:var(--axis-axis-black); background:var(--axis-white); padding:10px 14px; }
.menu-button { display:none; border:1px solid var(--line); color:var(--axis-white); background:transparent; padding:8px 12px; }
main { min-height:70vh; }
.hero, .record-hero, .passport-hero, .page-intro, .section, .form-page, .notice { width:min(100%, var(--max)); margin-inline:auto; padding-inline:var(--gutter); }
.hero { min-height:calc(100vh - 88px); display:grid; grid-template-columns:90px minmax(0, 1fr) 260px; gap:clamp(28px, 5vw, 78px); align-items:center; padding-top:72px; padding-bottom:72px; }
.hero-axis, .object-mark { width:78px; height:78px; position:relative; }
.hero-axis::before, .hero-axis::after, .object-mark::before, .object-mark::after { content:""; position:absolute; background:var(--axis-white); opacity:.82; }
.hero-axis::before, .object-mark::before { width:1px; height:100%; left:50%; top:0; }
.hero-axis::after, .object-mark::after { width:100%; height:1px; left:0; top:50%; }
.hero-axis span, .object-mark span { position:absolute; width:7px; height:7px; background:var(--axis-blue); left:calc(50% - 3px); top:calc(50% - 3px); border-radius:50%; }
.eyebrow, .micro { text-transform:uppercase; letter-spacing:.16em; font-weight:650; font-size:11px; color:var(--axis-ash); }
.hero h1, .page-intro h1, .record-hero h1, .passport-hero h1 { font-size:clamp(44px, 7vw, 102px); line-height:.98; letter-spacing:-.055em; font-weight:470; margin:.25em 0 .32em; max-width:1100px; }
.page-intro h1 { max-width:1000px; }
.lead { max-width:850px; color:var(--axis-silver); font-size:clamp(18px, 2vw, 26px); line-height:1.45; }
.actions, .toolbar, .passport-actions, .form-actions { display:flex; gap:12px; align-items:center; margin-top:28px; }
.actions { flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 16px; text-decoration:none; border:1px solid var(--line); cursor:pointer; transition:background .25s var(--axis-ease), color .25s var(--axis-ease), border-color .25s var(--axis-ease); }
.button.primary { background:var(--axis-white); color:var(--axis-axis-black); border-color:var(--axis-white); }
.button.primary:hover, .button.primary:focus { background:var(--axis-blue); border-color:var(--axis-blue); }
.button.secondary { color:var(--axis-white); background:transparent; }
.button.secondary:hover, .button.secondary:focus { border-color:var(--axis-white); }
.button.text { background:none; color:var(--axis-silver); border-color:transparent; }
.hero-stats { margin:0; display:grid; gap:28px; }
.hero-stats div { border-top:1px solid var(--line); padding-top:14px; }
.hero-stats dt { font-size:28px; letter-spacing:-.04em; }
.hero-stats dd { margin:2px 0 0; color:var(--axis-ash); font-size:13px; }
.section { padding-top:clamp(64px, 9vw, 130px); padding-bottom:clamp(64px, 9vw, 130px); border-top:1px solid var(--line); }
.split { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr); gap:clamp(40px, 8vw, 120px); }
.section h2 { margin:.2em 0 .5em; font-size:clamp(30px, 4vw, 58px); line-height:1.05; font-weight:480; letter-spacing:-.04em; }
.editorial-copy { max-width:760px; font-family:"Noto Serif", Georgia, serif; font-size:clamp(18px, 2vw, 24px); color:var(--axis-silver); }
.rule-grid { display:grid; grid-template-columns:repeat(4,1fr); padding-top:0; padding-bottom:0; }
.rule-grid article { min-height:360px; padding:38px 28px; border-right:1px solid var(--line); }
.rule-grid article:first-child { border-left:1px solid var(--line); }
.rule-grid span { color:var(--axis-blue); font-family:monospace; }
.rule-grid h3 { font-size:28px; font-weight:500; margin:140px 0 12px; }
.rule-grid p { color:var(--axis-ash); }
.section-heading { display:flex; justify-content:space-between; gap:30px; align-items:flex-end; margin-bottom:32px; }
.record-list { border-top:1px solid var(--line); }
.record-row { display:grid; grid-template-columns:260px minmax(0,1fr) 240px; gap:28px; align-items:center; min-height:86px; border-bottom:1px solid var(--line); text-decoration:none; }
.record-row:hover .record-title, .record-row:focus .record-title { color:var(--axis-blue); }
.record-id { font-family:monospace; font-size:12px; color:var(--axis-ash); }
.record-title { font-size:20px; transition:color .2s ease; }
.record-meta { color:var(--axis-ash); text-align:right; font-size:13px; }
.statement blockquote { font-family:"Noto Serif", Georgia, serif; font-size:clamp(34px, 5vw, 72px); line-height:1.08; letter-spacing:-.04em; margin:28px 0; max-width:1000px; }
.statement > p:last-child { color:var(--axis-ash); max-width:760px; }
.page-intro { padding-top:clamp(90px, 12vw, 180px); padding-bottom:clamp(70px, 10vw, 140px); }
.page-intro.compact { padding-bottom:58px; }
.document-grid, .service-list { display:grid; grid-template-columns:1fr 1fr; }
.document-grid > div, .service-list article { min-height:360px; padding:42px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.document-grid > div:nth-child(odd), .service-list article:nth-child(odd) { border-left:1px solid var(--line); }
.document-number { color:var(--axis-blue); font-size:14px; }
.service-list .price { margin-top:70px; font-family:monospace; color:var(--axis-blue); }
.status-table { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); padding-top:0; padding-bottom:0; }
.status-table > div { background:var(--axis-axis-black); min-height:300px; padding:38px; }
.status-dot { width:8px; height:8px; display:inline-block; border-radius:50%; margin-right:8px; }
.status-dot.active { background:#7de0a1; }.status-dot.pilot { background:#ffd46b; }.status-dot.planned { background:var(--axis-blue); }
.record-hero, .passport-hero { padding-top:clamp(80px, 11vw, 160px); padding-bottom:clamp(60px, 8vw, 110px); display:flex; align-items:flex-end; justify-content:space-between; gap:50px; }
.record-hero h1, .passport-hero h1 { font-size:clamp(44px, 6vw, 88px); }
.record-canonical { color:var(--axis-blue); font-family:monospace; }
.metadata-grid { display:grid; grid-template-columns:repeat(5,1fr); padding-top:0; padding-bottom:0; }
.metadata-grid > div { min-height:150px; padding:28px 20px; border-right:1px solid var(--line); }
.metadata-grid > div:first-child { border-left:1px solid var(--line); }
.metadata-grid strong { display:block; margin-top:10px; font-size:17px; }
.two-column { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px, 8vw, 120px); }
.plain-list { border-top:1px solid var(--line); }
.plain-list > div { display:flex; justify-content:space-between; gap:28px; padding:16px 0; border-bottom:1px solid var(--line); }
.plain-list span { color:var(--axis-ash); text-align:right; }
.identifier-list { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); }
.identifier-list > div { display:flex; justify-content:space-between; gap:20px; padding:18px 0; border-bottom:1px solid var(--line); }
.identifier-list > div:nth-child(odd) { padding-right:30px; border-right:1px solid var(--line); }
.identifier-list > div:nth-child(even) { padding-left:30px; }
.identifier-list span { color:var(--axis-ash); }
.file-table { border-top:1px solid var(--line); }
.file-row { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr) auto; gap:24px; align-items:center; padding:18px 0; border-bottom:1px solid var(--line); }
.file-row div span { display:block; color:var(--axis-ash); font-size:13px; }
.file-row code { color:var(--axis-silver); font-size:11px; overflow-wrap:anywhere; }
.citation { font-family:"Noto Serif", Georgia, serif; color:var(--axis-silver); font-size:20px; }
.search-bar { display:grid; grid-template-columns:minmax(260px,1fr) 240px auto; gap:12px; margin-bottom:38px; }
.axis-input { width:100%; min-height:46px; color:var(--axis-white); background:var(--axis-mineral-black); border:1px solid var(--line); border-radius:0; padding:11px 13px; }
.axis-input:focus { outline:1px solid var(--axis-blue); border-color:var(--axis-blue); }
textarea.axis-input { resize:vertical; }
.axis-checkbox { width:18px; height:18px; accent-color:var(--axis-blue); vertical-align:middle; }
.empty-state { padding:54px 0; color:var(--axis-ash); }
.pagination { display:flex; justify-content:space-between; padding-top:28px; color:var(--axis-ash); }
.passport-hero { border-bottom:1px solid var(--line); }
.status-seal { min-width:180px; min-height:180px; border:1px solid var(--axis-white); border-radius:50%; display:grid; place-content:center; text-align:center; }
.status-seal span { text-transform:uppercase; letter-spacing:.16em; font-size:12px; }
.status-seal small { color:var(--axis-ash); margin-top:8px; }
.status-seal.withdrawn { border-color:#ff8b8b; color:#ff8b8b; }
.passport-actions { padding-top:30px; padding-bottom:30px; border-top:0; }
.notice { margin-top:24px; margin-bottom:24px; padding-top:24px; padding-bottom:24px; border:1px solid var(--line); background:var(--axis-mineral-black); }
.notice strong { text-transform:uppercase; letter-spacing:.14em; font-size:11px; }
.notice p { margin-bottom:0; color:var(--axis-silver); }
.passport-qr { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.passport-qr img { width:180px; background:white; padding:12px; }
.passport-qr code { display:block; color:var(--axis-silver); overflow-wrap:anywhere; }
.form-page { display:grid; grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr); gap:clamp(50px, 10vw, 150px); padding-top:clamp(80px, 12vw, 160px); padding-bottom:clamp(80px, 12vw, 160px); }
.form-page h1 { font-size:clamp(42px, 6vw, 76px); line-height:1.02; letter-spacing:-.05em; font-weight:480; }
.form-page > div > p { color:var(--axis-silver); }
.axis-form { max-width:760px; }
.axis-form p { margin:0 0 24px; }
.axis-form label { display:block; margin-bottom:8px; color:var(--axis-silver); font-size:14px; }
.axis-form .helptext { display:block; margin-top:5px; color:var(--axis-ash); font-size:12px; }
.axis-form ul.errorlist { list-style:none; padding:0; color:#ffabab; font-size:13px; }
.messages { position:fixed; top:100px; right:20px; z-index:100; width:min(420px, calc(100vw - 40px)); }
.message { background:var(--axis-white); color:var(--axis-axis-black); padding:14px 18px; margin-bottom:8px; box-shadow:0 18px 50px rgba(0,0,0,.35); }
.message.error { background:#ffdede; }.message.success { background:#dcffe8; }
.toolbar { padding-top:24px; padding-bottom:24px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.toolbar.wrap { flex-wrap:wrap; }
.admin-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:44px; }
.site-footer { width:min(100%, var(--max)); margin:auto; padding:70px var(--gutter); border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr 1fr; gap:36px; color:var(--axis-ash); }
.footer-mark { width:34px; }
.muted { color:var(--axis-ash); }

@media (max-width: 1050px) {
  .primary-nav { display:none; position:absolute; left:0; right:0; top:87px; background:var(--axis-axis-black); border-bottom:1px solid var(--line); padding:24px var(--gutter); flex-direction:column; align-items:flex-start; }
  .primary-nav.open { display:flex; }
  .menu-button { display:block; }
  .hero { grid-template-columns:60px 1fr; }
  .hero-stats { grid-column:2; grid-template-columns:repeat(3,1fr); }
  .rule-grid { grid-template-columns:1fr 1fr; }
  .rule-grid article:nth-child(3) { border-left:1px solid var(--line); }
  .record-row { grid-template-columns:200px 1fr; }
  .record-meta { grid-column:2; text-align:left; margin-top:-20px; }
  .metadata-grid { grid-template-columns:repeat(3,1fr); }
  .metadata-grid > div:nth-child(4) { border-left:1px solid var(--line); }
  .admin-columns { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
  .hero, .record-hero, .passport-hero { display:block; }
  .hero { padding-top:90px; grid-template-columns:1fr; }
  .hero-axis { margin-bottom:50px; }
  .hero-stats { grid-column:auto; margin-top:80px; }
  .split, .two-column, .form-page { grid-template-columns:1fr; }
  .rule-grid, .document-grid, .service-list, .status-table { grid-template-columns:1fr; }
  .rule-grid article, .document-grid > div, .service-list article { border-left:1px solid var(--line); }
  .rule-grid h3 { margin-top:90px; }
  .record-row { grid-template-columns:1fr; gap:6px; padding:20px 0; }
  .record-meta { grid-column:auto; margin-top:0; text-align:left; }
  .metadata-grid { grid-template-columns:1fr 1fr; }
  .metadata-grid > div { border-left:1px solid var(--line); }
  .identifier-list { grid-template-columns:1fr; }
  .identifier-list > div { padding:18px 0 !important; border-right:0 !important; }
  .file-row { grid-template-columns:1fr; gap:8px; }
  .search-bar { grid-template-columns:1fr; }
  .status-seal { margin-top:40px; min-width:140px; width:140px; min-height:140px; }
  .passport-qr { display:block; }
  .passport-qr img { margin-top:30px; }
  .site-footer { grid-template-columns:1fr; }
  .actions, .toolbar, .passport-actions { align-items:stretch; flex-direction:column; }
  .hero h1, .page-intro h1, .record-hero h1, .passport-hero h1 { font-size:clamp(42px, 13vw, 66px); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}
.axis-map { min-height:520px; border:1px solid var(--line); background:var(--axis-mineral-black); overflow:auto; }
.axis-map svg { display:block; width:100%; min-width:900px; height:auto; }
.map-edge { stroke:rgba(200,208,218,.26); stroke-width:1; }
.map-node circle { fill:var(--axis-blue); stroke:var(--axis-axis-black); stroke-width:4; }
.map-node text { fill:var(--axis-silver); font-family:Inter, sans-serif; font-size:14px; }
.map-node:hover text, .map-node:focus text { fill:var(--axis-white); }

/* AXIS Registry public listing */
.registry-list {
  border-top: 1px solid rgba(255,255,255,.18);
}

.registry-row {
  display: grid;
  grid-template-columns: 1.8fr 1fr .8fr auto;
  gap: 2rem;
  align-items: center;
  padding: 2rem 0;
  border-bottom: 1px solid rgba(255,255,255,.14);
}

.registry-row h2 {
  margin: .35rem 0;
  font-size: clamp(1.5rem, 2.4vw, 2.6rem);
  line-height: 1.05;
  letter-spacing: -.04em;
}

.registry-actions {
  display: flex;
  gap: .75rem;
  justify-content: flex-end;
  align-items: center;
}

@media (max-width: 900px) {
  .registry-row {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .registry-actions {
    justify-content: flex-start;
  }
}


/* ============================================================
   AXIS GLOBAL TYPOGRAPHIC REFINEMENT — v0.1
   Scope: public pages only.
   Purpose: reduce oversized typography, improve spacing,
   restore institutional rhythm and prevent left-edge clipping.
   ============================================================ */

:root {
  --axis-page-max: 1520px;
  --axis-page-pad: clamp(1.4rem, 4.8vw, 5.8rem);
  --axis-section-y: clamp(4.8rem, 8vw, 8.5rem);
  --axis-section-y-tight: clamp(3.2rem, 5.5vw, 5.8rem);
  --axis-h1: clamp(3.6rem, 7.2vw, 7.9rem);
  --axis-h2: clamp(2.4rem, 4.8vw, 5.2rem);
  --axis-h3: clamp(1.55rem, 2.35vw, 2.7rem);
  --axis-body: clamp(1rem, 1.08vw, 1.14rem);
  --axis-small: .78rem;
}

/* Main page rhythm */
main,
#main {
  width: 100%;
}

main > section,
#main > section,
.site-footer,
.site-header {
  max-width: var(--axis-page-max);
  margin-left: auto;
  margin-right: auto;
}

/* Prevent visual clipping on large headings */
main > section,
#main > section {
  padding-left: var(--axis-page-pad);
  padding-right: var(--axis-page-pad);
}

/* Headings */
h1 {
  font-size: var(--axis-h1);
  line-height: .92;
  letter-spacing: -.07em;
  font-weight: 500;
  max-width: 1180px;
}

h2 {
  font-size: var(--axis-h2);
  line-height: .98;
  letter-spacing: -.055em;
  font-weight: 500;
  max-width: 980px;
}

h3 {
  font-size: var(--axis-h3);
  line-height: 1.04;
  letter-spacing: -.04em;
  font-weight: 520;
}

/* Paragraph readability */
p,
li,
dd,
dt,
label,
input,
textarea,
select,
button {
  font-size: var(--axis-body);
}

p {
  line-height: 1.68;
}

/* Institutional micro labels */
.eyebrow,
.micro,
.axis-service-label,
.axis-service-number {
  font-size: var(--axis-small) !important;
  letter-spacing: .18em;
  line-height: 1.35;
}

/* Header refinement */
.site-header {
  padding-left: var(--axis-page-pad);
  padding-right: var(--axis-page-pad);
}

.site-header .brand img {
  max-height: 28px;
}

.site-header nav,
.site-header a {
  font-size: .96rem;
}

/* Buttons */
.button,
a.button,
button.button,
.axis-service-action a {
  min-height: 46px;
  padding: .9rem 1.15rem;
  font-size: .95rem;
  line-height: 1;
}

/* Public pages: hero normalization */
.record-hero,
.axis-services-hero,
.axis-intake-hero,
.axis-registry-hero,
.passport-hero {
  min-height: auto !important;
  padding-top: clamp(5.8rem, 9vw, 8.5rem) !important;
  padding-bottom: clamp(4.2rem, 7vw, 6.5rem) !important;
}

/* Services page specific correction */
.axis-services-hero h1 {
  font-size: clamp(3.9rem, 7vw, 7.8rem) !important;
  line-height: .92 !important;
  max-width: 1040px;
}

.axis-services-lead {
  font-size: clamp(.92rem, 1vw, 1.05rem) !important;
  line-height: 1.72 !important;
  max-width: 680px !important;
}

.axis-services-principle {
  padding-top: var(--axis-section-y-tight) !important;
  padding-bottom: var(--axis-section-y-tight) !important;
}

.axis-services-principle h2,
.axis-services-boundary h2,
.axis-services-final h2 {
  font-size: clamp(2.3rem, 4.5vw, 5.4rem) !important;
  line-height: .98 !important;
}

.axis-service-row {
  padding-top: clamp(2.6rem, 4vw, 4.2rem) !important;
  padding-bottom: clamp(2.6rem, 4vw, 4.2rem) !important;
  grid-template-columns: 90px minmax(260px, .75fr) minmax(420px, 1.15fr) 190px !important;
}

.axis-service-row h3 {
  font-size: clamp(1.75rem, 2.6vw, 3rem) !important;
}

.axis-service-row p,
.axis-service-row li {
  font-size: clamp(.92rem, .96vw, 1rem) !important;
}

/* Registry and passport rhythm */
.record-hero h1,
.passport-hero h1,
.axis-registry-hero h1 {
  font-size: clamp(3.6rem, 6.5vw, 7.2rem) !important;
  line-height: .93 !important;
}

.metadata-grid,
.section,
.two-column,
.file-table,
.plain-list,
.axis-boundary-grid {
  max-width: 100%;
}

/* Reduce overly distant content on very wide screens */
@media (min-width: 1500px) {
  :root {
    --axis-page-max: 1480px;
    --axis-page-pad: clamp(3rem, 4vw, 5rem);
  }

  .axis-services-hero {
    grid-template-columns: .92fr 1.08fr !important;
  }
}

/* Tablet */
@media (max-width: 1100px) {
  :root {
    --axis-h1: clamp(3.2rem, 10vw, 6rem);
    --axis-h2: clamp(2.2rem, 7vw, 4.4rem);
  }

  .axis-services-hero,
  .axis-services-principle,
  .axis-services-boundary,
  .axis-services-final,
  .axis-service-row {
    grid-template-columns: 1fr !important;
  }

  .axis-service-action {
    justify-content: flex-start !important;
  }
}

/* Mobile */
@media (max-width: 680px) {
  :root {
    --axis-page-pad: 1.25rem;
    --axis-section-y: 4rem;
    --axis-h1: clamp(3rem, 14vw, 4.6rem);
    --axis-h2: clamp(2rem, 10vw, 3.5rem);
    --axis-body: 1rem;
  }

  h1,
  .axis-services-hero h1,
  .record-hero h1,
  .passport-hero h1 {
    letter-spacing: -.06em;
  }

  .site-header {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .button,
  a.button,
  button.button {
    width: auto;
    min-height: 44px;
  }
}


/* ============================================================
   AXIS HEADER LOGO REFINEMENT — v0.1
   Scope: public header only.
   Purpose: give the AXIS identity more presence without
   affecting footer marks or document layouts.
   ============================================================ */

.site-header .brand {
  display: inline-flex;
  align-items: center;
  gap: .95rem;
  min-width: 230px;
}

.site-header .brand img {
  width: clamp(165px, 12vw, 215px) !important;
  height: auto !important;
  max-height: 46px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.site-header {
  min-height: 96px;
}

@media (max-width: 900px) {
  .site-header .brand {
    min-width: auto;
  }

  .site-header .brand img {
    width: 150px !important;
    max-height: 40px !important;
  }
}

@media (max-width: 560px) {
  .site-header .brand img {
    width: 128px !important;
  }
}


/* ============================================================
   AXIS HEADER LOGO FORCE — v0.2
   Applies to the real public header.
   ============================================================ */

.site-header .brand,
header.site-header .brand,
.site-header a.brand,
header a.brand {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 260px !important;
}

.site-header .brand img,
header.site-header .brand img,
.site-header a.brand img,
header a.brand img {
  width: 250px !important;
  max-width: 250px !important;
  height: auto !important;
  max-height: 54px !important;
  object-fit: contain !important;
  object-position: left center !important;
  display: block !important;
}

@media (max-width: 900px) {
  .site-header .brand,
  header.site-header .brand,
  .site-header a.brand,
  header a.brand {
    min-width: 180px !important;
  }

  .site-header .brand img,
  header.site-header .brand img,
  .site-header a.brand img,
  header a.brand img {
    width: 170px !important;
    max-width: 170px !important;
  }
}


/* ============================================================
   AXIS LOGO REFINEMENT — HEADER + FOOTER v0.3
   ============================================================ */

/* Header logo: compact institutional lockup */
.site-header .brand,
header.site-header .brand,
.site-header a.brand,
header a.brand {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 205px !important;
}

.site-header .brand img,
header.site-header .brand img,
.site-header a.brand img,
header a.brand img {
  width: 188px !important;
  max-width: 188px !important;
  height: auto !important;
  max-height: 42px !important;
  object-fit: contain !important;
  object-position: left center !important;
  display: block !important;
}

/* Header should breathe, but not become a logo billboard */
.site-header,
header.site-header {
  min-height: 86px !important;
}

/* Footer mark: do not let it disappear */
.site-footer .footer-mark {
  width: 42px !important;
  height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  object-fit: contain !important;
  opacity: .92 !important;
  display: block !important;
  margin-bottom: 1.15rem !important;
}

.site-footer .micro {
  font-size: .78rem !important;
  letter-spacing: .2em !important;
  color: #8fa2bd !important;
}

/* Footer balance */
.site-footer {
  align-items: start !important;
  padding-top: clamp(3rem, 5vw, 4.8rem) !important;
  padding-bottom: clamp(3rem, 5vw, 4.8rem) !important;
}

/* Mobile */
@media (max-width: 900px) {
  .site-header .brand,
  header.site-header .brand,
  .site-header a.brand,
  header a.brand {
    min-width: 165px !important;
  }

  .site-header .brand img,
  header.site-header .brand img,
  .site-header a.brand img,
  header a.brand img {
    width: 152px !important;
    max-width: 152px !important;
  }

  .site-header,
  header.site-header {
    min-height: 76px !important;
  }
}

@media (max-width: 560px) {
  .site-header .brand img,
  header.site-header .brand img,
  .site-header a.brand img,
  header a.brand img {
    width: 132px !important;
    max-width: 132px !important;
  }
}


/* ============================================================
   AXIS — HEADER / FOOTER REFINEMENT v0.5
   ============================================================ */

/* ---------- HEADER ---------- */
.site-header,
header.site-header {
  min-height: 88px !important;
  padding-top: 1.25rem !important;
  padding-bottom: 1.25rem !important;
}

.site-header .brand,
header.site-header .brand,
.site-header a.brand,
header.site-header a.brand {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-width: 210px !important;
  margin: 0 !important;
}

.site-header .brand img,
header.site-header .brand img,
.site-header a.brand img,
header.site-header a.brand img {
  width: 182px !important;
  max-width: 182px !important;
  height: 30px !important;
  max-height: 30px !important;
  object-fit: contain !important;
  object-position: left center !important;
  display: block !important;
}

/* ---------- FOOTER ---------- */
.site-footer {
  display: grid !important;
  grid-template-columns: minmax(250px, 320px) minmax(280px, 1fr) minmax(280px, 1fr) !important;
  gap: clamp(2.2rem, 4vw, 5rem) !important;
  align-items: start !important;
  padding-top: clamp(3.2rem, 5vw, 4.5rem) !important;
  padding-bottom: clamp(3rem, 5vw, 4.5rem) !important;
}

.site-footer > * {
  margin: 0 !important;
  align-self: start !important;
}

.site-footer > div:first-child {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: .9rem !important;
  padding-top: .12rem !important;
}

.site-footer .footer-mark {
  width: 26px !important;
  height: 26px !important;
  max-width: 26px !important;
  max-height: 26px !important;
  margin: 0 !important;
  display: block !important;
  object-fit: contain !important;
  opacity: 1 !important;
}

.site-footer .micro {
  margin: 0 !important;
  font-size: .80rem !important;
  line-height: 1.35 !important;
  letter-spacing: .22em !important;
  color: #8fa2bd !important;
  text-transform: uppercase !important;
}

.site-footer > :nth-child(2),
.site-footer > :nth-child(3) {
  padding-top: .1rem !important;
  font-size: clamp(1.05rem, 1.18vw, 1.55rem) !important;
  line-height: 1.55 !important;
  max-width: 34ch !important;
}

.site-footer > :nth-child(2) {
  color: #a7b4c8 !important;
}

.site-footer > :nth-child(3) {
  color: #90a0b8 !important;
}

/* ---------- MOBILE ---------- */
@media (max-width: 980px) {
  .site-footer {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }

  .site-header .brand img,
  header.site-header .brand img,
  .site-header a.brand img,
  header.site-header a.brand img {
    width: 166px !important;
    max-width: 166px !important;
    height: 28px !important;
    max-height: 28px !important;
  }
}

@media (max-width: 560px) {
  .site-header .brand img,
  header.site-header .brand img,
  .site-header a.brand img,
  header.site-header a.brand img {
    width: 150px !important;
    max-width: 150px !important;
    height: 26px !important;
    max-height: 26px !important;
  }

  .site-footer .micro {
    letter-spacing: .16em !important;
  }
}


/* ============================================================
   AXIS HEADER LOGO ENLARGE — v0.6
   Header only. Footer unchanged.
   ============================================================ */

.site-header,
header.site-header {
  min-height: 102px !important;
  padding-top: 1.35rem !important;
  padding-bottom: 1.35rem !important;
}

.site-header .brand,
header.site-header .brand,
.site-header a.brand,
header.site-header a.brand {
  min-width: 310px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.site-header .brand img,
header.site-header .brand img,
.site-header a.brand img,
header.site-header a.brand img {
  width: 272px !important;
  max-width: 272px !important;
  height: 48px !important;
  max-height: 48px !important;
  object-fit: contain !important;
  object-position: left center !important;
  display: block !important;
}

@media (max-width: 1100px) {
  .site-header .brand,
  header.site-header .brand,
  .site-header a.brand,
  header.site-header a.brand {
    min-width: 245px !important;
  }

  .site-header .brand img,
  header.site-header .brand img,
  .site-header a.brand img,
  header.site-header a.brand img {
    width: 225px !important;
    max-width: 225px !important;
    height: 42px !important;
    max-height: 42px !important;
  }
}

@media (max-width: 700px) {
  .site-header,
  header.site-header {
    min-height: 86px !important;
  }

  .site-header .brand img,
  header.site-header .brand img,
  .site-header a.brand img,
  header.site-header a.brand img {
    width: 185px !important;
    max-width: 185px !important;
    height: 36px !important;
    max-height: 36px !important;
  }
}

/* AXIS language switch */
.axis-lang-switch {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  padding: .42rem .62rem;
  border: 1px solid rgba(245,247,250,.18);
  color: #8fa2bd;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.axis-lang-switch a {
  color: #c8d0da;
  text-decoration: none;
}

.axis-lang-switch a:hover,
.axis-lang-switch a:focus {
  color: #f5f7fa;
}

.axis-lang-switch span {
  color: #4f5d70;
}

@media (max-width:1050px) {
  .axis-lang-switch {
    margin-top: .3rem;
  }
}


/* AXIS login operational spacing fix */
.form-page .axis-form button[type="submit"] + a,
.form-page .axis-form .button.primary + a,
.form-page form button[type="submit"] + a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 46px !important;
  margin-left: 1.75rem !important;
  padding-left: .25rem !important;
  color: #f5f7fa !important;
  text-decoration: underline !important;
  text-underline-offset: .22em !important;
}

.form-page .axis-form button[type="submit"],
.form-page form button[type="submit"] {
  margin-right: 0 !important;
}

/* AXIS COMPACT OPERATOR SIGN-IN 2026-07-18 */
.primary-nav .operator-sign-in {
  white-space: nowrap;
  flex: 0 0 auto;
}
