/* Final visitor typography and controls; the full-screen intro keeps its own scale. */
body { line-height: 1.65; }
main :is(h1,h2,h3) { text-wrap: balance; }
main :is(p,li,dd) { text-wrap: pretty; }
.button,.text-link { font-size: 14px; }
.button { gap: 16px; }
.breadcrumb { font-size: 13px; line-height: 1.7; }
.section-navigation a { font-size: 13px; min-height: 48px; }
.announcement-inner { height: auto; min-height: 32px; padding-block: 6px; }
.announcement,.announcement a { font-size: 11px; line-height: 1.6; }
.product-author,.product-subtitle,.product-purchase span { font-size: 13px; }
.product-body h3 { font-size: 17px; line-height: 1.5; }
.product-body { gap: 4px; }
.event-card>p,.shop-guide p,.feature-tags,.collection-note { font-size: 14px; }
.event-meta,.event-meta>span:first-child,.event-meta>span:last-child { font-size: 12px; line-height: 1.6; }
.event-meta { flex-wrap: wrap; row-gap: 6px; }
.library-feature p,.intro-copy p { font-size: 16px; }
.editorial-note,.demo-note,.form-note,.inquiry-note,.program-note { font-size: 14px; line-height: 1.8; }
.footer-tree section>a,.footer-discover a { font-size: 14px; line-height: 1.7; }
.footer-tree h3 { font-size: 15px; line-height: 1.6; }
.footer-bottom { font-size: 12px; line-height: 1.7; }
.footer-tree section>a { display: block; padding-block: 4px; }
.shop-filter-panel { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.shop-filter-panel>* { min-width: 0; }
.shop-filter-panel .shop-search { grid-column: span 2; }
.shop-filter-panel>label:not(.shop-search) { font-size: 13px; }
.shop-filter-panel select,.shop-filter-panel .shop-search input,.sort-label select,
.contact-form :is(input,select,textarea) { font-size: 16px; min-width: 0; }
.shop-filter-panel select { min-height: 48px; }
.shop-filter-panel input[type=number] { max-width: none; }
.shop-filter-panel>.text-link { grid-column: 3 / -1; grid-row: 2; min-height: 44px; font-size: 14px; justify-self: end; }
.shop-filter-panel>label:has(#shop-min) { grid-column: 1; grid-row: 2; }
.shop-filter-panel>label:has(#shop-max) { grid-column: 2; grid-row: 2; }
.form-actions { gap: 16px 24px; }
.form-consent { flex-wrap: wrap; }
.form-consent>span:not(.field-error) { flex: 1; min-width: 0; }
.form-consent>.field-error { margin: 0 0 0 34px; }
.contact-form label { line-height: 1.7; }
.search-dialog,.detail-dialog { max-height: calc(100dvh - 32px); }
.cart-dialog { max-height: 100dvh; }
.cart-item-copy,.cart-row>div,.order-lines>div>span { min-width: 0; }
.order-lines>div { gap: 16px; }
.order-lines strong { flex-shrink: 0; }
.tree-header .mobile-nav { max-height: calc(100dvh - 110px); overscroll-behavior: contain; }
@media (min-width: 1200px) {
  .tree-header .desktop-nav .nav-parent { font-size: 14px; }
}
@media (max-width: 999px) {
  .shop-filter-panel { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .shop-filter-panel .shop-search { grid-column: 1 / -1; }
  .shop-filter-panel>label:has(#shop-min),.shop-filter-panel>label:has(#shop-max) { grid-column: auto; grid-row: auto; }
  .shop-filter-panel>.text-link { grid-column: 1 / -1; grid-row: auto; justify-self: start; order: 1; }
}
@media (max-width: 600px) {
  .tree-header .brand-copy>span { display: none; }
  .tree-header .header-actions .icon-button { width: 44px; height: 44px; }
  .tree-header .header-inner { gap: 4px; }
  .tree-header .brand { gap: 5px; }
  .tree-header .brand-copy>strong { font-size: 19px; }
  .shop-filter-panel>label:has(select) { grid-column: 1 / -1; }
  .shop-results-top { flex-wrap: wrap; gap: 12px; }
  .sort-label { display: flex; align-items: center; gap: 12px; min-width: 0; }
  .sort-label select { min-height: 44px; max-width: 100%; }
  .product-grid { gap: 24px 18px; }
  .product-body h3 { font-size: 16px; }
  .footer-tree { gap: 30px 24px; }
  .checkout-steps li { font-size: 12px; line-height: 1.6; flex-direction: column; gap: 8px; }
  .checkout-heading h1 { font-size: clamp(34px,9vw,44px); }
  .checkout-form-panel { padding: 24px 18px; }
  .detail-tabs { flex-wrap: wrap; }
  .detail-tabs [role=tab] { min-height: 44px; font-size: 14px; }
  .collection-note { align-items: flex-start; flex-wrap: wrap; }
}
@media (max-width: 360px) {
  .tree-header .header-inner { width: calc(100% - 24px); }
  .tree-header .brand img { width: 34px; height: 40px; }
  .tree-header .brand-copy>strong { font-size: 18px; }
  .product-grid { grid-template-columns: minmax(0,1fr); }
  .footer-tree { grid-template-columns: minmax(0,1fr); }
}

/* Institution-supplied vision, mission and direction. */
.foundation-direction-page .tree-intro h1{max-width:22ch;font-size:clamp(34px,4.6vw,66px);line-height:1.15;overflow-wrap:anywhere}
.foundation-direction-layout{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(0,2.5fr);gap:clamp(28px,5vw,78px);align-items:start;padding-block:10px 80px}
.direction-index{display:flex;flex-direction:column;gap:8px;position:sticky;top:160px;padding-block:12px;border-block:1px solid var(--line)}
.direction-index a{display:flex;align-items:center;gap:16px;padding:13px 6px;font-size:15px;line-height:1.5;min-width:0;overflow-wrap:anywhere}
.direction-index a>span{font-size:11px;color:var(--gold);font-variant-numeric:tabular-nums}
.direction-index a:hover{color:var(--gold)}
.direction-copy{min-width:0;max-width:850px}
.direction-section{scroll-margin-top:175px;padding-block:12px 36px;border-bottom:1px solid var(--line);margin-bottom:30px}
.direction-section:last-child{margin-bottom:0}
.direction-section>header{display:flex;gap:20px;align-items:baseline;margin-bottom:22px}
.direction-number{font-size:13px;color:var(--gold);font-variant-numeric:tabular-nums}
.direction-section h2{font:500 clamp(29px,3.2vw,42px)/1.25 var(--heading);margin:0;overflow-wrap:anywhere}
.direction-section ul{list-style:disc;padding-inline-start:24px;margin:0}
.direction-section li{font-size:17px;line-height:1.9;padding-inline-start:5px;overflow-wrap:anywhere}
.direction-section li+li{margin-top:17px}
.direction-section li::marker{color:var(--gold);font-size:.75em}
.nav-submenu a{min-width:0;overflow-wrap:anywhere}
.nav-submenu a>svg{flex-shrink:0}
@media(max-width:850px){.foundation-direction-layout{grid-template-columns:minmax(0,1fr);gap:24px}.direction-index{position:static;flex-direction:row;flex-wrap:wrap;gap:8px 20px}.direction-index a{padding:8px 0}.foundation-direction-page .tree-intro h1{max-width:24ch}.direction-section{scroll-margin-top:120px}}
@media(max-width:480px){.foundation-direction-page .tree-intro{padding-inline-end:0}.foundation-direction-page .tree-intro h1{font-size:34px;line-height:1.2}.foundation-direction-page .tree-intro .intro-ornament{display:none}.direction-index{gap:2px 16px}.direction-index a{font-size:14px;gap:8px}.direction-section li{font-size:16px;line-height:1.85}.direction-section>header{gap:14px}.foundation-direction-layout{padding-bottom:40px}}

/* Institution-supplied overview and contact directory. */
.foundation-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 64px;margin:60px 0}
.foundation-overview-grid section{border-top:1px solid var(--line);padding-top:26px;min-width:0}
.foundation-overview-grid h2{font-size:clamp(25px,2.5vw,34px);line-height:1.25}
.foundation-overview-grid p{font-size:17px;line-height:1.85}
.program-contacts{margin:40px 0 56px;padding:28px 0;border-block:1px solid var(--line)}
.program-contacts h2{font-size:clamp(23px,2.3vw,30px);line-height:1.3;margin:0 0 22px}
.contact-person-list{display:grid;gap:18px;min-width:0}
.contact-person{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;min-width:0;padding-bottom:15px;border-bottom:1px solid var(--line)}
.contact-person strong{display:block;font-size:16px;font-weight:500;line-height:1.5}
.contact-person small{display:block;font-size:14px;line-height:1.5;color:var(--muted)}
.contact-person a{font-size:16px;line-height:1.7;direction:ltr;unicode-bidi:isolate;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
.program-contacts .contact-person-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.program-contacts .contact-person{display:block;border-bottom:0;padding:0}
.program-contacts .contact-person a{display:inline-block;margin-top:8px}
.contact-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.contact-details-grid article{min-width:0}
.contact-details-grid article:last-child{grid-column:auto}
.contact-details-grid p,.contact-details-grid a{font-size:16px}
.contact-details-grid .contact-person a{margin:0;font-size:16px}
.contact-details-grid .contact-email,.inquiry-emails a,.footer-compact-contact a{overflow-wrap:anywhere;max-width:100%;direction:ltr;unicode-bidi:isolate}
.inquiry-emails{display:flex;flex-direction:column;gap:12px;margin:24px 0;font-size:17px}
@media(max-width:700px){.foundation-overview-grid{grid-template-columns:1fr;gap:30px;margin:36px 0}.foundation-overview-grid p{font-size:16px}.program-contacts .contact-person-list,.contact-details-grid{grid-template-columns:1fr}.program-contacts .contact-person{display:flex}.program-contacts .contact-person a{margin:0}.program-contacts{margin:30px 0;padding:24px 0}}
