/* Readability and responsive refinements shared by the six public pages.
   Load after the original layout and clay theme stylesheets. */
:root {
  --reading-size: clamp(.9375rem, .89rem + .18vw, 1rem);
  --reading-ink: #34463b;
}

html { scroll-padding-top: 112px; }
body { line-height: 1.8; }
.skip-link { z-index: 100; }
:focus-visible { outline: 3px solid #a5375c; outline-offset: 4px; }
.site-header { position: sticky; top: 0; z-index: 30; }
.header-inner, .brand, .brand-copy, .brand-name,
.hero-panel, .page-hero-copy, .page-hero-art,
.program-hero-grid > *, .staff-learning-grid > *, .program-events-grid > *,
.contact-layout > *, .contact-inner > *, .facility-profile > div,
.facility-profile dd, .transport-grid dd, .domain-card-head > div,
.disclosure-summary strong, .footer-grid > *, .footer-inner > * { min-width: 0; }
.brand { flex-shrink: 1; }
main p, main dd, main li, main h1, main h2, main h3 { overflow-wrap: anywhere; }
main h1, main h2, main h3 { text-wrap: balance; line-break: strict; }
main p, main dd { line-break: strict; }

.hero-lead, .place-copy > p:not(.section-kicker),
.section-heading > p:last-child, .value-card p,
.contact-copy > p:last-child, .page-hero-copy > p:not(.eyebrow),
.page-section-heading p, .section-heading > p,
.numbered-box p, .values-grid .numbered-box p,
.program-hero-lead, .program-section-heading > p:last-child,
.program-pillar-grid p, .staff-learning-lead,
.domain-card > p, .domain-card details p,
.support-network-grid p, .publication-card p:last-child,
.transport-grid > div > p:last-child, .facility-profile dd,
.transport-grid dd, .faq-list-large details p,
.contact-info p, .contact-info dd, .form-card > p, .contact-callout > p:not(.section-label):not(.contact-phone-number), .contact-preparation p,
.feature-box p, .doc-card p, .notice, .cta-band p,
.manager-message-card > p:not(.manager-signature) {
  color: var(--reading-ink);
  font-size: var(--reading-size);
  line-height: 1.9;
}
.learning-point-list span, .season-list p, .guide-flow-large small,
.form-message, .contact-form label, .disclosure-summary strong {
  font-size: .875rem;
  line-height: 1.8;
}
.learning-point-list strong, .program-facts strong { font-size: .9375rem; }
.program-facts small, .domain-card-head small,
.facility-profile small, .facility-profile dt, .transport-grid dt,
.contact-info dt, .access-phone small, .doc-meta .tag,
.domain-tags li, .profession-band small, .profession-band li {
  font-size: .75rem;
  line-height: 1.65;
}
.about-role-list span { font-size: .75rem; line-height: 1.7; }
.about-role-list li { color: #315d30; }
.about-role-list li:nth-child(1) { color: #315d30; }
.about-role-list li:nth-child(2) { color: #9a405d; }
.about-role-list li:nth-child(3) { color: #156ca6; }
.about-role-list li:nth-child(4) { color: #805513; }
.footer-inner p, .footer-inner nav a, .footer-grid p, .footer-list {
  font-size: .875rem;
  line-height: 1.85;
}
.privacy-note, .copyright { font-size: .75rem; }

/* One rhythm for all eight facility facts. */
.facility-profile {
  grid-auto-rows: 1fr;
  gap: 20px;
}
.facility-profile > div {
  grid-template-columns: 6rem minmax(0, 1fr);
  align-items: baseline;
  align-content: start;
  gap: 20px;
  min-height: 132px;
  padding: 24px;
}
.facility-profile dt {
  margin: 0;
  color: #156ca6;
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.8;
}
.facility-profile dd {
  margin: 0;
  color: var(--reading-ink);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
}
.facility-profile dd strong,
.facility-profile dd a,
.facility-profile dd small { color: inherit; font: inherit; }
.facility-profile dd a { text-decoration: underline; text-underline-offset: 4px; }

/* The complete facility name leads each footer. */
.site-footer .footer-grid {
  grid-template-columns: minmax(0, 1.5fr) minmax(0, .7fr) minmax(0, .9fr);
}
.site-footer .footer-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: 40px;
}
.site-footer .footer-facility-name {
  display: grid;
  gap: 8px;
  margin: 0;
  color: #0e507e;
  font-family: inherit;
  letter-spacing: .01em;
}
.footer-facility-name .footer-service {
  display: block;
  font-size: clamp(1.125rem, 1.8vw, 1.5rem);
  font-weight: 800;
  line-height: 1.7;
}
.footer-facility-name .footer-mebae {
  display: block;
  font-size: clamp(2.25rem, 3.2vw, 2.75rem);
  font-weight: 900;
  line-height: 1.35;
}
.site-footer .footer-brand > p { margin-top: 16px; }

.button, .clay-button { min-height: 47px; font-size: .875rem; text-align: center; }
.doc-actions .button { min-height: 44px; padding: 10px 14px; font-size: .875rem; }
.disclosure-filters[hidden], .disclosure-year-group[hidden] { display: none; }
.clay-disclosure .publication-card { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-block: 32px; padding: 30px; }
.clay-disclosure .publication-card > div { min-width: 0; }
.clay-disclosure .publication-card h2 { margin: 0 0 12px; font-size: 1.5rem; line-height: 1.6; }
.clay-disclosure .publication-card p { margin: 0; }
.clay-disclosure .publication-card .section-label { margin-bottom: 9px; }
.clay-disclosure .publication-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 10px; }
.contact-form input, .contact-form textarea { min-height: 48px; font-size: 1rem; }
.contact-form label > span { color: #9a405d; font-size: .75rem; }

/* Keep small labels readable on the existing clay palette. */
.hero-eyebrow { background: #156ca6; }
.value-number, .season-list span, .domain-card-head > span { color: #172b21; }
.numbered-box .number, .numbered-box:nth-child(2) .number,
.numbered-box:nth-child(3) .number, .values-grid .numbered-box:nth-child(4) .number,
.values-grid .numbered-box:nth-child(5) .number {
  color: #34463b;
  background: #fff8e9;
}
.quick-number { color: #526444; }
.value-number { font-size: .75rem; }

/* The heading uses phrases so a narrow screen can wrap at a meaningful point. */
.hero h1 .hero-line { display: block; font-size: inherit; letter-spacing: inherit; }
.hero h1 .hero-line:first-child { font-size: .68em; letter-spacing: .02em; }
.hero h1 .keep-together { display: inline-block; font-size: inherit; letter-spacing: inherit; white-space: nowrap; }
.hero h1 em { display: inline-block; }
.quick-card strong { font-size: 1rem; line-height: 1.6; text-wrap: balance; }

.home-facts { margin-top: 55px; }
.basic-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
}
.basic-facts > div {
  min-width: 0;
  padding: 22px 20px;
  border: 4px solid #fff;
  border-radius: 23px;
  background: #fff4d8;
  box-shadow: 0 5px 0 #e4cea0, 0 12px 18px #304f3412;
}
.basic-facts > div:nth-child(2) { background: #e7f3dc; }
.basic-facts > div:nth-child(3) { background: #e4f3fa; }
.basic-facts > div:nth-child(4) { background: #ffebe6; }
.basic-facts dt { margin-bottom: 7px; color: #156ca6; font-size: .8125rem; font-weight: 900; }
.basic-facts dd { margin: 0; color: #34463b; font-size: .9375rem; font-weight: 800; line-height: 1.8; }
.basic-facts small { display: block; margin-top: 5px; font-size: .8125rem; font-weight: 500; }
.home-facts + .quick-section { padding-top: 72px; }
.home-facts .button-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 28px; margin-top: 26px; }
.home-facts .text-link { margin: 0; }
.illustration-note { max-width: 1200px; margin: 18px auto 0; padding-inline: 12px; color: #4c6054; font-size: .8125rem; line-height: 1.75; text-align: center; }
.illustration-note a { color: #0e507e; text-decoration: underline; text-underline-offset: 3px; }

.page-jump-nav, .guide-anchor-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding-block: 8px 35px;
}
.page-jump-nav a, .guide-anchor-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 9px 17px;
  border: 2px solid #cfdfb2;
  border-radius: 999px;
  color: #175d84;
  background: #fffaf0;
  box-shadow: 0 3px 0 #cfdfb2;
  font-size: .875rem;
  font-weight: 800;
  text-align: center;
}
.page-jump-nav a:hover, .guide-anchor-nav a:hover { background: #eaf4dd; }
.guide-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.guide-steps > li {
  min-width: 0;
  padding: 25px 21px;
  border: 5px solid #fff;
  border-radius: 25px;
  background: #e5f2d0;
  box-shadow: 0 6px 0 #d9dfc7, 0 14px 19px #304f341c;
}
.guide-steps > li:nth-child(2) { background: #ffe5e4; }
.guide-steps > li:nth-child(3) { background: #fff0c5; }
.guide-steps > li:nth-child(4) { background: #e2f2fa; }
.step-number {
  display: inline-grid;
  place-items: center;
  min-width: 43px;
  min-height: 43px;
  margin-bottom: 15px;
  padding: 3px 9px;
  border: 3px solid #fff;
  border-radius: 15px;
  color: #34463b;
  background: #fffaf0;
  font-weight: 900;
}
.step-body { min-width: 0; }
.step-body h3, .step-body > strong { display: block; margin: 0 0 10px; font-size: 1.0625rem; line-height: 1.6; }
.step-body p, .step-body > small { margin: 0; font-size: var(--reading-size); line-height: 1.9; }

.contact-callout { padding: 27px; background: #e8f3d8; }
.contact-phone, .contact-callout .contact-phone-number {
  display: inline-block;
  max-width: 100%;
  margin-block: 8px;
  padding-block: 5px;
  color: #0e507e;
  font-size: clamp(1.35rem, 3vw, 2rem);
  font-weight: 900;
  letter-spacing: .015em;
  line-height: 1.5;
  white-space: nowrap;
}
.contact-phone:hover, .contact-phone-number a:hover { text-decoration: underline; text-underline-offset: 5px; }
.contact-phone-number a { display: inline-block; padding-block: 5px; }
.contact-hours { margin-top: 9px; color: #42553f; font-size: .875rem; line-height: 1.9; }
.contact-checklist, .contact-preparation ul { display: grid; gap: 12px; margin: 18px 0 0; padding-left: 1.4em; }
.contact-checklist li, .contact-preparation li { padding-left: .15em; font-size: var(--reading-size); line-height: 1.9; }
.contact-checklist li::marker, .contact-preparation li::marker { color: #4f8a43; }
.contact-preparation { margin-top: 24px; padding-top: 22px; border-top: 2px solid #cfdfb2; }
.contact-preparation h3 { margin: 0 0 10px; font-size: 1.0625rem; }
.contact-info dl div { grid-template-columns: 75px minmax(0, 1fr); }

/* Leave the caption a clear area beside the decorative mascot. */
.page-hero-art { padding-bottom: 20px; }
.page-hero-art .mascot { right: -5px; bottom: -4px; width: 90px; }
.page-hero-art .page-hero-photo figcaption { right: 95px; font-size: .8125rem; line-height: 1.7; }
.facility-photo figcaption strong { font-size: .9375rem; }
.facility-photo figcaption span { font-size: .8125rem; line-height: 1.7; }
.program-hero-photo figcaption {
  right: 109px;
  bottom: 16px;
  left: 16px;
  padding: 9px 12px;
  border-radius: 12px;
  color: #34463b;
  background: #fffaf0ed;
  font-size: .8125rem;
  line-height: 1.7;
}
.access-map { display: grid; align-items: center; }
.access-map img { height: auto; object-fit: contain; }
.program-anchor-nav a { min-width: 0; font-size: .875rem; text-align: center; }
.program-anchor-nav span { font-size: .75rem; }
.faq-list-large summary { font-size: 1rem; line-height: 1.7; }
.faq-list-large summary span { flex: 0 0 auto; }
.domain-card summary { min-height: 44px; font-size: .875rem; line-height: 1.7; }
.domain-card summary span { flex: 0 0 auto; }
.cta-actions, .publication-actions { min-width: 0; flex-wrap: wrap; }

@media (max-width: 980px) {
  .header-inner { min-height: 76px; gap: 12px; }
  .brand-art, .brand-logo { flex: 0 0 51px; width: 51px; height: 51px; border-radius: 14px; }
  .brand-copy strong, .brand-name strong { font-size: 23px; }
  .brand-copy small, .brand-name small { max-width: 190px; font-size: 9px; line-height: 1.4; white-space: normal; }
  .menu-toggle {
    display: grid;
    flex: 0 0 47px;
    gap: 4px;
    align-content: center;
    width: 47px;
    height: 44px;
    margin-left: auto;
    padding: 8px 10px;
    border: 2px solid #0f5a8a;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 4px 0 #0f5a8a;
    cursor: pointer;
  }
  .menu-toggle > span:not(.sr-only) { display: block; width: 100%; height: 3px; margin: 0; border-radius: 5px; background: #0e507e; }
  .site-nav {
    position: absolute;
    top: calc(100% + 2px);
    right: 12px;
    left: 12px;
    display: grid;
    gap: 0;
    justify-content: stretch;
    align-items: stretch;
    width: auto;
    max-height: calc(100vh - 92px);
    max-height: calc(100svh - 92px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 11px;
    border: 3px solid #fff;
    border-radius: 20px;
    background: #fffaf0;
    box-shadow: 0 5px 0 #c6d9c1, 0 12px 25px #3548302b;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity .16s, visibility .16s, transform .16s;
  }
  .site-nav.is-open { opacity: 1; visibility: visible; transform: none; }
  .site-nav a, .site-nav > a { display: block; min-height: 46px; padding: 12px 14px; font-size: .9375rem; white-space: normal; }
  .site-nav .header-cta, .site-nav .nav-contact { display: flex; justify-content: center; margin: 5px 0; padding: 12px 14px; text-align: center; }
  .basic-facts, .guide-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
  .quick-card:last-child { grid-column: 1 / -1; }
  .values-grid { grid-template-columns: 1fr; }
  .value-card h3 br { display: none; }
  .value-card p { max-width: none; }
}

@media (max-width: 900px) {
  .facility-profile { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 780px) {
  html { scroll-padding-top: 96px; }
  .site-footer .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer .footer-brand { grid-column: 1 / -1; }
  .site-footer .footer-inner { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .site-footer .footer-inner nav { justify-content: start; }
  .staff-learning-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .staff-learning-visual { width: min(100%, 430px); min-height: 400px; margin-inline: auto; }
  .program-anchor-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .program-pillar-grid { grid-template-columns: 1fr; }
  .program-pillar-grid article { min-height: 0; }
  .program-pillar-grid h3 { margin-top: 18px; }
  .profession-band, .publication-card { align-items: stretch; flex-direction: column; }
  .clay-disclosure .publication-card { align-items: stretch; flex-direction: column; }
  .contact-inner { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 15px; padding-block: 27px; }
  .contact-mascot { width: 78px; grid-row: auto; align-self: center; }
  .contact-copy { padding: 0; }
  .contact-inner > .clay-button { grid-column: 1 / -1; justify-self: center; margin: 0; }
}

@media (max-width: 540px) {
  .facility-profile { gap: 16px; }
  .facility-profile > div { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 20px; }
  .site-footer .footer-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .brand-copy small, .brand-name small { font-size: 8px; }
  .brand, .brand-name, .brand-copy { gap: 0; }
  .brand { gap: 9px; }
  .hero-panel { width: calc(100% - 16px); padding: 24px 14px 28px; }
  .hero h1 { font-size: clamp(22px, 6.8vw, 34px); letter-spacing: -.055em; }
  .hero h1 .hero-line { white-space: normal; }
  .hero h1 .hero-line:last-child { white-space: nowrap; }
  .hero-lead { font-size: .9375rem; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hero-actions .clay-button { width: 100%; }
  .hero-eyebrow { padding-inline: 10px; font-size: .8125rem; }
  .hero-caption { padding-inline: 12px; font-size: .8125rem; line-height: 1.8; }
  .quick-card, .quick-card:last-child { min-height: 160px; padding: 22px 12px; }
  .quick-card:last-child { grid-template-columns: 60px minmax(0, 1fr) auto; }
  .quick-card strong { font-size: .9375rem; }
  .quick-number { font-size: .75rem; }
  .basic-facts { grid-template-columns: 1fr; gap: 14px; }
  .basic-facts > div { padding: 19px 20px; }
  .guide-steps { grid-template-columns: 1fr; gap: 16px; }
  .guide-steps > li { display: grid; grid-template-columns: 43px minmax(0, 1fr); gap: 16px; padding: 23px 18px; }
  .step-number { align-self: start; margin: 0; }
  .page-jump-nav, .guide-anchor-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .page-jump-nav a, .guide-anchor-nav a { padding-inline: 10px; }
  .page-hero h1 { font-size: clamp(1.7rem, 7.5vw, 2rem); }
  .page-hero h1 br, .program-hero-copy h1 br { display: none; }
  .page-hero-art .mascot { width: 68px; }
  .page-hero-art .page-hero-photo figcaption { right: 76px; padding: 8px 9px; }
  .program-hero-photo figcaption { display: block; right: 86px; left: 10px; bottom: 12px; padding: 8px; }
  .program-hero-mascot { width: 75px; }
  .staff-learning-visual { min-height: 340px; }
  .contact-info dl div { grid-template-columns: 1fr; gap: 3px; }
  .contact-callout { padding: 23px 19px; }
  .clay-disclosure .publication-card { padding: 23px 19px; }
  .clay-disclosure .publication-actions .button { width: 100%; }
  .contact-phone, .contact-callout .contact-phone-number { font-size: clamp(1.35rem, 6.5vw, 1.85rem); }
  .contact-copy h2 { font-size: 1.25rem; }
  .faq-list-large summary { padding: 17px; gap: 12px; }
  .faq-list-large details p { padding: 0 17px 20px; }
}

/* One facility wordmark across the six page headers. Keep the original art ratio. */
.site-header .header-inner { min-height: 92px; padding-block: 8px; }
.site-header .brand { display: inline-flex; align-items: center; gap: 14px; min-width: 0; color: #0e507e; text-decoration: none; }
.site-header .brand-logo {
  display: block;
  flex: 0 0 auto;
  width: 56px;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  object-fit: contain;
  transform: none;
  mix-blend-mode: multiply;
}
.site-header .brand-copy { display: flex; flex-direction: column; gap: 3px; min-width: 0; line-height: 1.2; }
.site-header .brand-copy .brand-services {
  display: flex;
  flex-wrap: wrap;
  max-width: none;
  color: #3d6853;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.6;
  white-space: normal;
}
.site-header .brand-services > span { display: inline-block; white-space: nowrap; }
.site-header .brand-copy strong {
  display: block;
  margin: 0;
  color: #0e507e;
  font-family: inherit;
  font-size: 32px;
  font-weight: 900;
  letter-spacing: .06em;
  line-height: 1.2;
  white-space: nowrap;
}
@media (max-width: 980px) {
  .site-header .site-nav { max-height: calc(100svh - 108px); }
}
@media (max-width: 540px) {
  .site-header .header-inner { min-height: 88px; gap: 12px; }
  .site-header .brand { gap: 11px; }
  .site-header .brand-logo { width: 46px; }
  .site-header .brand-copy .brand-services { display: block; font-size: 11px; line-height: 1.45; }
  .site-header .brand-services > span { display: block; }
  .site-header .brand-service-divider { display: none; }
  .site-header .brand-copy strong { font-size: 28px; }
}

/* A direct route from facility and activity descriptions to the user's Instagram. */
.instagram-callout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px 36px;
  margin-top: 36px;
  padding: clamp(24px, 3vw, 36px);
  border: 2px solid #e7c3cc;
  border-radius: 26px;
  background: linear-gradient(115deg, #fff1e4, #fff1f3 60%, #f8f1fb);
}
.instagram-callout .instagram-copy { min-width: 0; }
.instagram-callout .instagram-copy h3 {
  margin: 0 0 10px;
  color: #874259;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  font-weight: 900;
  line-height: 1.6;
  letter-spacing: -.025em;
  text-wrap: initial;
}
.instagram-callout .instagram-copy p {
  max-width: 42em;
  margin: 0;
  color: var(--reading-ink);
  font-size: var(--reading-size);
  line-height: 1.9;
}
.instagram-callout .instagram-copy .instagram-kicker {
  margin: 0 0 10px;
  color: #874259;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .1em;
}
.instagram-links { display: grid; gap: 13px; min-width: 0; text-align: center; }
.instagram-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  padding: 12px 20px;
  border: 2px solid #874259;
  border-radius: 999px;
  color: #fff;
  background: #914860;
  box-shadow: 0 4px 0 #713449;
  font-size: .9375rem;
  font-weight: 800;
  line-height: 1.7;
  text-align: center;
  text-decoration: none;
}
.instagram-icon { display: block; width: 24px; height: 24px; flex: none; }
.instagram-action > .instagram-label { min-width: 0; overflow-wrap: anywhere; }
.instagram-action > span[aria-hidden] { flex: none; }
.instagram-action:hover { color: #fff; background: #713449; }
.instagram-account { color: #874259; font-size: .875rem; font-weight: 700; }
.instagram-callout--compact { padding: 24px 28px; }
.instagram-callout--compact .instagram-copy h3 { font-size: clamp(1.125rem, 1.7vw, 1.4rem); }
.site-footer .footer-instagram {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  min-height: 44px;
  max-width: 100%;
  margin-top: 20px;
  padding: 8px 13px;
  border: 1px solid #d8b1be;
  border-radius: 12px;
  color: #874259;
  background: #fff1f3;
  font-size: .875rem;
  font-weight: 800;
  line-height: 1.8;
  text-decoration: none;
}
.site-footer .footer-instagram:hover { color: #713449; border-color: #874259; text-decoration: underline; text-underline-offset: 4px; }
.instagram-brand { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.instagram-logo { display: grid; place-items: center; width: 30px; height: 30px; flex: none; border-radius: 8px; color: #fff; background: radial-gradient(circle at 25% 105%, #ffd776, #f28a39 28%, #d93678 58%, #7152bc 95%); }
.instagram-logo .instagram-icon { width: 20px; height: 20px; }
@media (max-width: 780px) {
  .instagram-callout { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .instagram-links { justify-self: start; }
  .instagram-callout > .instagram-action { justify-self: start; }
}
@media (max-width: 540px) {
  .instagram-callout { padding: 24px 18px; border-radius: 22px; }
  .instagram-links { width: 100%; }
  .instagram-callout > .instagram-action { justify-self: stretch; }
  .instagram-action { gap: 8px; padding-inline: 13px; font-size: .875rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
