/* Design B: all rules belong to this page component; the native header/footer are retained. */
.aam-gb { --gb-ink:#004b66; --gb-orange:#ff8d00; --gb-text:#52636d; --gb-line:#c4e0e7; color:var(--gb-text); background:#fff; font:16px/1.65 Arial,Helvetica,sans-serif; width:100%; }
.aam-gb *, .aam-gb *::before, .aam-gb *::after { box-sizing:border-box; }
.aam-gb [hidden] { display:none; }
.aam-gb h1,.aam-gb h2,.aam-gb h3 { margin:0; color:var(--gb-ink); font-family:Montserrat,Arial,sans-serif; font-weight:700; line-height:1.2; letter-spacing:-.025em; text-transform:none; }
.aam-gb h1 { font-size:clamp(34px,3.6vw,49px); font-weight:800; }
.aam-gb h2 { font-size:clamp(27px,2.8vw,36px); }
.aam-gb h3 { font-size:22px; }
.aam-gb p,.aam-gb figure { margin:0; }
.aam-gb a { color:var(--gb-ink); text-underline-offset:.22em; }
.aam-gb button { font:inherit; cursor:pointer; }
.aam-gb :focus-visible { outline:3px solid #00788a; outline-offset:4px; }
.aam-gb img { display:block; width:100%; height:auto; }
.aam-gb .gb-wrap { width:min(100% - 64px,1320px); margin-inline:auto; }
.aam-gb .gb-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; font-size:14px; padding-block:18px 10px; background:#fff; }
.aam-gb .gb-breadcrumb a { font-weight:400; text-decoration:underline; }
.aam-gb .gb-hero { padding-block:26px 54px; }
.aam-gb .gb-intro { max-width:840px; margin-inline:auto; text-align:center; }
.aam-gb .gb-eyebrow { display:flex; align-items:center; gap:10px; color:var(--gb-ink); font:800 12px/1.5 Montserrat,Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; margin-bottom:17px; }
.aam-gb .gb-eyebrow::before { content:''; height:3px; width:26px; background:var(--gb-orange); flex:none; }
.aam-gb .gb-intro .gb-eyebrow { justify-content:center; }
.aam-gb .gb-intro>p:last-child { font-size:18px; line-height:1.7; margin:22px auto 0; max-width:590px; }
.aam-gb .gb-albums { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:38px; }
.aam-gb .gb-album { display:block; border:1px solid var(--gb-line); border-radius:8px; background:#fff; overflow:hidden; text-decoration:none; }
.aam-gb .gb-album:hover { border-color:#00788a; background:#f3fbfc; }
.aam-gb .gb-cover { display:grid; grid-template-columns:1.3fr 1fr; gap:7px; padding:8px; align-items:center; }
.aam-gb .gb-cover img { aspect-ratio:1; object-fit:cover; border-radius:4px; }
.aam-gb .gb-album-copy { display:block; padding:24px; }
.aam-gb .gb-album-copy h2 { font-size:26px; margin-bottom:10px; }
.aam-gb .gb-album-copy>span { color:var(--gb-text); font-size:14px; }
.aam-gb .gb-album-copy strong { display:block; font-size:14px; margin-top:20px; }
.aam-gb .gb-gallery-section { padding-block:64px; background:linear-gradient(180deg,#f3fbfc,#e8f6f9); scroll-margin-top:var(--gb-header-height,0px); }
.aam-gb .gb-gallery-intro { margin-top:16px; max-width:720px; }
.aam-gb .gb-filters { display:flex; flex-wrap:wrap; gap:8px; margin-block:26px; }
.aam-gb .gb-filters button { border:1px solid var(--gb-line); background:#fff; border-radius:30px; min-height:44px; padding:8px 20px; font-size:14px; font-weight:700; color:var(--gb-ink); }
.aam-gb .gb-filters button[aria-pressed=true] { background:var(--gb-ink); color:#fff; border-color:var(--gb-ink); }
.aam-gb .gb-count { font-size:14px; margin-block:20px; }
.aam-gb .gb-photos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 24px; }
.aam-gb .gb-photo { min-width:0; }
.aam-gb .gb-photo-link { display:block; border-radius:7px; }
.aam-gb .gb-photo img { aspect-ratio:1; object-fit:cover; border-radius:7px; }
.aam-gb .gb-photo figcaption { padding-top:14px; font-size:14px; line-height:1.6; }
.aam-gb .gb-source { color:var(--gb-ink); font-weight:700; font-size:12px; overflow-wrap:anywhere; }
.aam-gb .gb-photo figcaption p { margin-block:8px; }
.aam-gb .gb-photo figcaption a { font-weight:700; text-decoration:underline; }
.aam-gb .gb-load-area { text-align:center; margin-top:34px; }
.aam-gb .gb-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; background:var(--gb-orange); border:1px solid var(--gb-orange); color:#00384d; font-size:14px; font-weight:700; text-decoration:none; border-radius:5px; padding:12px 19px; }
.aam-gb .gb-button:hover { background:#ffac45; border-color:#ffac45; }
.aam-gb .gb-button[aria-disabled=true] { background:#fff; border-color:var(--gb-line); cursor:default; }
.aam-gb .gb-secondary { background:#fff; border-color:var(--gb-line); }
.aam-gb .gb-instagram { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:32px; border-top:1px solid var(--gb-line); margin-top:42px; }
.aam-gb .gb-instagram p { font-size:14px; margin-top:8px; overflow-wrap:anywhere; }
.aam-gb .gb-closing { background:var(--gb-ink); color:#d8eef3; padding-block:48px; }
.aam-gb .gb-closing .gb-wrap { display:flex; align-items:center; justify-content:space-between; gap:34px; }
.aam-gb .gb-closing h2 { color:#fff; font-size:clamp(26px,2.8vw,34px); }
.aam-gb .gb-closing p { margin-top:12px; }
.aam-gb .gb-closing .gb-button { flex-shrink:0; }
.aam-gb .gb-viewer { width:min(100% - 28px,1000px); max-height:calc(100dvh - 28px); border:0; border-radius:10px; padding:0; color:var(--gb-ink); background:#fff; overscroll-behavior:contain; }
.aam-gb .gb-viewer::backdrop { background:rgb(0 30 42 / .85); }
html:has(.gb-viewer[open]) { overflow:hidden; }
.aam-gb .gb-viewer header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:14px 20px; border-bottom:1px solid var(--gb-line); }
.aam-gb .gb-viewer h2 { font-size:18px; }
.aam-gb .gb-viewer button { border:1px solid var(--gb-line); background:#fff; border-radius:5px; min-height:44px; min-width:44px; padding:8px 14px; font-weight:700; color:var(--gb-ink); }
.aam-gb .gb-viewer-image { max-height:55dvh; object-fit:contain; background:#edf4f6; }
.aam-gb .gb-viewer figcaption { padding:20px; font-size:14px; }
.aam-gb .gb-viewer-caption { white-space:pre-line; overflow-wrap:anywhere; margin-bottom:14px; }
.aam-gb .gb-original { text-decoration:underline; font-weight:700; }
.aam-gb .gb-viewer nav { display:flex; justify-content:center; align-items:center; gap:20px; padding:0 20px 20px; }
@media(min-width:1500px) { .aam-gb .gb-wrap { width:min(100% - 96px,1452px); } }
@media(max-width:760px) {
    .aam-gb .gb-wrap { width:calc(100% - 36px); }
    .aam-gb .gb-hero { padding-block:24px 36px; }
    .aam-gb .gb-intro>p:last-child { font-size:17px; }
    .aam-gb .gb-albums { grid-template-columns:1fr; gap:16px; margin-top:28px; }
    .aam-gb .gb-album { display:grid; grid-template-columns:1fr 1.05fr; align-items:center; }
    .aam-gb .gb-album-copy { padding:16px; }
    .aam-gb .gb-album-copy h2 { font-size:22px; }
    .aam-gb .gb-album-copy strong { margin-top:9px; }
    .aam-gb .gb-gallery-section { padding-block:40px; }
    .aam-gb .gb-photos { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 16px; }
    .aam-gb .gb-closing .gb-wrap,.aam-gb .gb-instagram { flex-direction:column; align-items:flex-start; }
    .aam-gb .gb-closing .gb-button { width:100%; }
}
@media(max-width:539px) { .aam-gb .gb-photos { grid-template-columns:1fr; } }
