/* AttendGate v6 — shared production shell
   Homepage is the visual source of truth for brand, header and footer. */
:root{
  --ag-ink:#071b31;
  --ag-muted:#617387;
  --ag-line:#e5edf6;
  --ag-blue:#2f74f6;
  --ag-navy:#071b31;
  --ag-max:1280px;
}

/* Keep the inner pages on the same visual canvas as the homepage. */
body.inner-v15, body.android-v15 { background:#fff; color:var(--ag-ink); }
body.inner-v15 .container, body.android-v15 .container { width:min(calc(100% - 40px),var(--ag-max)); }

/* One site header on every public page. */
.ag-site-header{
  position:sticky;
  top:0;
  z-index:90;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(229,237,246,.96);
}
.ag-header-inner{
  width:min(calc(100% - 40px),var(--ag-max));
  height:76px;
  margin:auto;
  display:flex;
  align-items:center;
  gap:18px;
}
.ag-brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
  color:var(--ag-ink);
  font-size:21px;
  font-weight:900;
  letter-spacing:-.04em;
  line-height:1;
  white-space:nowrap;
}
.ag-brand img{
  width:40px;
  height:40px;
  object-fit:cover;
  border-radius:12px;
  box-shadow:0 8px 18px rgba(33,108,255,.14);
}
.ag-nav-links{
  display:flex;
  align-items:center;
  gap:22px;
  margin-left:auto;
  color:#506275;
  font-size:14px;
  font-weight:700;
}
.ag-nav-links a{ transition:color .16s ease; }
.ag-nav-links a:hover,.ag-nav-links a:focus-visible{ color:var(--ag-ink); }
.ag-nav-actions{ display:flex; gap:10px; margin-left:4px; }
.ag-nav-button{
  min-height:46px;
  padding:0 17px;
  border-radius:13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:850;
  white-space:nowrap;
  border:1px solid var(--ag-line);
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.ag-nav-button:hover{ transform:translateY(-1px); }
.ag-nav-button.secondary{ background:#fff; color:var(--ag-ink); }
.ag-nav-button.primary{ background:#0d1015; color:#fff; border-color:#0d1015; }
.ag-nav-button.primary:hover{ box-shadow:0 10px 24px rgba(13,16,21,.16); }

/* Remove legacy header styling when old page CSS is still loaded. */
body.inner-v15 > .site-header, body.android-v15 > .site-header{ display:none!important; }

/* Shared footer — same information architecture and brand treatment as homepage. */
.ag-site-footer{
  margin-top:0;
  padding:46px 0 28px;
  background:#071b31;
  color:#c6d4e3;
}
.ag-footer-inner{ width:min(calc(100% - 40px),var(--ag-max)); margin:auto; }
.ag-footer-grid{
  display:grid;
  grid-template-columns:1.6fr repeat(3,1fr);
  gap:24px;
}
.ag-footer-brand .ag-brand{ color:#fff; }
.ag-footer-brand p{
  max-width:350px;
  margin:12px 0 0;
  color:#94abc0;
  font-size:14px;
  line-height:1.6;
}
.ag-footer-col strong{
  display:block;
  margin-bottom:12px;
  color:#fff;
  font-size:14px;
  text-transform:none;
  letter-spacing:0;
}
.ag-footer-col a{
  display:block;
  margin:7px 0;
  color:#98aec2;
  font-size:14px;
}
.ag-footer-col a:hover,.ag-footer-col a:focus-visible{ color:#fff; }
.ag-footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:28px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.1);
  color:#7f97ae;
  font-size:12px;
}
body.inner-v15 > .site-footer, body.android-v15 > .site-footer{ display:none!important; }

/* Bring inner-page typography closer to the homepage scale without changing content. */
body.inner-v15 .inner-hero{ padding:76px 0 50px; background:#fff; border-bottom:1px solid var(--ag-line); }
body.inner-v15 .inner-hero h1{
  max-width:900px;
  font-size:clamp(48px,6vw,82px);
  line-height:.98;
  letter-spacing:-.055em;
  color:var(--ag-ink);
}
body.inner-v15 .inner-hero p{ color:var(--ag-muted); }
body.inner-v15 .eyebrow{ color:#52709a; }
body.inner-v15 .contact-card, body.inner-v15 .status-card{ border-color:var(--ag-line); box-shadow:0 14px 38px rgba(6,23,43,.035); }
body.inner-v15 .legal-content h2{ color:var(--ag-ink); }
body.inner-v15 .legal-content{ color:#40536d; }

/* Android page uses the same shell and homepage palette. */
body.android-v15 .android-status-v15{ background:#fff; }
body.android-v15 .android-status-panel,
body.android-v15 .android-note-card,
body.android-v15 .android-step{ border-color:var(--ag-line); }

@media(max-width:980px){
  .ag-nav-links{ gap:15px; font-size:13px; }
  .ag-nav-button.secondary{ display:none; }
  .ag-footer-grid{ grid-template-columns:1.4fr 1fr 1fr; }
  .ag-footer-col:last-child{ grid-column:auto; }
}

@media(max-width:760px){
  body.inner-v15 .container, body.android-v15 .container{ width:min(calc(100% - 28px),var(--ag-max)); }
  .ag-header-inner{
    width:min(calc(100% - 28px),var(--ag-max));
    height:70px;
    gap:12px;
  }
  .ag-brand{ gap:9px; font-size:18px; }
  .ag-brand img{ width:38px; height:38px; border-radius:11px; }
  .ag-nav-links{ display:none; }
  .ag-nav-actions{ margin-left:auto; }
  .ag-nav-button.secondary{ display:none; }
  .ag-nav-button.primary{ min-height:44px; padding:0 17px; border-radius:14px; }
  .ag-site-footer{ margin-top:0; padding:36px 0 28px; }
  .ag-footer-inner{ width:min(calc(100% - 28px),var(--ag-max)); }
  .ag-footer-grid{ grid-template-columns:1fr 1fr; gap:18px 14px; }
  .ag-footer-brand{ grid-column:1 / -1; }
  .ag-footer-brand p{ max-width:none; font-size:12px; }
  .ag-footer-col strong{ margin-bottom:8px; font-size:13px; }
  .ag-footer-col a{ margin:6px 0; font-size:12px; }
  .ag-footer-bottom{ display:block; margin-top:20px; padding-top:13px; line-height:1.7; }
  body.inner-v15 .inner-hero{ padding:58px 0 40px; }
  body.inner-v15 .inner-hero h1{ font-size:clamp(44px,13vw,66px); }
}

@media(max-width:390px){
  .ag-brand span{ display:none; }
  .ag-nav-button.primary{ padding:0 14px; }
}
