/* Page-specific editorial system. Shared navigation and SSA pages stay unchanged. */
.am-page { --am-body:clamp(1.0625rem,1rem + .16vw,1.25rem); --am-heading:clamp(1.85rem,1.5rem + .65vw,2.7rem); --am-paper:#fffdfa; --am-blue:#29235f; --am-border:#ded8e7; font-size:var(--am-body); line-height:1.7; background:radial-gradient(ellipse 70% 800px at 100% 0,#d6cce6,transparent),linear-gradient(#f1edf5 0,#f7f5f1 1000px); }
.am-page .cma-shell { width:min(90%,1440px); }
.am-page .am-hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px clamp(32px,4vw,64px); align-items:start; padding-block:64px 56px; }
.am-hero-copy { max-width:62ch; }
.am-page .am-hero h1 { max-width:16ch; font-size:clamp(2.6rem,1.5rem + 2.4vw,4.7rem); line-height:1.04; margin-block:22px 28px; }
.am-hero-copy::after { content:""; display:block; width:76px; height:5px; margin-top:28px; background:#a03247; border-radius:3px; }
.am-page .am-hero-copy p:not(.cma-kicker) { font-size:1em; line-height:inherit; margin-top:1.1em; color:#37314e; }
.am-context { grid-column:1; max-width:62ch; }
.am-page .am-context p { color:#484152; }
.am-page .am-context p:first-child { margin-top:0; }
.am-page .am-context p:last-child { color:var(--am-blue); font-weight:600; }
.am-photo { margin:0; }
.am-photo img { display:block; width:100%; height:auto; border-radius:8px; }
.am-hero-photo { grid-column:2; grid-row:1 / span 2; align-self:center; width:100%; padding:12px; background:var(--am-paper); border:1px solid #fff; border-radius:14px; box-shadow:14px 18px 0 #d6cde2,0 28px 50px #211d5020; }
.am-photo figcaption { padding:18px 10px 8px; color:#585265; font-size:.88em; line-height:1.5; }
.am-caption-main { border-left:3px solid #a03247; padding-left:14px; }
.am-caption-main strong,.am-caption-main span,.am-caption-person strong,.am-caption-person span { display:block; }
.am-caption-main strong { color:var(--cma-ink); font-size:1.08em; font-weight:650; margin-bottom:3px; }
.am-caption-meta { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:12px 20px; margin-top:18px; padding-top:14px; border-top:1px solid var(--am-border); font-size:clamp(.875rem,.83rem + .1vw,1rem); line-height:1.5; }
.am-caption-person { flex:1 1 230px; }
.am-caption-person strong { color:#403b4c; font-weight:600; }
.am-photo-credit { flex:0 0 auto; font-weight:400; color:#625c6e; }
.am-reading { padding-bottom:40px; }
.am-contents { padding:24px 28px; background:var(--am-blue); border:1px solid #514879; border-radius:12px; box-shadow:0 12px 24px #211d5018; }
.am-page .am-contents-title { margin:0 0 14px; font-size:.88em; color:#e4d9ef; }
.am-contents ol { display:flex; flex-wrap:wrap; gap:10px; list-style:none; margin:0; padding:0; }
.am-contents a { display:flex; align-items:center; min-height:44px; padding:10px 18px; color:#fff; background:#ffffff0c; border:1px solid #9285ae; border-radius:6px; text-decoration:none; font-size:.95em; font-weight:600; line-height:1.4; transition:background .18s,border-color .18s; }
.am-contents a:hover { color:#fff; border-color:#d898ab; background:#95334f; }
.am-page a:focus-visible { outline:3px solid #b75069; outline-offset:5px; }
.am-story { display:grid; gap:48px; padding-top:56px; }
.am-section { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:clamp(28px,4vw,64px); align-items:start; padding:clamp(24px,3vw,44px); background:var(--am-paper); border:1px solid var(--am-border); border-radius:14px; box-shadow:0 14px 30px #29235f08; }
.am-page .am-section h2 { font-size:var(--am-heading); line-height:1.14; max-width:22ch; }
.am-section > h2,.am-section-visual h2 { margin:0; padding:30px 26px 34px; color:#fff; background:linear-gradient(135deg,#29235f,#453665); border-radius:8px 8px 36px 8px; border-top:5px solid #b74662; box-shadow:0 12px 22px #29235f18; }
.am-section > h2 { position:sticky; top:130px; align-self:start; }
.am-copy { min-width:0; max-width:68ch; }
.am-page .am-copy > p:first-child { margin-top:0; color:#211d50; font-weight:550; }
.am-page .am-copy p { max-width:none; margin-top:1em; color:#403b4c; }
.am-page .am-copy h3 { font-size:clamp(1.18rem,1.07rem + .25vw,1.5rem); line-height:1.35; letter-spacing:-.02em; margin-top:1.8em; padding-top:24px; border-top:1px solid #e4dce8; color:#90334a; }
.am-page .am-copy h3 + p { margin-top:.65em; }
.am-section-visual .am-photo { margin-top:28px; background:var(--am-paper); padding:8px; border:1px solid var(--am-border); border-radius:10px; box-shadow:0 12px 24px #211d5014; }
.am-section-visual .am-photo figcaption { padding:12px 8px 6px; }
.am-page .cma-join { background:linear-gradient(110deg,#29235f,#49345e); border:1px solid #554475; border-radius:14px; box-shadow:0 18px 32px #211d501c; }
.am-page .cma-join h2 { font-size:var(--am-heading); color:#fff; }
.am-page .cma-join .cma-kicker { color:#f1adbf; }
.am-page .cma-join .cma-button { background:#fffdfa; color:#29235f!important; border-color:#fffdfa; border-radius:6px; }
.am-page .cma-join .cma-button:hover { background:#ece6f5; }
.am-page .am-related { margin-top:28px; max-width:1440px; font-size:.94em; }
.am-related a { display:inline-flex; align-items:center; gap:14px; text-underline-offset:5px; }
@media(max-width:1000px) {
  .am-page .am-hero { gap:28px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .am-hero-photo { grid-row:1; }
  .am-context { grid-column:1 / -1; max-width:68ch; }
  .am-section { grid-template-columns:1fr; gap:28px; }
  .am-section > h2 { position:static; }
  .am-section-visual { display:grid; grid-template-columns:1fr; gap:28px; align-items:start; }
  .am-section-visual .am-photo { margin:0 auto; width:min(100%,300px); }
}
@media(max-width:700px) {
  .am-page .cma-shell { width:calc(100% - 40px); }
  .am-page .am-hero { grid-template-columns:1fr; padding-block:32px 40px; gap:32px; }
  .am-page .am-hero h1 { font-size:clamp(2.6rem,10vw,3.5rem); }
  .am-hero-photo { grid-column:1; grid-row:auto; width:100%; padding:8px; box-shadow:6px 8px 0 #d6cde2,0 14px 24px #211d5018; }
  .am-photo figcaption { padding:16px 6px 8px; }
  .am-contents { padding:20px 16px; }
  .am-contents ol { gap:8px; }
  .am-contents a { padding:10px 12px; }
  .am-story { gap:28px; padding-top:32px; }
  .am-section { grid-template-columns:1fr; gap:24px; padding:24px 18px; border-radius:10px; }
  .am-section > h2,.am-section-visual h2 { padding:24px 20px; border-radius:6px 6px 24px 6px; }
  .am-section-visual { display:grid; grid-template-columns:1fr; gap:24px; }
  .am-section-visual .am-photo { margin:0 auto; width:min(100%,330px); }
  .am-page .am-section h2 { max-width:24ch; font-size:1.85rem; }
  .am-page .cma-join { padding:28px 20px; }
  .am-reading { padding-bottom:28px; }
}

/* Editorial revision: full-width headings, continuous reading, no side panels. */
.am-page .am-hero { align-items:center; }
.am-hero-photo { grid-row:auto; }
.am-hero-copy::after { content:none; }
.am-caption-main { border:0; padding:0; }
.am-caption-meta { border:0; margin-top:12px; padding-top:0; gap:8px; }
.am-contents { background:#fffdfa; border-color:var(--am-border); box-shadow:0 8px 24px #211d5008; }
.am-page .am-contents-title { color:#625c6e; }
.am-contents a { color:var(--am-blue); background:#f1edf5; border-color:var(--am-border); font-weight:500; }
.am-section { display:block; padding:clamp(24px,3vw,44px) 0; background:transparent; border:0; border-radius:0; box-shadow:none; border-top:1px solid var(--am-border); scroll-margin-top:24px; }
.am-page .am-section h2 { display:flex; align-items:center; gap:16px; position:static; max-width:none; margin:0 0 30px; padding:0; color:var(--am-blue); background:none; border:0; border-radius:0; box-shadow:none; }
.am-icon { width:32px; height:32px; flex:0 0 32px; color:#a03247; }
.am-copy { max-width:78ch; }
.am-page #soins .am-copy { max-width:none; }
.am-context { max-width:78ch; }
.am-page .am-context p:last-child { font-weight:400; }
.am-topics { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,5vw,72px); }
.am-topic { margin-top:32px; border-top:1px solid var(--am-border); padding-top:24px; }
.am-page .am-topic h3 { border:0; padding:0; margin:0 0 16px; }
#terrain { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:0 clamp(32px,5vw,72px); }
#terrain > h2 { grid-column:1 / -1; }
.am-section-visual { display:block; }
.am-section-visual .am-photo { width:100%; max-width:440px; margin:0; padding:0; border:0; box-shadow:none; background:transparent; }
.am-section-visual .am-photo figcaption { padding:12px 0 0; }
@media(max-width:1000px) {
 .am-topics { gap:32px; }
}
@media(max-width:700px) {
 .am-topics,#terrain { display:block; }
 .am-page .am-section h2 { font-size:1.65rem; gap:12px; margin-bottom:24px; }
 .am-icon { width:28px; height:28px; flex-basis:28px; }
 .am-section-visual .am-photo { width:100%; max-width:440px; margin:0 auto 28px; }
 .am-section { padding:28px 0; }
 .am-story { gap:8px; }
 .am-hero-photo { grid-column:auto; }
}
.am-page .am-section h2{gap:12px;align-items:center}
.am-page .am-section .am-icon{width:44px;height:44px;flex:0 0 44px;padding:6px;box-sizing:border-box;color:#a73550}

/* Keep the directory entry visible without loading the map on the editorial page. */
.am-page .am-directory-cta{margin-top:28px;border-radius:8px;min-height:52px;max-width:100%;font-size:.9em}
@media(max-width:700px){.am-directory-cta svg{width:20px}}
