/* About-page styles; shared with the core block editor. No home-page rules. */
.about-page { padding-block:40px 44px; }
.about-page-heading { text-align:center; padding:0 0 54px; }
.about-page-heading::before { content:""; display:block; width:138px; height:102px; margin:0 auto 4px; background-color:#9397a4; -webkit-mask:url('plum-heading.svg') center / contain no-repeat; mask:url('plum-heading.svg') center / contain no-repeat; }
.about-page-heading h1 { margin:0; color:#222; font:26px/1.6 var(--serif,serif); }
.about-content { color:#55585e; line-height:1.85; }
.about-band { margin:0 0 30px; padding:12px 16px; background:#dcdde2; color:#49536f; text-align:center; font:27px/1.5 var(--serif,serif); }
.about-message { display:flow-root; }
.about-message p { margin:0 0 24px; overflow-wrap:anywhere; }
.about-portrait { float:right; width:33%; margin:0 0 22px 36px; }
.about-portrait img { display:block; width:100%; height:auto; }
.about-message .about-salutation { margin-right:calc(33% + 36px); padding-bottom:3px; border-bottom:1px solid #49536f; font:23px/1.6 var(--serif,serif); }
.about-message .about-signature { clear:both; margin:30px 0; text-align:right; font-weight:700; font-size:16px; }
.about-outline-band { background:#e2e7dd; color:#596a46; margin-top:0; }
.about-business { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; align-items:start; }
.about-business > .wp-block-group__inner-container { display:contents; }
.about-business > *, .about-business > .wp-block-group__inner-container > * { min-width:0; }
.about-business h3 { margin:0; padding:10px; text-align:center; border-block:1px solid #6c7383; color:#49536f; font-size:16px; line-height:1.7; }
.about-business .wp-block-table { margin:0 0 26px; overflow-x:visible; }
.about-business table { border-collapse:collapse; width:100%; table-layout:fixed; font-size:14px; line-height:1.8; }
.about-business th,.about-business td { padding:10px 8px; border:0; border-bottom:1px solid #89909c; text-align:left; overflow-wrap:anywhere; vertical-align:middle; }
.about-business th:first-child,.about-business td:first-child { width:32%; font-weight:700; color:#49536f; }
.about-business thead th { background:#f4f5f1; }
.about-business figcaption { margin-top:6px; color:#55585e; font-size:12px; }
.about-release-block { padding:14px; border-left:4px solid #8a5424; background:#fbf3e7; color:#67401b; font-size:13px; }
.about-access, .about-access > .wp-block-group__inner-container, .about-map, .about-map > .wp-block-group__inner-container, .about-map .wp-block-html { min-width:0; max-width:100%; }
.about-map .wp-block-html { width:100%; }
.about-map { margin:16px 0 24px; padding:0; border:0; background:none; text-align:center; }
.about-map iframe { display:block; width:min(100%,600px); min-width:0; max-width:100%; height:auto; aspect-ratio:4/3; margin:0 auto; border:0; }
.about-map p { margin:12px 0; overflow-wrap:anywhere; }
.about-map a,.about-back-top a { text-decoration:underline; text-underline-offset:4px; }
.about-map a { display:inline-block; padding:12px; color:#435334; }
.about-map a:focus-visible,.about-back-top a:focus-visible { outline:3px solid #49536f; outline-offset:3px; }
.about-consultation { font:24px/1.6 var(--serif,serif); color:#49536f; }
.about-back-top { margin:40px 0 0; text-align:center; }
.about-back-top a { display:inline-block; padding:12px; color:#596a46; }
#message,#outline,#qualification,#access { scroll-margin-top:20px; }
@media(max-width:700px) {
    .about-page { padding-block:28px 30px; }
    .about-page-heading { padding-bottom:30px; }
    .about-page-heading::before { width:104px; height:78px; }
    .about-page-heading h1 { font-size:23px; }
    .about-content { font-size:15px; line-height:1.95; }
    .about-band { font-size:23px; padding:10px 12px; margin-bottom:22px; }
    .about-portrait { float:none; width:min(100%,330px); margin:0 auto 24px; }
    .about-message .about-salutation { margin-right:0; font-size:20px; }
    .about-business { grid-template-columns:1fr; gap:28px; }
    .about-consultation { font-size:21px; }
    .about-back-top { margin-top:24px; }
}
