:root {
  --aa-blue: #00357a;
  --aa-blue-dark: #00245c;
  --aa-blue-soft: #eaf3fb;
  --aa-blue-pale: #f5faff;
  --sand: #f7efe1;
  --text: #112033;
  --muted: #5c6b7e;
  --line: #d9e5f3;
  --white: #ffffff;
  --shadow: 0 18px 45px rgba(0, 35, 92, 0.16);
  --radius: 22px;
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 105px; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; color:var(--text); background:#fff; line-height:1.55; }
img { max-width:100%; display:block; }
a { color:inherit; }
.skip-link { position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip-link:focus { left:1rem; top:1rem; width:auto; height:auto; z-index:999; background:#fff; padding:.7rem 1rem; border:2px solid var(--aa-blue); border-radius:10px; }
.site-header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.96); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.header-inner { max-width:var(--max); margin:0 auto; min-height:84px; display:flex; align-items:center; justify-content:space-between; gap:1.2rem; padding:0 1.25rem; }
.brand { display:flex; align-items:center; gap:.85rem; text-decoration:none; min-width:0; }
.brand img { width:58px; height:58px; object-fit:contain; }
.brand-title { display:block; color:var(--aa-blue-dark); font-weight:800; font-size:1.06rem; line-height:1.1; }
.brand-subtitle { display:block; color:var(--muted); font-size:.84rem; margin-top:.15rem; }
.nav-toggle { display:none; border:0; background:transparent; padding:.55rem; cursor:pointer; color:var(--aa-blue-dark); }
.nav-toggle span { display:block; width:28px; height:3px; margin:5px 0; background:currentColor; border-radius:3px; }
.site-nav ul { display:flex; list-style:none; gap:1.65rem; margin:0; padding:0; }
.site-nav a { text-decoration:none; color:var(--aa-blue-dark); font-weight:700; font-size:.96rem; }
.site-nav a:hover, .site-nav a:focus { color:#0060c9; }
.section, #newcomers { scroll-margin-top: 105px; }
.hero { background:linear-gradient(180deg,#ffffff 0%,#f4f9ff 100%); border-bottom:1px solid var(--line); }
.hero-inner { max-width:var(--max); margin:0 auto; padding:3.6rem 1.25rem 3.1rem; display:grid; grid-template-columns:minmax(390px,.88fr) 1.12fr; gap:2.2rem; align-items:center; }
.hero-content { max-width:560px; }
.hero h1 { margin:0 0 .5rem; color:var(--aa-blue-dark); font-size:clamp(2.3rem,5vw,4.85rem); line-height:.98; letter-spacing:-.05em; }
.hero .tagline { font-size:clamp(1.25rem,2vw,1.7rem); color:var(--aa-blue); margin:0 0 1.8rem; font-weight:650; }
.hero-details { display:grid; gap:1rem; margin-bottom:1.8rem; }
.detail-row { display:grid; grid-template-columns:38px 1fr; align-items:start; gap:.95rem; font-size:1.05rem; }
.detail-row .icon { color:var(--aa-blue); width:34px; height:34px; display:grid; place-items:center; background:var(--aa-blue-soft); border-radius:50%; }
.detail-row strong { color:var(--aa-blue-dark); }
.detail-row span { display:block; color:var(--muted); }
.hero-visual { min-height:425px; border-radius:28px; overflow:hidden; box-shadow:var(--shadow); border:1px solid #d2e2f2; background:#eaf7ff; }
.hero-visual img { width:100%; height:100%; object-fit:cover; }
.cta-row { display:flex; flex-wrap:wrap; gap:.75rem; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:.55rem; min-height:50px; padding:.82rem 1.25rem; border-radius:12px; border:2px solid var(--aa-blue); background:var(--aa-blue); color:#fff; text-decoration:none; font-weight:800; box-shadow:0 8px 20px rgba(0,53,122,.18); }
.button.secondary { background:#fff; color:var(--aa-blue-dark); box-shadow:none; }
.button:hover,.button:focus { transform:translateY(-1px); }
.button:focus-visible,a:focus-visible,button:focus-visible { outline:3px solid #72a9ff; outline-offset:3px; }
main { background:#fff; }
.section { padding:3.2rem 1.25rem; }
.section-inner { max-width:var(--max); margin:0 auto; }
.grid-three { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.55rem; box-shadow:0 10px 30px rgba(0,35,92,.06); }
.card h2,.card h3 { color:var(--aa-blue-dark); margin:0 0 .75rem; line-height:1.12; }
.card p { margin:.65rem 0; }
.badge-list { list-style:none; margin:1rem 0 0; padding:0; display:grid; gap:.55rem; }
.badge-list li { display:flex; gap:.55rem; align-items:flex-start; }
.badge-list li::before { content:'✓'; color:#127a3f; font-weight:900; }
.details-block { border-top:1px solid var(--line); padding-top:1rem; margin-top:1rem; }
.details-block summary { cursor:pointer; color:var(--aa-blue); font-weight:900; }
.details-block p { margin:.8rem 0 0; color:#24344a; }
.small-print { font-size:.88rem; color:var(--muted); }
.meeting-section { background:linear-gradient(180deg,#fff,var(--aa-blue-pale)); }
.section-title { color:var(--aa-blue-dark); font-size:clamp(2rem,3vw,3rem); line-height:1.05; margin:0 0 .7rem; letter-spacing:-.035em; }
.section-lead { color:var(--muted); max-width:830px; margin:0 0 1.6rem; font-size:1.1rem; }
.location-photos { display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; margin:1.2rem 0 1.25rem; }
.figure-card { overflow:hidden; border-radius:18px; background:#fff; border:1px solid var(--line); box-shadow:0 10px 30px rgba(0,35,92,.08); margin:0; }
.figure-card img { width:100%; height:330px; object-fit:cover; }
.figure-card figcaption { padding:.85rem 1rem; color:var(--aa-blue-dark); font-weight:800; }
.meeting-info-panel { display:flex; justify-content:space-between; gap:1.2rem; align-items:center; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.4rem; box-shadow:0 10px 30px rgba(0,35,92,.06); }
.meeting-info-panel h3 { color:var(--aa-blue-dark); margin:.1rem 0 .4rem; font-size:1.35rem; }
.meeting-info-panel p { margin:.35rem 0; color:#22324a; }
.meeting-panel-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.7rem; }
.serenity-band { background:#fbf7ef; }
.serenity-wrap { display:grid; grid-template-columns:.78fr 1fr; gap:2rem; align-items:center; }
.serenity-image { border-radius:18px; box-shadow:var(--shadow); overflow:hidden; background:#f7ead1; justify-self:center; max-width:360px; }
.serenity-copy h2 { color:var(--aa-blue-dark); font-size:clamp(1.8rem,3vw,2.8rem); margin:0 0 .8rem; }
.contact-section { background:var(--aa-blue-dark); color:#fff; }
.contact-section .section-title,.contact-section h2,.contact-section h3 { color:#fff; }
.contact-section .section-lead { color:#d8e9ff; }
.contact-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.4rem; }
.contact-actions .button.secondary { border-color:#fff; background:transparent; color:#fff; }
.resource-card { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); border-radius:18px; padding:1.25rem; margin-top:1.6rem; }
.resource-card a { color:#fff; font-weight:800; }
.privacy-page .section-inner { max-width:900px; }
.privacy-page h1 { margin-bottom:1rem; }
.privacy-card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:2rem; box-shadow:0 10px 30px rgba(0,35,92,.06); }
.privacy-card h2 { color:var(--aa-blue-dark); margin:1.6rem 0 .55rem; }
.privacy-card h2:first-of-type { margin-top:.4rem; }
.privacy-card p, .privacy-card li { color:#24344a; }
.site-footer { background:#001944; color:#d9e7ff; padding:1.4rem 1.25rem; }
.footer-inner { max-width:var(--max); margin:0 auto; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-size:.92rem; }
.footer-inner a { color:#fff; }
.sticky-mobile-contact { display:none; }
@media (max-width:980px) {
  .hero-inner { grid-template-columns:1fr; gap:1.5rem; padding-top:2.5rem; }
  .hero-visual { min-height:310px; }
  .grid-three { grid-template-columns:1fr; }
  .location-photos { grid-template-columns:1fr; }
  .figure-card img { height:320px; }
  .meeting-info-panel { flex-direction:column; align-items:flex-start; }
  .meeting-panel-actions { justify-content:flex-start; }
}
@media (max-width:900px) {
  .nav-toggle { display:block; }
  .site-nav { position:absolute; inset:84px 1rem auto 1rem; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); padding:1rem; display:none; }
  .site-nav.is-open { display:block; }
  .site-nav ul { flex-direction:column; gap:.5rem; }
  .site-nav a { display:block; padding:.75rem; }
  .brand-title { font-size:.98rem; }
  .brand-subtitle { display:none; }
  .cta-row .button { width:100%; }
  .section { padding:3rem 1.1rem; }
  .sticky-mobile-contact { position:sticky; bottom:0; z-index:40; display:grid; grid-template-columns:repeat(4,1fr); background:#fff; border-top:1px solid var(--line); box-shadow:0 -6px 22px rgba(0,35,92,.12); }
  .sticky-mobile-contact a { display:flex; flex-direction:column; align-items:center; gap:.18rem; padding:.6rem .3rem; text-decoration:none; font-size:.72rem; color:var(--aa-blue-dark); font-weight:800; }
}
@media (max-width:520px) {
  html { scroll-padding-top:84px; }
  .header-inner { min-height:72px; }
  .brand img { width:46px; height:46px; }
  .site-nav { inset:72px .75rem auto .75rem; }
  .hero-inner { padding:2rem 1.1rem 2.2rem; }
  .hero h1 { font-size:2.35rem; }
  .hero-visual { min-height:210px; border-radius:18px; }
  .detail-row { font-size:1rem; grid-template-columns:32px 1fr; }
  .button { min-height:48px; }
  .figure-card img { height:245px; }
  .privacy-card { padding:1.25rem; }
}
