:root {
  color-scheme: light;
  --blue: #0755ac;
  --blue-deep: #063c78;
  --blue-night: #04366d;
  --blue-soft: #eaf4fc;
  --blue-pale: #f3f8fc;
  --yellow: #ffe43c;
  --ink: #123963;
  --muted: #54718d;
  --line: #deebf4;
  --radius: 1.1rem;
  --shadow: 0 0.45rem 1.5rem rgb(22 65 111 / 9%);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body { margin: 0; background: #fff; color: var(--ink); font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: 1rem; line-height: 1.55; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input { font: inherit; }
.site-width { width: min(100% - 3rem, 76rem); margin-inline: auto; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 20; top: 0.5rem; left: 0.5rem; padding: 0.6rem 1rem; transform: translateY(-160%); border-radius: 0.5rem; background: #fff; color: var(--blue-deep); }
.skip-link:focus { transform: translateY(0); }

.utility-bar { height: 2.25rem; background: #f7fafc; border-bottom: 1px solid #eaf0f5; color: var(--blue-deep); font-size: 0.77rem; }
.utility-inner, .utility-links { height: 100%; display: flex; align-items: center; }
.utility-inner { justify-content: space-between; gap: 1rem; }
.utility-links { gap: 1.25rem; }
.utility-links a { text-decoration: none; }
.utility-links a::before { display: inline-block; width: 0.42rem; height: 0.42rem; margin-right: 0.4rem; border-radius: 50%; background: var(--blue); content: ""; }
.search-box { display: flex; align-items: center; width: 12rem; height: 1.7rem; padding: 0 0.25rem 0 0.65rem; overflow: hidden; border: 1px solid #dce8f2; border-radius: 99px; background: #fff; }
.search-box input { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 0.75rem; }
.search-icon { width: 1.15rem; height: 1.15rem; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--blue); color: #fff; font-size: 1rem; line-height: 1; }
.search-box button.search-icon { padding: 0; border: 0; cursor: pointer; }
.search-box:focus-within { border-color: var(--blue); box-shadow: 0 0 0 2px rgb(7 80 157 / 12%); }
.search-result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.85rem; }
.search-result-card { padding: 1.15rem 1.25rem; border: 1px solid #dceaf5; border-radius: var(--radius); background: linear-gradient(145deg, #edf7ff, #fff 78%); }
.search-result-card h2 { margin: 0; color: var(--blue-deep); font-size: 1.05rem; }
.search-result-card h2 a { color: inherit; text-decoration: none; }
.search-result-card h2 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.search-result-count { margin: 0.25rem 0 0.55rem; color: #55758f; font-size: 0.72rem; font-weight: 700; }
.search-result-card > p:last-child, .search-empty { margin: 0; color: #3d5d78; font-size: 0.86rem; line-height: 1.55; }
.search-empty { grid-column: 1 / -1; padding: 1.25rem; border-radius: var(--radius); background: #edf7ff; }

.site-header { position: relative; z-index: 5; background: #fff; box-shadow: 0 2px 10px rgb(13 58 106 / 7%); }
.header-inner { min-height: 5rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.brand { display: block; width: 16.5rem; min-width: 0; flex: 0 1 16.5rem; }
.brand img { width: 100%; height: auto; max-height: 3.35rem; object-fit: contain; object-position: left center; mix-blend-mode: multiply; }
.main-nav { flex: 1; display: flex; align-items: center; justify-content: flex-end; gap: clamp(0.7rem, 1.65vw, 1.55rem); }
.main-nav a { position: relative; padding: 0.62rem 0.1rem; color: #174578; text-decoration: none; text-transform: uppercase; letter-spacing: 0.025em; font-size: 0.74rem; font-weight: 700; white-space: nowrap; }
.main-nav a::after { position: absolute; right: 0.1rem; bottom: 0.18rem; left: 0.1rem; height: 2px; transform: scaleX(0); transform-origin: left; transition: transform 160ms ease; background: var(--yellow); content: ""; }
.main-nav a:hover::after, .main-nav a:focus-visible::after, .main-nav a.active::after { transform: scaleX(1); }
.main-nav a.active { padding: 0.5rem 0.85rem; border-radius: 99px; background: var(--yellow); color: var(--blue-deep); }
.main-nav a.active::after { display: none; }
.main-nav a.nav-cta { margin-left: .1rem; padding: .62rem .9rem; border: 1px solid var(--blue); border-radius: 999px; background: var(--blue); color: #fff; }
.main-nav a.nav-cta::after { display: none; }
.main-nav a.nav-cta:hover, .main-nav a.nav-cta:focus-visible { background: var(--blue-deep); color: #fff; }
.menu-toggle { display: none; }

.hero { position: relative; min-height: clamp(14rem, 22vw, 20rem); overflow: hidden; isolation: isolate; background: linear-gradient(112deg, #07509d, #0c67b0); color: #fff; }
.hero-picture, .hero-shade { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; }
.hero-reference { width: 100%; height: 100%; object-fit: cover; object-position: center 50%; }
.hero-shade { background: linear-gradient(90deg, rgb(3 42 91 / 10%), rgb(3 42 91 / 2%)); }
.hero-content { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.eyebrow { margin: 0 0 0.35rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.hero-eyebrow { color: #ffec67; }
.hero h1 { max-width: 38rem; margin: 0; color: #fff; font-size: clamp(2.15rem, 5vw, 3.7rem); font-weight: 750; letter-spacing: -0.045em; line-height: 1.03; text-shadow: 0 2px 16px rgb(0 0 0 / 18%); }
.hero-underline { display: block; width: 7.4rem; height: 0.28rem; margin-top: 1rem; border-radius: 99px; background: var(--yellow); transform: skewX(-20deg); }
.hero-note { margin: 1rem 0 0; color: #fff; font-size: 1.05rem; font-weight: 600; letter-spacing: 0.055em; }
.hero-note i { padding-inline: 0.3rem; color: var(--yellow); font-style: normal; }

.page-content { padding-block: 1.4rem 2rem; }
.quick-actions { display: grid; grid-template-columns: 1.2fr 1fr; gap: 1.15rem; }
.action-card { position: relative; min-height: 10rem; display: flex; align-items: stretch; overflow: hidden; border-radius: var(--radius); }
.action-card-blue { background: linear-gradient(115deg, #0862bd 0%, #0752a5 69%, #0872ca 100%); color: #fff; }
.action-card-yellow { background: linear-gradient(105deg, #fff29a, #ffed73 60%, #ffec58); color: var(--blue-deep); }
.action-copy { position: relative; z-index: 1; width: 100%; max-width: 24rem; padding: 1.1rem 1.25rem; }
.action-card-blue .action-copy { max-width: 22rem; }
.action-card h2 { margin: 0.08rem 0 0.28rem; font-size: 1.12rem; line-height: 1.2; }
.action-card p { max-width: 21rem; margin: 0 0 0.72rem; font-size: 0.88rem; line-height: 1.45; }
.action-icon { display: inline-grid; width: 1.7rem; height: 1.7rem; place-items: center; margin-bottom: 0.22rem; border: 2px solid currentColor; border-radius: 0.4rem; font-size: 1.25rem; line-height: 1; }
.envelope-icon { font-size: 1.3rem; }
.action-photo { position: absolute; top: 0; right: 0; width: 34%; height: 100%; object-fit: cover; object-position: center 35%; clip-path: ellipse(85% 92% at 88% 50%); }
.action-card-blue::after { position: absolute; top: 0; right: 25%; width: 1.6rem; height: 100%; background: repeating-linear-gradient(150deg, transparent 0 0.65rem, rgb(255 224 52 / 78%) 0.68rem 0.76rem, transparent 0.78rem 1.28rem); content: ""; opacity: 0.9; }
.heart-doodle { position: absolute; top: 0.75rem; right: 1rem; color: var(--blue); font-family: Georgia, serif; font-size: 5rem; line-height: 1; transform: rotate(-10deg); }
.button { display: inline-flex; min-height: 2rem; align-items: center; justify-content: center; padding: 0.36rem 1rem; border: 0; border-radius: 99px; text-decoration: none; font-size: 0.8rem; font-weight: 750; line-height: 1.2; transition: filter 150ms ease, transform 150ms ease; }
.button:hover { filter: brightness(1.05); transform: translateY(-1px); }
.button:focus-visible, a:focus-visible, button:focus-visible { outline: 3px solid #f3af00; outline-offset: 3px; }
.button-yellow { background: var(--yellow); color: var(--blue-deep); }
.button-blue { background: var(--blue); color: #fff; }
.button-small { min-height: 1.8rem; padding: 0.3rem 0.85rem; font-size: 0.77rem; }

.content-section { margin-top: 1.25rem; }
.compact-section { margin-top: 1.15rem; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 0.65rem; }
.section-heading h2 { position: relative; margin: 0; padding-left: 0.68rem; color: var(--blue); font-size: 1.16rem; line-height: 1.25; }
.section-heading h2::before { position: absolute; inset: 0 auto 0 0; width: 3px; border-radius: 2px; background: var(--yellow); content: ""; }
.text-link { color: var(--blue); font-size: 0.78rem; font-weight: 700; text-decoration: none; }
.text-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.initiative-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.initiative-card { overflow: hidden; border: 1px solid #e3edf5; border-radius: 0.9rem; background: #fff; box-shadow: 0 0.25rem 0.95rem rgb(25 65 101 / 6%); }
.initiative-visual { position: relative; height: 7.4rem; overflow: hidden; background: #d9effa; }
.initiative-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center 60%; }
.phone-visual { display: grid; place-items: center; background: linear-gradient(135deg, #a7d7ec, #e4f2ef 52%, #b9e1ef); }
.phone-visual span { display: grid; width: 3.2rem; height: 5rem; place-items: center; border: 4px solid #182637; border-radius: 0.75rem; background: #eff7fb; color: #26394b; font-size: 2.1rem; }
.phone-visual b { position: absolute; display: grid; width: 4.1rem; height: 4.1rem; place-items: center; border: 0.42rem solid #e22820; border-radius: 50%; color: #e22820; font-size: 4.3rem; font-weight: 400; line-height: 0.8; transform: rotate(-8deg); }
.sweatshirt-visual { display: flex; align-items: center; justify-content: center; gap: 0.55rem; background: radial-gradient(ellipse at 50% 100%, #c6e5f4 0 34%, transparent 35%), linear-gradient(120deg, #e9f2f6, #9cceea 50%, #d9edf4); }
.sweatshirt-visual::before, .sweatshirt-visual::after { position: absolute; top: 1.05rem; width: 4.5rem; height: 5.35rem; clip-path: polygon(29% 7%, 42% 0, 50% 8%, 58% 0, 72% 7%, 100% 21%, 84% 42%, 73% 35%, 73% 100%, 27% 100%, 27% 35%, 16% 42%, 0 21%); filter: drop-shadow(0 0.22rem 0.25rem rgb(5 54 102 / 20%)); background: linear-gradient(90deg, #07509d 0 39%, #f5cc29 39% 44%, #0d62b6 44% 56%, #f5cc29 56% 61%, #07509d 61%); content: ""; }
.sweatshirt-visual::before { left: calc(50% - 3.75rem); transform: rotate(-9deg); }
.sweatshirt-visual::after { right: calc(50% - 3.75rem); transform: rotate(9deg); background: linear-gradient(90deg, #06447f 0 38%, #f5cc29 38% 44%, #0d62b6 44% 56%, #f5cc29 56% 62%, #06447f 62%); }
.sweatshirt-visual span { position: absolute; z-index: 1; margin: 0; color: var(--yellow); font-size: 0.8rem; text-shadow: 0 1px 2px #073e7b; }
.sweatshirt-visual span:nth-child(1) { left: calc(50% - 2.45rem); top: 3.45rem; }
.sweatshirt-visual span:nth-child(2) { left: calc(50% + 0.95rem); top: 3.2rem; }
.sweatshirt-visual span:nth-child(3) { left: calc(50% + 1.55rem); top: 3.9rem; }
.initiative-copy { min-height: 8.1rem; padding: 0.72rem 0.85rem 0.85rem; background: #f8fbfd; }
.initiative-copy h3 { margin: 0 0 0.16rem; color: var(--blue); font-size: 1rem; line-height: 1.3; }
.initiative-copy p { min-height: 2.65rem; margin: 0 0 0.55rem; color: #315778; font-size: 0.82rem; line-height: 1.4; }

.project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.48rem 0.65rem; }
.project-chip { min-height: 2.35rem; display: flex; align-items: center; gap: 0.65rem; padding: 0.45rem 0.75rem; border: 1px solid #e3edf5; border-radius: 0.65rem; background: #f0f7fc; color: #1b568f; font-size: 0.8rem; font-weight: 600; text-decoration: none; transition: background 150ms ease; }
.project-chip:hover { background: #e0eff9; }
.project-chip span { width: 1.15rem; color: var(--blue); text-align: center; font-size: 1.2rem; line-height: 1; }

.document-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.document-card { min-height: 8.3rem; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0.85rem; border-radius: 0.8rem; text-align: center; }
.document-yellow { background: #fff3a9; }
.document-blue { background: #e6f3fc; }
.document-icon { color: var(--blue); font-size: 2.25rem; line-height: 1; }
.people-icon { font-size: 2.55rem; }
.document-card h3 { margin: 0.35rem 0 0.05rem; color: var(--blue); font-size: 1rem; line-height: 1.25; }
.document-card p { margin: 0; color: #486c8c; font-size: 0.8rem; }

.collaborators { display: grid; grid-template-columns: minmax(14rem, 1fr) 2.2fr; align-items: center; gap: 1.4rem; margin-top: 1.35rem; padding: 1rem 1.25rem; overflow: hidden; border: 1px solid #dcecf7; border-radius: 0.9rem; background: linear-gradient(105deg, #edf7fe, #f7fbfe); }
.collaborators-intro h2 { margin: 0 0 0.2rem; color: var(--blue); font-size: 1.1rem; }
.collaborators-intro p { margin: 0 0 0.6rem; color: #355c7c; font-size: 0.78rem; line-height: 1.4; }
.collaborator-list { display: grid; grid-template-columns: repeat(6, minmax(4rem, 1fr)); gap: 0.6rem; align-items: center; }
.collaborator-mark { aspect-ratio: 1; display: grid; align-content: center; justify-content: center; padding: 0.35rem; overflow: hidden; border: 1px solid #e3ebf0; border-radius: 50%; background: #fff; color: #294c69; text-align: center; font-size: 0.55rem; line-height: 1.15; letter-spacing: -0.02em; }
.collaborator-mark b { color: var(--blue); font-size: 0.56rem; }
.mark-round { box-shadow: 0 0.15rem 0.6rem rgb(22 65 111 / 9%); }
.mark-word { border-radius: 0.7rem; }

.site-footer { position: relative; margin-top: 0.2rem; overflow: hidden; background: var(--blue-night); color: #fff; }
.site-footer::before { position: absolute; top: -1.45rem; left: -2%; width: 104%; height: 2rem; border-radius: 50% 50% 0 0 / 100% 100% 0 0; background: var(--yellow); content: ""; }
.footer-grid { display: grid; grid-template-columns: 1.1fr 0.9fr 1.2fr 1.2fr; gap: 2rem; padding-block: 2.25rem 1.55rem; }
.site-footer h2 { margin: 0 0 0.85rem; padding-bottom: 0.55rem; border-bottom: 1px solid rgb(255 255 255 / 20%); color: #fff; font-size: 1rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.045em; }
.footer-about p { margin: 0 0 0.8rem; color: #d5e4f1; font-size: 0.8rem; line-height: 1.65; }
.footer-menu { display: flex; flex-direction: column; align-items: stretch; }
.footer-menu a { padding: 0.28rem 0; border-bottom: 1px solid rgb(255 255 255 / 12%); color: #d7e6f2; font-size: 0.8rem; text-decoration: none; }
.footer-menu a:hover, .footer-contact a:hover, .post-link:hover b { color: var(--yellow); }
.footer-contact p, .footer-contact a { display: block; margin: 0 0 0.68rem; color: #d7e6f2; font-size: 0.78rem; line-height: 1.55; text-decoration: none; }
.footer-contact p span, .footer-contact a span { display: inline-block; width: 1.45rem; color: var(--yellow); font-size: 1.05rem; }
.footer-contact b { color: #fff; }
.post-link { display: grid; grid-template-columns: 2.6rem 1fr; gap: 0.6rem; align-items: center; margin-bottom: 0.58rem; color: #fff; text-decoration: none; }
.post-link b, .post-link small { display: block; }
.post-link b { font-size: 0.76rem; line-height: 1.3; }
.post-link small { margin-top: 0.12rem; color: #bcd1e2; font-size: 0.68rem; line-height: 1.3; }
.post-thumb { width: 2.6rem; height: 2.4rem; display: grid; place-items: center; border-radius: 0.45rem; background: #f1f7fb; color: var(--blue); font-size: 1.1rem; font-weight: 800; }
.thumb-phone { color: #e42621; font-size: 1.7rem; }
.thumb-ticket { background: #fff1a6; }
.thumb-blue { background: #1970bd; color: #fff; font-size: 0.8rem; }
.footer-bottom { border-top: 1px solid rgb(255 255 255 / 14%); background: #032f60; }
.footer-bottom-inner { min-height: 2.7rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: #bfd2e3; font-size: 0.68rem; }
.footer-bottom a { color: inherit; text-decoration: none; }
.footer-bottom a:hover { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.search-hidden { display: none !important; }

/* Rich homepage content */
.welcome-panel { display: grid; grid-template-columns: 4.2rem 1fr auto; align-items: center; gap: 1rem; margin-top: 1rem; padding: 1.05rem 1.25rem; border: 1px solid #dcecf7; border-radius: var(--radius); background: linear-gradient(105deg, #f5faff, #fff 72%); }
.welcome-mark { position: relative; width: 4rem; height: 4rem; display: grid; place-items: center; border-radius: 1.25rem; background: var(--blue); color: #fff; font-size: 1.15rem; font-weight: 850; letter-spacing: -.06em; box-shadow: 0 .3rem .8rem rgb(7 85 172 / 18%); }
.welcome-mark span { position: absolute; right: -.35rem; bottom: -.3rem; width: 1.4rem; height: 1.4rem; display: grid; place-items: center; border: 2px solid #fff; border-radius: 50%; background: var(--yellow); color: var(--blue-deep); font-size: 1.1rem; line-height: 1; }
.welcome-panel .eyebrow { margin: 0 0 .2rem; color: #3f729d; font-size: .64rem; }
.welcome-panel h2 { margin: 0 0 .18rem; color: var(--blue); font-size: 1.13rem; }
.welcome-panel p:last-child { max-width: 56rem; margin: 0; color: #42627e; font-size: .82rem; line-height: 1.5; }
.welcome-panel > .text-link { white-space: nowrap; }
.project-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.project-card { min-height: 9rem; padding: .85rem .95rem; border: 1px solid #e1edf5; border-radius: .75rem; background: #f6faff; }
.project-symbol { width: 1.8rem; height: 1.8rem; display: grid; place-items: center; margin-bottom: .42rem; border-radius: .55rem; background: #e4f1fc; color: var(--blue); font-size: 1.15rem; }
.project-card h3 { margin: 0 0 .22rem; color: var(--blue-deep); font-size: .9rem; line-height: 1.3; }
.project-card p { margin: 0; color: #4d6a84; font-size: .77rem; line-height: 1.45; }
.project-more { display: inline-block; margin-top: .48rem; color: var(--blue); font-size: .7rem; font-weight: 750; text-decoration: none; }
.project-more:hover { text-decoration: underline; text-underline-offset: 2px; }
.project-card p + p { margin-top: .45rem; }
.document-card a { margin-top: .45rem; color: var(--blue); font-size: .75rem; font-weight: 750; text-decoration: none; }
.document-card a:hover { text-decoration: underline; text-underline-offset: 3px; }
.collaborators { grid-template-columns: minmax(14rem, .8fr) 2.2fr; }
.collaborators-intro .eyebrow { margin: 0 0 .2rem; color: #557897; font-size: .64rem; }
.collaborator-side { min-width: 0; }
.collaborator-list { grid-template-columns: repeat(6, minmax(3.5rem, 1fr)); }
.collaborator-mark { min-height: 4.2rem; aspect-ratio: auto; border-radius: .8rem; box-shadow: 0 .12rem .5rem rgb(22 65 111 / 7%); }
.collaborator-invitation { display: flex; align-items: center; justify-content: space-between; gap: .85rem; margin-top: .75rem; padding: .65rem .75rem; border: 1px solid #e0edf6; border-radius: .7rem; background: #fff; }
.collaborator-invitation p { margin: 0; color: #4a6983; font-size: .73rem; line-height: 1.45; }
.collaborator-invitation strong { color: var(--blue-deep); }
.journal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.journal-card { position: relative; min-height: 13.5rem; display: flex; flex-direction: column; align-items: flex-start; padding: 1.15rem; overflow: hidden; border: 1px solid #dfebf4; border-radius: .9rem; background: linear-gradient(150deg, #f1f8fe, #fff 74%); }
.journal-card::after { position: absolute; top: -2.4rem; right: -2.2rem; width: 7rem; height: 7rem; border: 1.2rem solid rgb(255 228 60 / 38%); border-radius: 50%; content: ""; }
.journal-language { background: linear-gradient(150deg, #fff8c9, #fff 74%); }
.journal-reading { background: linear-gradient(150deg, #e8f5ff, #fff 74%); }
.journal-date { color: #4d7798; font-size: .63rem; font-weight: 800; letter-spacing: .06em; }
.journal-card h3 { max-width: 16rem; margin: .55rem 0 .35rem; color: var(--blue-deep); font-size: 1.1rem; line-height: 1.25; }
.journal-card p { margin: 0 0 .8rem; color: #4d6a84; font-size: .8rem; line-height: 1.5; }
.journal-card a { margin-top: auto; color: var(--blue); font-size: .76rem; font-weight: 800; text-decoration: none; }
.journal-card a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Interior pages */
.inner-hero { position: relative; padding: clamp(2.5rem, 6vw, 4.6rem) 0; overflow: hidden; background: linear-gradient(115deg, #06417f, #0b64b3); color: #fff; }
.inner-hero::after { position: absolute; top: -5rem; right: 9%; width: 17rem; height: 17rem; border: 2.6rem solid rgb(255 228 60 / 25%); border-radius: 50%; content: ""; pointer-events: none; }
.inner-hero .site-width { position: relative; z-index: 1; }
.inner-hero .eyebrow { margin-bottom: .5rem; color: var(--yellow); }
.inner-hero h1 { max-width: 48rem; margin: 0; color: #fff; font-size: clamp(2rem, 5vw, 3.3rem); line-height: 1.05; letter-spacing: -.035em; }
.inner-hero p:last-child { max-width: 43rem; margin: .7rem 0 0; color: #e4f1fb; font-size: 1rem; line-height: 1.55; }
.story-panel { padding: clamp(1.2rem, 4vw, 2.1rem); border: 1px solid #e1edf5; border-radius: var(--radius); background: linear-gradient(110deg, #f5faff, #fff); }
.story-panel .eyebrow { margin: 0 0 .2rem; color: #4c7594; }
.story-panel h2, .member-panel h2 { margin: 0 0 .65rem; color: var(--blue); font-size: clamp(1.35rem, 2vw, 1.75rem); line-height: 1.2; }
.story-panel p:not(.eyebrow), .member-panel p:not(.eyebrow) { max-width: 55rem; color: #3d5d77; font-size: .94rem; }
.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.value-card { padding: 1rem; border-radius: .8rem; background: #edf6fc; }
.value-card span { color: var(--blue); font-size: .75rem; font-weight: 800; letter-spacing: .08em; }
.value-card h3 { margin: .35rem 0 .25rem; color: var(--blue-deep); }
.value-card p { margin: 0; color: #4c6a84; font-size: .85rem; }

.board-section { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: clamp(1.2rem, 3vw, 2.4rem); padding: clamp(1rem, 3vw, 1.6rem); border: 1px solid #dceaf4; border-radius: var(--radius); background: linear-gradient(135deg, #f1f8fd, #e8f3fb); }
.board-photo-crop { position: relative; aspect-ratio: 747 / 500; min-width: 0; margin: 0; overflow: hidden; border-radius: .85rem; background: #dbe8ef; box-shadow: 0 .45rem 1.4rem rgb(24 67 109 / 12%); }
.board-photo-crop img { position: absolute; top: 0; left: -8.03%; width: 214.19%; max-width: none; height: auto; }
.board-photo-crop figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: .55rem .75rem; background: linear-gradient(transparent, rgb(7 37 70 / 72%)); color: #fff; font-size: .72rem; font-weight: 700; }
.board-team .eyebrow { margin: 0 0 .25rem; color: #5a7d98; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.board-team h2 { margin: 0 0 .45rem; color: var(--blue); font-size: clamp(1.25rem, 1.6vw, 1.65rem); line-height: 1.2; }
.board-intro { margin: 0 0 .85rem; color: #506f88; font-size: .86rem; line-height: 1.5; }
.board-member-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .48rem; margin: 0; padding: 0; list-style: none; }
.board-member-list li { display: flex; flex-direction: column; gap: .12rem; min-width: 0; padding: .58rem .65rem; border: 1px solid #e0ebf3; border-radius: .6rem; background: rgb(255 255 255 / 85%); }
.board-member-list li span { color: #65819a; font-size: .63rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.board-member-list li strong { color: #194c7d; font-size: .78rem; line-height: 1.3; }
.member-panel { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2rem; margin-top: 1.5rem; padding: clamp(1.2rem, 4vw, 2rem); border-radius: var(--radius); background: linear-gradient(115deg, #0755ac, #07417e); color: #fff; }
.member-panel .eyebrow { margin: 0 0 .3rem; color: var(--yellow); }
.member-panel h2 { color: #fff; }
.member-panel p:not(.eyebrow) { color: #e4f1fb; }
.member-panel strong { color: #fff; }
.member-badge { width: 8.5rem; height: 8.5rem; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 2px solid rgb(255 255 255 / 60%); border-radius: 50%; background: rgb(255 255 255 / 8%); color: #fff; font-size: .95rem; line-height: 1.1; text-align: center; transform: rotate(7deg); }
.member-badge b { color: var(--yellow); font-size: 2.1rem; }
.member-badge span { margin-top: .25rem; }
.callout-panel { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.25rem; border-radius: .8rem; background: #eaf5fc; }
.callout-panel p { margin: 0; color: #3e617d; }
.initiative-detail { display: grid; grid-template-columns: 4.2rem minmax(0, 1fr); gap: 1.1rem; margin-bottom: 1rem; padding: clamp(1.1rem, 3.5vw, 1.8rem); border: 1px solid #dfebf4; border-radius: var(--radius); background: #f2f8fd; }
.initiative-detail-yellow { background: #fff9d8; }
.initiative-number { width: 3.7rem; height: 3.7rem; display: grid; place-items: center; border-radius: 1.1rem; background: var(--blue); color: #fff; font-size: 1.55rem; font-weight: 850; }
.initiative-detail-yellow .initiative-number { background: var(--yellow); color: var(--blue-deep); }
.initiative-detail .eyebrow { margin: 0 0 .3rem; color: #547793; font-size: .68rem; }
.initiative-detail h2 { margin: 0 0 .6rem; color: var(--blue); font-size: 1.55rem; }
.initiative-detail p:not(.eyebrow) { max-width: 60rem; color: #3d5d77; font-size: .9rem; }
#pacto, #papeletas, #chandals { grid-template-columns: 4.2rem minmax(0, 1.35fr) minmax(16rem, .95fr); align-items: stretch; }
#pacto > .initiative-number, #pacto > div:nth-child(2), #papeletas > .initiative-number, #papeletas > div:nth-child(2), #chandals > .initiative-number, #chandals > div:nth-child(2) { align-self: center; }
#pacto .initiative-visual, #papeletas .initiative-visual, #chandals .initiative-visual { min-width: 0; min-height: 14rem; height: 100%; margin: 0; overflow: hidden; border: 1px solid rgb(7 80 157 / 12%); border-radius: 1rem; box-shadow: 0 .7rem 1.8rem rgb(7 55 105 / 12%); }
#pacto .initiative-visual img, #papeletas .initiative-visual img, #chandals .initiative-visual img { display: block; width: 100%; min-height: 100%; height: 100%; object-fit: cover; object-position: center; }
.mobility-panel { display: grid; grid-template-columns: 7rem minmax(0, 1fr); align-items: center; gap: 1.25rem; margin-block: 1.4rem; padding: 1.3rem; border: 1px solid #cfe5ef; border-radius: var(--radius); background: linear-gradient(110deg, #e9f7f3, #f4fbff); }
.mobility-illustration { width: 6rem; height: 6rem; display: flex; align-items: center; justify-content: center; gap: .15rem; border-radius: 50%; background: #d8f0e8; color: var(--blue-deep); font-size: 1.9rem; }
.mobility-illustration span { color: #4e8b6e; font-size: 1.2rem; font-weight: 800; }
.mobility-panel .eyebrow { margin: 0 0 .25rem; color: #4c7c75; font-size: .68rem; }
.mobility-panel h2 { margin: 0 0 .4rem; color: var(--blue-deep); font-size: 1.4rem; }
.mobility-panel p:not(.eyebrow) { max-width: 58rem; color: #3d5d77; font-size: .85rem; }
.mobility-panel h3 { margin: .9rem 0 .2rem; color: var(--blue-deep); font-size: .95rem; }
.mobility-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .4rem; margin: .5rem 0 .8rem; padding: 0; list-style: none; }
.mobility-benefits li { padding: .5rem .55rem; border-radius: .5rem; background: rgb(255 255 255 / 72%); color: #315c67; font-size: .75rem; font-weight: 650; line-height: 1.35; }
.mobility-invitation { margin-block: .65rem; padding: .2rem .85rem; border-left: 3px solid #67a787; }
.mobility-invitation p { margin: .25rem 0; }
.mobility-proposal-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin-top: 1rem; padding: .9rem; border: 1px solid #d8e9e4; border-radius: .75rem; background: rgb(255 255 255 / 82%); }
.mobility-proposal-form .form-field { min-width: 0; }
.mobility-proposal-form .form-field-wide { grid-column: 1 / -1; }
.mobility-proposal-form label { display: block; margin-bottom: .25rem; color: #315c67; font-size: .75rem; font-weight: 750; }
.mobility-proposal-form input, .mobility-proposal-form textarea { width: 100%; padding: .55rem .65rem; border: 1px solid #c9ddd9; border-radius: .45rem; background: #fff; color: var(--ink); font-size: .84rem; }
.mobility-proposal-form textarea { min-height: 6rem; resize: vertical; }
.mobility-proposal-form input:focus, .mobility-proposal-form textarea:focus { border-color: #448772; outline: 3px solid rgb(68 135 114 / 18%); }
.mobility-proposal-form .form-note { grid-column: 1 / -1; margin: -.25rem 0 0; color: #58766e !important; font-size: .7rem !important; line-height: 1.45; }
.archive-note { display: flex; align-items: center; gap: .8rem; margin-bottom: 1.5rem; padding: .8rem 1rem; border: 1px solid #e2edf5; border-radius: .75rem; background: #f6fbff; }
.archive-note > span { color: var(--blue); font-size: 1.5rem; }
.archive-note p { flex: 1; margin: 0; color: #486984; font-size: .84rem; }
.archive-section { scroll-margin-top: 7rem; }
.section-subtitle { margin: .15rem 0 0 .68rem; color: #64809a; font-size: .78rem; }
.archive-count { color: #6a8398; font-size: .72rem; white-space: nowrap; }
.document-list { display: grid; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.document-row { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr) auto; align-items: center; gap: .7rem; min-height: 4.1rem; padding: .55rem .75rem; border: 1px solid #e3edf5; border-radius: .65rem; background: #fff; }
.document-file-icon { width: 2.15rem; height: 2.35rem; display: grid; place-items: center; border: 1px solid #d9e7f1; border-radius: .4rem; background: #edf6fc; color: var(--blue); font-size: .58rem; font-weight: 850; }
.document-row b, .document-row small { display: block; }
.document-row b { color: #204b73; font-size: .82rem; line-height: 1.35; }
.document-row small { margin-top: .15rem; color: #748da1; font-size: .68rem; }
.document-row-copy { min-width: 0; }
.document-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .4rem; }
.document-actions .button { white-space: nowrap; }
.document-preview-dialog { width: min(82rem, calc(100vw - 2rem)); height: min(92dvh, 58rem); max-width: none; max-height: calc(100dvh - 2rem); padding: 0; overflow: hidden; border: 0; border-radius: 1rem; background: #fff; color: var(--ink); box-shadow: 0 1.5rem 5rem rgb(3 28 56 / 30%); }
.document-preview-dialog::backdrop { background: rgb(3 30 58 / 66%); backdrop-filter: blur(3px); }
.document-preview-shell { height: 100%; display: grid; grid-template-rows: auto minmax(0, 1fr); }
.document-preview-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border-bottom: 1px solid #dce8f1; background: #f7fbfe; }
.document-preview-header .eyebrow { margin: 0 0 .1rem; color: #66829a; font-size: .65rem; }
.document-preview-header h2 { max-width: min(60vw, 48rem); margin: 0; overflow: hidden; color: var(--blue-deep); font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
.document-preview-controls { display: flex; flex: 0 0 auto; align-items: center; gap: .55rem; }
.document-preview-close { width: 2.25rem; height: 2.25rem; border: 1px solid #d6e2ec; border-radius: 50%; background: #fff; color: var(--blue-deep); cursor: pointer; font-size: 1.5rem; line-height: 1; }
.document-preview-frame { width: 100%; height: 100%; display: block; border: 0; background: #e8edf1; }
.document-preview-image-stage { min-height: 0; display: grid; place-items: start center; overflow: auto; padding: 1rem; background: #e8edf1; }
.document-preview-image-stage img { width: auto; max-width: 100%; height: auto; object-fit: contain; background: #fff; box-shadow: 0 4px 20px rgb(15 42 65 / 15%); }
.document-preview-dialog [hidden] { display: none !important; }
.document-request-dialog { width: min(34rem, calc(100vw - 2rem)); max-width: none; max-height: calc(100dvh - 2rem); padding: 0; overflow: auto; border: 0; border-radius: 1rem; background: #fff; color: var(--ink); box-shadow: 0 1.5rem 5rem rgb(3 28 56 / 30%); }
.document-request-dialog::backdrop { background: rgb(3 30 58 / 56%); backdrop-filter: blur(3px); }
.document-request-form { position: relative; display: grid; gap: .8rem; padding: 1.6rem; }
.document-request-form .eyebrow { margin: 0; color: var(--blue); }
.document-request-form h2 { margin: -.5rem 2.25rem 0 0; color: var(--blue-deep); font-size: 1.6rem; line-height: 1.2; }
.document-request-intro { margin: -.35rem 0 .2rem; color: #55728c; font-size: .88rem; }
.document-request-close { position: absolute; top: .85rem; right: .85rem; width: 2.4rem; height: 2.4rem; border: 1px solid #dbe7f0; border-radius: 50%; background: #fff; color: var(--blue-deep); cursor: pointer; font-size: 1.55rem; line-height: 1; }
.document-request-field { display: grid; gap: .3rem; }
.document-request-field label { color: #315675; font-size: .78rem; font-weight: 750; }
.document-request-field input, .document-request-field select { width: 100%; min-width: 0; padding: .7rem .75rem; border: 1px solid #cddde9; border-radius: .55rem; background: #fff; color: var(--ink); font: inherit; font-size: .88rem; }
.document-request-field input:focus, .document-request-field select:focus { border-color: var(--blue); outline: 3px solid rgb(7 85 172 / 16%); }
.document-request-field input:invalid:not(:focus) { border-color: #cbd8e1; }
.document-request-note { margin: 0; color: #617c93; font-size: .74rem; line-height: 1.5; }
.document-request-status { margin: 0; font-size: .82rem; font-weight: 700; line-height: 1.45; }
.document-request-status:empty { display: none; }
.document-request-status.is-success { color: #24724c; }
.document-request-status.is-error { color: #a42c24; }
.document-request-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.document-request-actions .button:disabled { cursor: wait; opacity: .7; }
.document-request-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem; margin-top: .2rem; }
.pact-request-dialog { width: min(38rem, calc(100vw - 2rem)); }
.pact-request-form { gap: .72rem; }
.pact-request-form h2 { max-width: 30rem; text-transform: none; }
.pact-request-form textarea { width: 100%; min-width: 0; padding: .7rem .75rem; border: 1px solid #cddde9; border-radius: .55rem; background: #fff; color: var(--ink); font: inherit; font-size: .88rem; resize: vertical; }
.pact-request-form textarea:focus { border-color: var(--blue); outline: 3px solid rgb(7 85 172 / 16%); }
.pact-request-form .document-request-note { padding: .7rem .8rem; border-radius: .55rem; background: #f3f8fc; }
.pact-request-form .button { min-height: 2.7rem; }
.collaboration-request-form .document-request-field { margin: 0; }
.button-quiet { border: 1px solid #d9e6ef; background: #fff; color: var(--blue-deep); }
.blog-intro { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.15rem; padding: .9rem 1rem; border-radius: .75rem; background: #edf6fc; }
.blog-intro p { max-width: 45rem; margin: 0; color: #496a84; font-size: .84rem; }
.journal-archive { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.journal-archive-card { min-height: 14.5rem; }
.journal-card::after { z-index: 0; }
.journal-cover { position: relative; z-index: 1; width: calc(100% + 2.3rem); height: 9rem; margin: .75rem -1.15rem .15rem; border-radius: .55rem; object-fit: cover; }
.journal-archive-card h2 { max-width: 16rem; margin: .55rem 0 .35rem; color: var(--blue-deep); font-size: 1.08rem; line-height: 1.25; }
.post-full { width: 100%; margin-top: auto; padding-top: .5rem; border-top: 1px solid #dce9f2; color: #45627a; }
.post-full summary { color: var(--blue); font-size: .76rem; font-weight: 800; cursor: pointer; }
.post-full p { margin: .55rem 0 0; color: #45627a; font-size: .77rem; line-height: 1.5; }
.journal-cover + h2 { margin-top: .7rem; }
.contact-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 1rem; }
.contact-form-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(15rem, .75fr); align-items: stretch; gap: 1rem; }
.contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 1rem; max-width: none; padding: 1.2rem; border: 1px solid #dfebf4; border-radius: var(--radius); background: #f6faff; }
.contact-form-wide { grid-column: 1 / -1; }
.contact-community { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; justify-content: center; overflow: hidden; min-height: 100%; padding: 1.6rem; border: 1px solid #d7e8f5; border-radius: var(--radius); background: linear-gradient(145deg, #edf7ff, #dceeff); }
.contact-community .eyebrow { margin: 0 0 .55rem; color: #527795; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.contact-community h2 { position: relative; z-index: 1; margin: 0 0 .65rem; color: var(--blue-deep); font-size: 1.55rem; line-height: 1.2; }
.contact-community p:not(.eyebrow) { position: relative; z-index: 1; margin: 0 0 1.1rem; color: #45627a; line-height: 1.65; }
.contact-community .button { position: relative; z-index: 1; }
.community-mark { position: absolute; right: -1rem; bottom: -2.7rem; color: rgb(7 85 172 / 7%); font-size: 11rem; line-height: 1; }
.contact-form textarea { width: 100%; min-width: 0; padding: .7rem .75rem; border: 1px solid #cddde9; border-radius: .55rem; background: #fff; color: var(--ink); font: inherit; font-size: .9rem; resize: vertical; }
.contact-form textarea:focus { border-color: var(--blue); outline: 3px solid rgb(7 85 172 / 16%); }
.contact-form .document-request-actions { margin-top: 0; }
.contact-form .document-request-note a { color: var(--blue); font-weight: 700; }
.contact-card { min-height: 15rem; padding: 1.15rem; border: 1px solid #dfebf4; border-radius: var(--radius); background: #f6faff; }
.contact-card-main { background: linear-gradient(135deg, #0755ac, #07417e); color: #fff; }
.contact-symbol { width: 2.5rem; height: 2.5rem; display: grid; place-items: center; margin-bottom: .75rem; border: 1px solid currentColor; border-radius: .7rem; color: var(--blue); font-size: 1.35rem; }
.contact-card-main .contact-symbol { color: var(--yellow); }
.contact-card .eyebrow { margin: 0 0 .2rem; color: #65839c; font-size: .65rem; }
.contact-card-main .eyebrow { color: #d5e8f8; }
.contact-card h2 { margin: 0 0 .45rem; color: var(--blue); font-size: 1.2rem; }
.contact-card-main h2 { color: #fff; }
.contact-card p:not(.eyebrow) { color: #4c6982; font-size: .85rem; }
.contact-card-main p:not(.eyebrow) { color: #e1eff9; }
.contact-card .text-link { display: inline-block; margin-top: .5rem; }
.partner-intro { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; padding: 1rem 1.15rem; border-radius: .8rem; background: #edf6fc; }
.partner-intro p { max-width: 48rem; margin: 0; color: #486882; font-size: .86rem; }

.partner-list-section { margin: 0 0 2.5rem; }
.partner-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin: 0 0 1rem; padding: 0 0 .7rem; border-bottom: 1px solid #dce9f3; }
.partner-section-heading .eyebrow { margin: 0 0 .25rem; color: #63819c; font-size: .68rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.partner-section-heading h2 { margin: 0; color: var(--blue-deep); font-size: 1.28rem; }
.partner-section-heading > p:last-child { margin: 0; color: #617b91; font-size: .83rem; }
.partner-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.partner-card { position: relative; min-height: 12rem; display: grid; grid-template-columns: 2.7rem 7.4rem minmax(0, 1fr); align-items: center; gap: .95rem; overflow: hidden; padding: 1.1rem; border: 1px solid #dce8f1; border-radius: 1rem; background: #fff; box-shadow: 0 8px 24px rgba(18, 55, 91, .055); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.partner-card:hover { transform: translateY(-3px); border-color: #bfd7ea; box-shadow: 0 14px 32px rgba(18, 55, 91, .11); }
.partner-card-with-logo { grid-template-columns: 2.7rem 7.4rem minmax(0, 1fr); }
.partner-card-logo { display: block; box-sizing: border-box; width: 7.4rem; height: 6.4rem; padding: .75rem; border: 1px solid #e8eff5; border-radius: .85rem; background: linear-gradient(145deg, #f9fbfd, #f1f6fa); object-fit: contain; }
.partner-card-logo-placeholder { display: block; width: 7.4rem; height: 6.4rem; }
.partner-number { width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: .8rem; background: #e9f3fb; color: var(--blue); font-size: .76rem; font-weight: 850; }
.partner-card h2 { margin: .1rem 0 .45rem; color: var(--blue-deep); font-size: 1.15rem; line-height: 1.25; }
.partner-card p { margin: 0 0 .8rem; color: #4b6982; font-size: .88rem; line-height: 1.55; }
.partner-card a, .partner-no-link { color: var(--blue); font-size: .8rem; font-weight: 800; text-decoration: none; }
.partner-card a { display: inline-flex; align-items: center; gap: .55rem; padding: .62rem .9rem; border: 1px solid #d5e5f2; border-radius: 999px; background: #f2f8fc; transition: background .2s ease, color .2s ease; }
.partner-card a:hover { background: var(--blue); color: #fff; }
.partner-no-link { display: inline-block; color: #6e8294; font-weight: 650; }
.partner-thanks { display: flex; align-items: center; gap: .7rem; margin-top: 1.3rem; padding: .85rem 1rem; border-radius: .7rem; background: #fff8cd; color: #355d7d; }
.partner-thanks span { font-size: 1.4rem; }
.partner-thanks p { margin: 0; font-size: .83rem; }
.partner-thanks a { color: var(--blue); font-weight: 800; text-decoration: none; }
.member-welcome p { max-width: 60rem; color: #45647d; font-size: .92rem; }
.member-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.member-benefit { display: grid; grid-template-columns: 2.35rem minmax(0, 1fr); gap: .7rem; padding: .85rem; border: 1px solid #e0ebf3; border-radius: .75rem; background: #f7fbfe; }
.member-benefit-mark { width: 2.15rem; height: 2.15rem; display: grid; place-items: center; border-radius: .65rem; background: #e5f2fc; color: var(--blue); font-size: .7rem; font-weight: 850; }
.member-benefit h2 { margin: 0 0 .18rem; color: var(--blue-deep); font-size: .9rem; }
.member-benefit p { margin: 0; color: #506b82; font-size: .77rem; line-height: 1.45; }
.membership-fees { display: grid; grid-template-columns: .9fr 1.4fr; align-items: center; gap: 1.2rem; margin-top: 1.4rem; padding: 1.3rem; border-radius: var(--radius); background: linear-gradient(115deg, #0755ac, #07417e); color: #fff; }
.membership-fees .eyebrow { margin: 0 0 .2rem; color: var(--yellow); }
.membership-fees h2 { margin: 0; color: #fff; font-size: 1.3rem; }
.membership-fees p:not(.eyebrow) { margin: .35rem 0 0; color: #e1eff9; font-size: .82rem; }
.fee-cards { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.fee-card { min-height: 6rem; display: flex; flex-direction: column; justify-content: center; gap: .25rem; padding: .8rem; border-radius: .7rem; background: #fff; color: var(--blue-deep); }
.fee-card-yellow { background: var(--yellow); }
.fee-card b { color: var(--blue); font-size: 1.65rem; line-height: 1; }
.fee-card span { font-size: .75rem; line-height: 1.35; }
.membership-steps { margin-top: 1.45rem; padding: 1.15rem; border: 1px solid #dfebf4; border-radius: var(--radius); background: #f7fbfe; }
.membership-steps ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.membership-steps li { display: flex; align-items: flex-start; gap: .65rem; padding: .8rem; border-radius: .7rem; background: #fff; }
.membership-steps li > span { width: 1.7rem; height: 1.7rem; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--yellow); color: var(--blue-deep); font-weight: 850; }
.membership-steps li b { color: var(--blue-deep); font-size: .82rem; }
.membership-steps li p { margin: .2rem 0 0; color: #536f86; font-size: .74rem; line-height: 1.45; }
.member-signup-section .section-heading { margin-bottom: .9rem; }
.member-signup-info { margin-bottom: 1rem; padding: .8rem .9rem; border-radius: .65rem; background: #eaf4fb; color: #3e607b; font-size: .84rem; line-height: 1.55; }
.member-registration-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem 1rem; }
.member-form-wide { grid-column: 1 / -1; }
.member-radio-group { min-width: 0; margin: 0; padding: .8rem .9rem; border: 1px solid #d9e7f1; border-radius: .65rem; background: #fff; }
.member-radio-group legend { padding: 0 .3rem; color: #315675; font-size: .8rem; font-weight: 750; line-height: 1.45; }
.member-radio-group legend span { color: #a42c24; }
.member-radio-options { display: flex; flex-wrap: wrap; gap: .7rem 1.25rem; padding-top: .35rem; }
.member-radio-options label { display: inline-flex; align-items: center; gap: .4rem; color: #355c7c; font-size: .85rem; cursor: pointer; }
.member-radio-options input { width: 1rem; height: 1rem; margin: 0; accent-color: var(--blue); }
.member-privacy-note { padding: .8rem .9rem; border-radius: .65rem; background: #edf5fb; }
.member-privacy-note a { color: var(--blue); font-weight: 700; }
.member-signup-section .document-request-actions { margin-top: 0; }


/* Legal information draft */
.legal-content { max-width: 58rem; margin-inline: auto; }
.legal-draft-banner { margin: 0 0 1.4rem; padding: 1rem 1.15rem; border: 1px solid #e9d45b; border-left: 4px solid #e5c822; border-radius: .7rem; background: #fff9d7; color: #654f00; font-size: .9rem; line-height: 1.55; }
.legal-section { padding: 1.4rem 0; border-bottom: 1px solid #dce8f1; scroll-margin-top: 1.5rem; }
.legal-section h2, .legal-sources h2 { margin: 0 0 .65rem; color: var(--blue); font-size: 1.45rem; }
.legal-section h3 { margin: 1.2rem 0 .35rem; color: var(--blue-deep); font-size: 1rem; }
.legal-section p, .legal-section li, .legal-sources li { color: #355875; font-size: .91rem; line-height: 1.65; }
.legal-section p { margin: .5rem 0; }
.legal-section ul, .legal-sources ul { padding-left: 1.25rem; }
.legal-section em { color: #725f16; }
.legal-facts { display: grid; gap: .5rem; margin: 1rem 0; }
.legal-facts div { display: grid; grid-template-columns: minmax(9rem, .55fr) 1.45fr; gap: .75rem; padding: .65rem .8rem; border-radius: .55rem; background: #f0f7fc; }
.legal-facts dt { color: var(--blue-deep); font-size: .85rem; font-weight: 800; }
.legal-facts dd { margin: 0; color: #355875; font-size: .85rem; }
.legal-facts a, .legal-section a, .legal-sources a { color: var(--blue); text-underline-offset: 2px; }
.legal-sources { padding: 1.35rem 0 .5rem; }

.school-calendar { display: grid; grid-template-columns: minmax(15rem, .72fr) minmax(0, 1.28fr); align-items: start; gap: 1.15rem; margin-top: 1.2rem; padding: clamp(1rem, 2.5vw, 1.5rem); border: 1px solid #dcebf5; border-radius: var(--radius); background: linear-gradient(120deg, #eff8fe, #fff 70%); }
.school-calendar-copy .eyebrow { margin: 0 0 .25rem; color: #557895; font-size: .68rem; }
.school-calendar-copy h2 { margin: 0 0 .35rem; color: var(--blue); font-size: 1.45rem; }
.school-calendar-copy > p:not(.eyebrow) { margin: 0 0 .85rem; color: #3d5d77; font-size: .88rem; }
.calendar-key-dates { display: grid; gap: .45rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.calendar-key-dates li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .2rem .7rem; padding: .6rem .68rem; border-radius: .55rem; background: #fff; color: #294e70; font-size: .88rem; line-height: 1.4; }
.calendar-key-dates b { color: #073a71; font-weight: 750; }
.calendar-teaching-dates { display: grid; gap: .35rem; margin: .9rem 0 1rem; }
.calendar-teaching-dates div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .25rem .7rem; padding: .52rem .65rem; border-left: 3px solid #77aa8f; border-radius: .35rem; background: #fff; color: #294e70; font-size: .86rem; line-height: 1.38; }
.calendar-teaching-dates dt { color: #294e70; font-weight: 700; }
.calendar-teaching-dates dd { margin: 0; color: #073a71; font-size: .86rem; font-weight: 800; white-space: nowrap; }
.school-calendar-figure { min-width: 0; margin: 0; padding: .45rem; border: 1px solid #e1ebf2; border-radius: .75rem; background: #fff; }
.school-calendar-figure img { width: 100%; height: auto; border-radius: .4rem; }
.school-calendar-figure figcaption { margin: .45rem .2rem .15rem; color: #5b7489; font-size: .7rem; line-height: 1.45; }

@media (min-width: 1500px) {
  .hero-reference { object-position: center 50%; }
}

@media (max-width: 940px) {
  .site-width { width: min(100% - 2rem, 76rem); }
  .brand { width: 13rem; flex-basis: 13rem; }
  .main-nav { gap: 0.65rem; }
  .main-nav a { font-size: 0.67rem; }
  .hero { min-height: 17rem; }
  .hero-shade { background: linear-gradient(115deg, rgb(3 42 91 / 70%), rgb(3 42 91 / 32%)); }
  .hero-content { position: relative; width: min(100% - 2rem, 38rem); height: auto; min-height: inherit; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding-block: 2rem; overflow: visible; clip: auto; white-space: normal; }
  .hero-eyebrow { display: none; }
  .hero h1 { display: block; font-size: clamp(2rem, 6vw, 3rem); font-style: italic; font-weight: 800; }
  .hero-note { display: block; font-family: "Bradley Hand", "Comic Sans MS", cursive; font-size: 0.95rem; letter-spacing: 0; }
  .quick-actions { grid-template-columns: 1.1fr 1fr; }
  .action-card { min-height: 11rem; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem 2rem; }
  .collaborators { grid-template-columns: 1fr; }
  .welcome-panel { grid-template-columns: 3.5rem 1fr; }
  .welcome-mark { width: 3.4rem; height: 3.4rem; }
  .welcome-panel > .text-link { grid-column: 2; }
  .journal-archive { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-card-main { grid-row: span 2; }
  #pacto, #papeletas, #chandals { grid-template-columns: 4.2rem minmax(0, 1fr); }
  #pacto .initiative-visual, #papeletas .initiative-visual, #chandals .initiative-visual { grid-column: 2; max-width: 31rem; }
}

@media (max-width: 760px) {
  .header-inner { min-height: 4.2rem; }
  .brand { width: min(13rem, calc(100% - 3.5rem)); flex: 0 1 13rem; }
  .brand img { max-height: 2.7rem; }
  .menu-toggle { width: 2.7rem; height: 2.7rem; display: grid; place-items: center; border: 1px solid #d9e7f1; border-radius: 0.7rem; background: #fff; color: var(--blue); }
  .menu-lines, .menu-lines::before, .menu-lines::after { width: 1.25rem; height: 2px; display: block; border-radius: 4px; background: currentColor; }
  .menu-lines { position: relative; }
  .menu-lines::before, .menu-lines::after { position: absolute; left: 0; content: ""; }
  .menu-lines::before { top: -0.4rem; }
  .menu-lines::after { top: 0.4rem; }
  .main-nav { position: absolute; top: calc(100% - 1px); right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 0.5rem 1rem 0.85rem; border-top: 1px solid #edf2f6; background: #fff; box-shadow: 0 0.8rem 1rem rgb(13 58 106 / 10%); }
  .main-nav.is-open { display: flex; }
  .main-nav a { padding: 0.72rem 0.6rem; border-bottom: 1px solid #edf2f6; font-size: 0.8rem; }
  .main-nav a.active { align-self: flex-start; margin-block: 0.3rem; padding: 0.45rem 0.85rem; }
  .main-nav a.nav-cta { align-self: flex-start; margin: .6rem 0 0; padding: .65rem 1rem; }
  .quick-actions { grid-template-columns: 1fr; gap: 0.75rem; }
}

@media (max-width: 820px) {
  .contact-form-layout { grid-template-columns: minmax(0, 1fr); }
  .contact-community { min-height: 13rem; }
}

@media (max-width: 680px) {
  .contact-form { grid-template-columns: minmax(0, 1fr); padding: .9rem; }
  .contact-form-wide { grid-column: auto; }
  .site-width { width: min(100% - 1.25rem, 38rem); }
  .search-result-grid { grid-template-columns: 1fr; }
  .school-calendar { grid-template-columns: minmax(0, 1fr); }
  .calendar-teaching-dates div { grid-template-columns: minmax(0, 1fr); }
  .document-row { grid-template-columns: 2.15rem minmax(0, 1fr); align-items: start; }
  .document-actions { grid-column: 2; }
  .document-actions .button { flex: 1 1 auto; }
  .document-preview-header { align-items: flex-start; padding: .7rem; }
  .document-preview-header h2 { max-width: 48vw; font-size: .84rem; white-space: normal; }
  .document-preview-controls { gap: .35rem; }
  .document-preview-controls .button { padding-inline: .65rem; font-size: .7rem; }
  .legal-facts div { grid-template-columns: 1fr; gap: .2rem; }
  .utility-bar { height: auto; min-height: 2.1rem; }
  .utility-inner { min-height: 2.1rem; }
  .utility-links { gap: 0.65rem; }
  .utility-links a { font-size: 0.67rem; }
  .search-box { width: 9.2rem; }
  .header-inner { min-height: 4.2rem; }
  .brand { width: 13rem; flex-basis: 13rem; }
  .brand img { height: auto; max-height: 2.7rem; }
  .menu-toggle { width: 2.7rem; height: 2.7rem; display: grid; place-items: center; border: 1px solid #d9e7f1; border-radius: 0.7rem; background: #fff; color: var(--blue); }
  .menu-lines, .menu-lines::before, .menu-lines::after { width: 1.25rem; height: 2px; display: block; border-radius: 4px; background: currentColor; }
  .menu-lines { position: relative; }
  .menu-lines::before, .menu-lines::after { position: absolute; left: 0; content: ""; }
  .menu-lines::before { top: -0.4rem; }
  .menu-lines::after { top: 0.4rem; }
  .main-nav { position: absolute; top: calc(100% - 1px); right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 0.5rem 1rem 0.85rem; border-top: 1px solid #edf2f6; background: #fff; box-shadow: 0 0.8rem 1rem rgb(13 58 106 / 10%); }
  .main-nav.is-open { display: flex; }
  .main-nav a { padding: 0.72rem 0.6rem; border-bottom: 1px solid #edf2f6; font-size: 0.8rem; }
  .main-nav a.active { align-self: flex-start; margin-block: 0.3rem; padding: 0.45rem 0.85rem; }
  .main-nav a.nav-cta { align-self: flex-start; margin: .6rem 0 0; padding: .65rem 1rem; }
  .hero { min-height: 17rem; }
  .hero-shade { background: linear-gradient(115deg, rgb(3 42 91 / 70%), rgb(3 42 91 / 32%)); }
  .hero-content { position: relative; width: min(100% - 1.25rem, 38rem); height: auto; min-height: inherit; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding-block: 2rem; overflow: visible; clip: auto; white-space: normal; }
  .hero-eyebrow { display: none; }
  .hero h1 { display: block; font-size: clamp(2rem, 8.5vw, 3rem); font-style: italic; font-weight: 800; }
  .hero-note { display: block; font-family: "Bradley Hand", "Comic Sans MS", cursive; font-size: 0.95rem; letter-spacing: 0; }
  .page-content { padding-top: 0.85rem; }
  .quick-actions { grid-template-columns: 1fr; gap: 0.75rem; }
  .action-card { min-height: 10.5rem; }
  .action-card-blue .action-copy { max-width: 72%; }
  .action-photo { width: 32%; }
  .action-card h2 { font-size: 1.05rem; }
  .action-card p { font-size: 0.84rem; }
  .initiative-grid { grid-template-columns: 1fr; gap: 0.75rem; }
  .initiative-card { display: grid; grid-template-columns: 35% 1fr; min-height: 10rem; }
  .initiative-visual { height: 100%; min-height: 10rem; }
  .initiative-copy { min-height: 0; padding: 0.78rem; }
  .initiative-copy p { min-height: 0; font-size: 0.8rem; }
  .phone-visual span { width: 2.6rem; height: 4rem; }
  .phone-visual b { width: 3.5rem; height: 3.5rem; font-size: 3.7rem; }
  .sweatshirt-visual { gap: 0.25rem; }
  .sweatshirt-visual::before, .sweatshirt-visual::after { top: 2.4rem; width: 3.15rem; height: 4.45rem; }
  .sweatshirt-visual::before { left: calc(50% - 2.75rem); }
  .sweatshirt-visual::after { right: calc(50% - 2.75rem); }
  .sweatshirt-visual span:nth-child(1) { left: calc(50% - 1.75rem); top: 4.2rem; }
  .sweatshirt-visual span:nth-child(2) { left: calc(50% + 0.45rem); top: 4.1rem; }
  .sweatshirt-visual span:nth-child(3) { left: calc(50% + 0.9rem); top: 4.65rem; }
  .project-grid { grid-template-columns: 1fr 1fr; gap: 0.45rem; }
  .project-card { min-height: 0; padding: .72rem; }
  .project-card p { font-size: .82rem; line-height: 1.5; }
  .project-chip { min-height: 3rem; padding: 0.42rem 0.5rem; font-size: 0.75rem; line-height: 1.3; }
  .project-chip span { flex: 0 0 1rem; }
  .document-grid { grid-template-columns: 1fr; gap: 0.55rem; }
  .document-card { min-height: 6.4rem; }
  .collaborators { gap: 0.85rem; padding: 0.9rem; }
  .collaborator-list { grid-template-columns: repeat(3, minmax(4rem, 1fr)); gap: 0.55rem; }
  .collaborator-mark { max-width: 6rem; width: 100%; justify-self: center; font-size: 0.62rem; }
  .collaborator-mark b { font-size: 0.64rem; }
  .welcome-panel { grid-template-columns: 2.8rem 1fr; gap: .7rem; padding: .85rem; }
  .welcome-mark { width: 2.7rem; height: 2.7rem; border-radius: .85rem; font-size: .95rem; }
  .welcome-panel h2 { font-size: 1rem; }
  .welcome-panel p:last-child { font-size: .77rem; }
  .welcome-panel > .text-link { grid-column: 1 / -1; }
  .journal-grid { grid-template-columns: 1fr; gap: .65rem; }
  .journal-card { min-height: 10.5rem; padding: .95rem; }
  .collaborator-invitation { align-items: flex-start; flex-direction: column; }
  .partner-intro { align-items: flex-start; flex-direction: column; }
  .partner-grid { grid-template-columns: 1fr; }
  .partner-card { grid-template-columns: 2.2rem 5rem minmax(0, 1fr); gap: .55rem; padding: .8rem; }
  .partner-card-logo { width: 5rem; height: 5rem; padding: .45rem; }
  .partner-card-logo-placeholder { width: 5rem; height: 5rem; }
  .partner-section-heading { align-items: flex-start; flex-direction: column; gap: .25rem; }
  .member-benefits { grid-template-columns: 1fr; }
  .membership-fees { grid-template-columns: 1fr; gap: .8rem; }
  .membership-steps ol { grid-template-columns: 1fr; }
  .member-registration-form { grid-template-columns: minmax(0, 1fr); }
  .member-form-wide { grid-column: auto; }
  .inner-hero { padding-block: 2.5rem; }
  .value-grid, .journal-archive, .contact-grid { grid-template-columns: 1fr; }
  .member-panel { grid-template-columns: 1fr; }
  .board-section { grid-template-columns: minmax(0, 1fr); }
  .board-member-list { grid-template-columns: minmax(0, 1fr); }
  .member-badge { display: none; }
  .initiative-detail { grid-template-columns: 2.8rem 1fr; gap: .75rem; padding: .9rem; }
  #pacto, #papeletas, #chandals { grid-template-columns: 2.8rem minmax(0, 1fr); }
  #pacto .initiative-visual, #papeletas .initiative-visual, #chandals .initiative-visual { height: 15rem; min-height: 15rem; }
  .initiative-number { width: 2.6rem; height: 2.6rem; border-radius: .75rem; font-size: 1.1rem; }
  .initiative-detail h2 { font-size: 1.25rem; }
  .initiative-detail p:not(.eyebrow) { font-size: .84rem; }
  .mobility-panel { grid-template-columns: 1fr; gap: .75rem; padding: .9rem; }
  .mobility-proposal-form { grid-template-columns: minmax(0, 1fr); }
  .mobility-proposal-form .form-field-wide, .mobility-proposal-form .form-note { grid-column: auto; }
  .mobility-illustration { width: 4.5rem; height: 4.5rem; font-size: 1.45rem; }
  .mobility-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .archive-note { flex-wrap: wrap; }
  .archive-note p { min-width: calc(100% - 3rem); }
  .document-row { grid-template-columns: 2.15rem minmax(0, 1fr); gap: .55rem; }
  .document-actions { grid-column: 2; justify-self: start; }
  .archive-count { font-size: .64rem; }
  .blog-intro, .callout-panel { align-items: flex-start; flex-direction: column; }
  .contact-card-main { grid-row: auto; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 1.35rem 1rem; padding-top: 2rem; }
  .footer-about, .footer-contact { grid-column: 1 / -1; }
  .footer-grid h2 { font-size: 0.9rem; }
  .footer-bottom-inner { min-height: 3.4rem; flex-direction: column; align-items: flex-start; justify-content: center; gap: 0.25rem; padding-block: 0.6rem; font-size: 0.65rem; }
}

@media (max-width: 390px) {
  .utility-links { gap: 0.45rem; }
  .utility-links a { font-size: 0.62rem; }
  .search-box { width: 7.4rem; }
  .action-card-blue .action-copy { max-width: 70%; }
  .action-card p { max-width: 14rem; }
  .action-photo { width: 30%; }
  .section-heading h2 { font-size: 1.05rem; }
  .text-link { font-size: 0.72rem; }
}

/* Improve reading size throughout the content sections. */
.section-heading h2 { font-size: clamp(1.24rem, 1.16rem + .35vw, 1.42rem); }
.text-link { font-size: .86rem; }
.section-subtitle { font-size: .9rem; }
.initiative-copy h3, .document-card h3 { font-size: 1.08rem; }
.initiative-copy p { font-size: .92rem; line-height: 1.5; }
.project-chip { font-size: .9rem; }
.document-card p { font-size: .9rem; }
.collaborators-intro h2 { font-size: 1.2rem; }
.collaborators-intro p { font-size: .9rem; line-height: 1.5; }
.archive-note p, .blog-intro p, .partner-intro p { font-size: .94rem; line-height: 1.55; }
.document-row b { font-size: .92rem; }
.document-row small { font-size: .78rem; }

.project-card h3 { font-size: 1rem; }
.project-card p { font-size: .88rem; }
.project-more { font-size: .8rem; }
.journal-card p { font-size: .88rem; }
.post-full summary { font-size: .84rem; }
.post-full p { font-size: .86rem; }
.partner-card h2 { font-size: 1.05rem; }
.partner-card p { font-size: .88rem; }
.partner-card a, .partner-no-link { font-size: .8rem; }
.member-benefit h2 { font-size: 1rem; }
.member-benefit p { font-size: .88rem; }
.membership-fees p:not(.eyebrow) { font-size: .9rem; }
.membership-steps li b { font-size: .9rem; }
.membership-steps li p { font-size: .82rem; }
.mobility-panel p:not(.eyebrow) { font-size: .92rem; line-height: 1.55; }
.mobility-benefits li { font-size: .82rem; }

@media (max-width: 680px) {
  .section-heading h2 { font-size: 1.24rem; }
  .text-link { font-size: .82rem; }
  .initiative-copy h3, .document-card h3 { font-size: 1.04rem; }
  .initiative-copy p { font-size: .9rem; line-height: 1.45; }
  .project-chip { font-size: .86rem; }
  .collaborators-intro h2 { font-size: 1.16rem; }
  .collaborators-intro p, .archive-note p { font-size: .88rem; }
  .document-row b { font-size: .9rem; }
  .document-row small { font-size: .77rem; }
  .document-actions { justify-content: flex-start; }
  .project-card p, .journal-card p, .partner-card p, .member-benefit p { font-size: .86rem; }
  .mobility-panel p:not(.eyebrow) { font-size: .9rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}
/* La agenda se incorpora al menú: desplegar antes de que los enlaces se aprieten. */
@media (max-width:1180px) {
 .header-inner { min-height:4.5rem; }
 .brand { width:15rem; flex:0 1 15rem; }
 .menu-toggle { width:2.7rem; height:2.7rem; display:grid; place-items:center; border:1px solid #d9e7f1; border-radius:.7rem; background:#fff; color:var(--blue); }
 .menu-lines,.menu-lines::before,.menu-lines::after { width:1.25rem; height:2px; display:block; border-radius:4px; background:currentColor; }
 .menu-lines { position:relative; }
 .menu-lines::before,.menu-lines::after { position:absolute; left:0; content:""; }
 .menu-lines::before { top:-.4rem; } .menu-lines::after { top:.4rem; }
 .main-nav { position:absolute; top:calc(100% - 1px); right:0; left:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:.5rem 1rem .85rem; border-top:1px solid #edf2f6; background:#fff; box-shadow:0 .8rem 1rem #0d3a6a1a; }
 .main-nav.is-open { display:flex; }
 .main-nav a { padding:.72rem .6rem; border-bottom:1px solid #edf2f6; font-size:.8rem; }
 .main-nav a.active { align-self:flex-start; margin-block:.3rem; padding:.45rem .85rem; }
 .main-nav a.nav-cta { align-self:flex-start; margin:.6rem 0 0; padding:.65rem 1rem; }
}
@media(max-width:680px) { .brand { width:13rem; flex-basis:13rem; } }
