/* Astro-specific usability and responsive refinements. */
.service-categories{display:flex;gap:20px;flex-wrap:wrap;margin:35px 0}.marsh-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.marsh-service-grid h3{margin-top:0}.tour-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.tour-grid img{width:100%;height:170px;object-fit:cover}.tour-grid a{display:block}.tour-grid a[aria-current=true]{outline:3px solid #99741f;outline-offset:3px}#tour-viewer{max-width:1000px;margin:0 auto 40px;scroll-margin-top:30px}#tour-photo{width:100%;height:min(65vh,640px);object-fit:contain;background:#f5f3ed}.tour-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px}.tour-controls p{margin:0;text-align:center}@media(max-width:767px){.marsh-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-grid img{height:130px}.tour-controls .btn{padding:10px;font-size:12px}}@media(max-width:450px){.marsh-service-grid{grid-template-columns:1fr}}
.marsh-resource-article{max-width:1050px;margin:auto}.marsh-resource-article .breeds-hero-image img{width:100%;max-width:800px}.marsh-breed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.marsh-breed-grid .card{overflow:hidden}.marsh-breed-grid a{display:block;height:100%}.marsh-breed-image img{width:100%;height:210px;object-fit:cover}.marsh-breed-grid h2{margin:0 0 16px}@media(max-width:900px){.marsh-breed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575px){.marsh-breed-grid{grid-template-columns:1fr}}
.marsh-services-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:45px}.marsh-services-layout>*,.marsh-service-article{min-width:0}.marsh-service-article{font-size:18px;line-height:1.75;overflow-wrap:break-word}.marsh-service-article img{display:block;max-width:100%;height:auto;margin:28px auto;border-radius:5px}.marsh-service-article iframe{max-width:100%}.marsh-service-article h2,.marsh-service-article h3{margin-top:32px}.marsh-service-article li{margin-bottom:10px}.marsh-services-layout .card{margin-bottom:24px}.marsh-services-layout a[aria-current=page]{font-weight:bold;text-decoration:underline}@media(max-width:991px){.marsh-services-layout{grid-template-columns:1fr}.marsh-service-article{font-size:16px}}
.marsh-about{max-width:1050px;margin:0 auto 32px;font-size:18px;line-height:1.7;display:flow-root}.marsh-about h2,.marsh-about .about-eyebrow,.marsh-about .service-highlight-section{clear:both;padding-top:24px}.marsh-about img{float:right;width:42%;max-width:430px;margin:0 0 28px 32px;border-radius:6px}.about-eyebrow{font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:14px}.marsh-contact-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:60px}.marsh-contact-grid iframe{width:100%;max-width:100%;border:0;margin-bottom:28px}.marsh-contact-grid input,.marsh-contact-grid textarea{display:block;width:100%;max-width:100%;padding:12px;border:1px solid #85877a;border-radius:4px;margin:5px 0 20px;background:#fff;color:#252821}.marsh-contact-grid label{font-weight:600}.contact-fallback{margin-top:24px;overflow-wrap:anywhere}.contact-hours{list-style:none;padding:0;line-height:2}.marsh-contact-grid input:focus-visible,.marsh-contact-grid textarea:focus-visible{outline:3px solid #99741f;outline-offset:2px}@media(max-width:767px){.marsh-contact-grid{grid-template-columns:1fr;gap:40px}.marsh-about img{float:none;width:100%;max-width:100%;margin:0 0 20px}.marsh-about{font-size:16px}}
.staff-breadcrumbs{margin-bottom:30px;line-height:1.8;overflow-wrap:anywhere}.staff-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:40px}.staff-profile-layout .main-content,.staff-profile-layout #sidebar{width:100%;min-width:0}.staff-profile-layout .card{margin-bottom:24px}.staff-profile-layout a[aria-current=page]{font-weight:700;text-decoration:underline}.marsh-directory .member-card .img-block{max-width:100%}.marsh-directory .member-card h2{margin-top:20px}.staff-profile-layout .body-text{overflow-wrap:break-word}@media(max-width:991px){.staff-profile-layout{grid-template-columns:1fr}.staff-profile-layout #sidebar{margin-top:20px}}@media(max-width:600px){.staff-breadcrumbs{font-size:14px}.marsh-profile .member-img{max-width:420px}.marsh-filter a{padding:9px 12px}}
.hero-slider{position:relative}.glide{position:relative}.ownership-details summary{cursor:pointer;display:list-item;list-style-position:inside;width:fit-content}.ownership-details[open] summary{margin-bottom:24px}.partners-section .img-holder img{object-fit:contain}.team-slider .photo img{object-fit:cover;width:100%;height:100%}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #99741f;outline-offset:4px}.glide:not(.glide--carousel) .glide__slides{display:flex;overflow-x:auto;white-space:normal}.glide:not(.glide--carousel) .glide__slide{min-width:280px;flex:0 0 32%}.hero-slider:not(.glide--carousel) .glide__slide,.testimonial-slider:not(.glide--carousel) .glide__slide{flex-basis:100%}.glide:not(.glide--carousel) .glide__arrows{display:none}
@media(max-width:575px){.glide:not(.glide--carousel) .glide__slide{flex-basis:100%}.testimonials-section .right{padding-right:24px;padding-left:24px}.hero-slider .text-holder{padding-bottom:65px}}

/* Blog pages share the site's cards, typography and responsive spacing. */
.marsh-blog-filters { display:flex; flex-wrap:wrap; gap:1rem; margin-bottom:2rem; }
.marsh-blog-filters a { padding:.6rem 1rem; border:1px solid currentColor; border-radius:4px; }
.marsh-blog-filters a[aria-current="page"] { background:#2b3127; color:#fff; }
.marsh-blog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.marsh-blog-grid .card { overflow:hidden; }
.marsh-blog-grid img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.marsh-blog-grid .card-body { padding:1.5rem; }
.marsh-blog-hero { display:block; width:100%; max-height:560px; object-fit:cover; margin:0 auto 2rem; }
.marsh-blog-article { max-width:900px; margin:0 auto 2rem; overflow-wrap:anywhere; }
@media(max-width:767px) { .marsh-blog-grid { grid-template-columns:1fr; } }
