/* gsm.org.my look, applied through the builder's class hooks (gsm-*). */
body { color: #000; background: #fff; }
@keyframes gsm-wobble { 16.65% { transform: translateY(8px); } 33.3% { transform: translateY(-6px); } 49.95% { transform: translateY(4px); } 66.6% { transform: translateY(-2px); } 83.25% { transform: translateY(1px); } 100% { transform: translateY(0); } }

/* ---------- header (sticky, white, soft shadow) ---------- */
header:has(.gsm-header) { background: #fff; box-shadow: 0 1px 6px rgb(0 0 0 / .12); }
.gsm-header { background: #fff; }
.gsm-header > div { max-width: 1260px; padding-left: 0; padding-right: 0; }
.gsm-header-cols.grid { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 82px; }
.gsm-header-cols > div:first-child { flex: 0 0 auto; }
.gsm-header-cols > div:last-child { flex: 1 1 auto; }
.gsm-logo img { width: 215px; height: auto; }
.gsm-nav { padding-left: 112px; }
.gsm-nav nav { font-size: 14px; }
.gsm-nav > nav > ul { justify-content: center; gap: 24px; flex-wrap: nowrap; }
.gsm-nav summary, .gsm-nav a { font-weight: 600; color: #6b6b6b; background: transparent; padding: 8px 4px; border-radius: 0; text-decoration: none; transition: color .2s; }
.gsm-nav summary:hover, .gsm-nav a:hover, .gsm-nav details:hover > summary, .gsm-nav a[aria-current="page"], .gsm-nav details:has(> a[aria-current="page"]) > summary { color: #2d5a97; background: transparent; text-decoration: none; }
.gsm-nav summary svg { display: none; }
.gsm-nav summary { gap: 0; }
.gsm-nav summary::after { content: ""; display: inline-block; margin-left: 7px; border: 4px solid transparent; border-top: 5px solid currentColor; border-bottom: 0; vertical-align: middle; }
.gsm-nav details > a { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); padding: 0; }
.gsm-nav details > ul { background: #fff; border: 0; border-radius: 0; box-shadow: 0 8px 20px rgb(0 0 0 / .12); padding: 6px 0; min-width: 240px; }
.gsm-nav details > ul a, .gsm-nav details > ul summary { padding: 9px 18px; white-space: nowrap; }

/* ---------- hero ---------- */
.gsm-hero { min-height: 700px; padding: 0; }
.gsm-hero > div { max-width: 1000px; }
.gsm-hero-title { color: #fff; font-size: clamp(44px, 7vw, 100px); line-height: 1.08; font-weight: 700; letter-spacing: -.01em; margin: 0 0 28px; }
.gsm-hero-sub { color: #fff; font-size: clamp(20px, 2.4vw, 32px); line-height: 1.25; font-weight: 500; letter-spacing: 0; max-width: 780px; margin: 0 auto; }

/* ---------- generic bands and inner pages ---------- */
.gsm-band > div, .gsm-inner > div, .gsm-entry > div, .gsm-wg > div { max-width: 1184px; }
.gsm-band { padding-top: 40px; padding-bottom: 40px; }
.gsm-banner { min-height: 200px; padding: 0; background-size: cover; background-position: center; }
.gsm-banner-title { color: #fff; font-size: 32px; font-weight: 700; letter-spacing: 0; margin: 0; }
.gsm-inner hr, .gsm-inner [role="separator"] { border-color: #ececec; }
.gsm-row.grid { gap: 48px; align-items: start; }
@media (min-width: 768px) { .gsm-row.grid { grid-template-columns: 2fr 3fr; } }
.gsm-row.grid > div { grid-column: auto; }
.gsm-row-title { font-size: 30px; line-height: 1.25; font-weight: 700; color: #000; letter-spacing: 0; }
.gsm-row-label { font-size: 26px; line-height: 1.2; font-weight: 700; color: #000; letter-spacing: 0; }
.gsm-row-text { font-size: 17px; line-height: 1.45; color: #000; }
.gsm-row-text p { margin: 0 0 12px; }
.gsm-row-text ul { list-style: disc; padding-left: 24px; margin: 0; }
.gsm-row-text ul ul { list-style: circle; }
.gsm-council-row { margin-bottom: 12px; }
.gsm-council-row .gsm-row-text p { font-size: 16px; line-height: 1.15; margin: 0; }
.gsm-council-row .gsm-row-label { font-size: 24px; }
.gsm-council-poster img { max-width: 500px; margin: 0 auto; }
.gsm-plain-title { font-size: 36px; font-weight: 700; margin: 0 0 16px; letter-spacing: 0; }
.gsm-doc { font-size: 16px; line-height: 1.5; }
.gsm-doc h3 { font-size: 16px; font-weight: 700; margin: 24px 0 8px; }
.gsm-doc ul { list-style: disc; padding-left: 40px; margin: 0 0 12px; }
.gsm-doc p { margin: 0 0 12px; }
.gsm-doc li { line-height: 1.25; margin: 0 0 4px; }

/* ---------- welcome ---------- */
.gsm-welcome.grid { gap: 48px; align-items: start; }
@media (min-width: 768px) { .gsm-welcome.grid { grid-template-columns: 1fr 2fr; } }
.gsm-welcome.grid > div { grid-column: auto; }
.gsm-welcome-title { font-size: 28px; line-height: 1.25; font-weight: 700; color: #000; letter-spacing: 0; }
.gsm-welcome-text { font-size: 14.5px; line-height: 1.45; }
.gsm-welcome-text p { margin: 0; }

/* ---------- slider + quick buttons ---------- */
.gsm-quick.grid { gap: 14px; align-items: center; }
@media (min-width: 768px) { .gsm-quick.grid { grid-template-columns: 1fr 1fr; } }
.gsm-slider { border-radius: 8px; overflow: hidden; }
.gsm-slider [data-carousel-item] { min-height: 273px; padding: 0; }
.gsm-slider h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.gsm-quick > div:last-child { gap: 11px; }
.gsm-listbtn a { width: 100%; justify-content: space-between; background: #f2f2f2; color: #1d1d1f; font-weight: 700; font-size: 15px; height: 78px; padding: 0 22px; border-radius: 6px; box-shadow: none; }
.gsm-listbtn a:hover { background: #e8e8ea; color: #1d1d1f; }
.gsm-listbtn a svg { width: 18px; height: 18px; }

/* ---------- publication cards ---------- */
.gsm-pubcards { gap: 20px; }
.gsm-pubcard { border: 1px solid #dcdcdc; border-radius: 6px; background: #fff; padding: 8px; }
.gsm-pubcard-cols.grid { grid-template-columns: 100px 1fr; gap: 16px; align-items: center; }
.gsm-pubcard-cols.grid > div { grid-column: auto; }
.gsm-pubcard-cols img { width: 100px; height: auto; }
.gsm-pubcard-title { font-size: 18px; line-height: 1.25; font-weight: 700; margin: 0; letter-spacing: 0; }
.gsm-pubcard p { margin: 0; font-size: 13px; line-height: 1.3; }
.gsm-seemore a { padding: 0; height: auto; color: #f23459; font-size: 12px; font-weight: 600; text-decoration: none; background: transparent; }
.gsm-seemore a:hover { background: transparent; text-decoration: underline; }

/* ---------- rails (carousels) ---------- */
.gsm-rail { gap: 10px; }
.gsm-rail > div:first-child h2 { font-size: 18px; font-weight: 700; letter-spacing: 0; }
.gsm-rail > div:first-child a { color: #4a4a4a; font-size: 11px; font-weight: 500; }
.gsm-rail > div:first-child a svg { display: none; }
.gsm-rail > .relative { padding: 0 28px; }
.gsm-rail [data-carousel-track] { gap: 16px; padding-bottom: 6px; }
.gsm-rail article, .gsm-grid article { background: #fff; border: 1px solid #e4e4e4; border-radius: 4px; padding: 6px 12px; box-shadow: 0 1px 3px rgb(0 0 0 / .08); min-height: 66px; }
.gsm-rail article h3 { font-size: 12px; font-weight: 600; line-height: 1.35; }
.gsm-rail article p { font-size: 8px; color: #9a9a9a; line-height: 1.35; }
.gsm-rail article a, .gsm-grid article a { text-decoration: none; }
.gsm-rail > .relative button { pointer-events: auto; width: 36px; height: 36px; border-radius: 999px; background: #ececec; border: 0; color: #444; }

/* ---------- CTA cards ---------- */
.gsm-ctas { gap: 16px; }
.gsm-cta { border-radius: 28px; min-height: 355px; padding: 0; overflow: hidden; background-size: cover; }
.gsm-cta > div { max-width: none; padding: 0 46px; }
.gsm-cta-black { background: #000; color: #fff; }
.gsm-cta-navy { background-color: #10305c; color: #fff; }
.gsm-cta-navy > img { opacity: .9; }
.gsm-cta-title { color: #fff; font-size: 34px; line-height: 1.2; font-weight: 700; margin: 0 0 14px; letter-spacing: 0; }
.gsm-cta-text { color: #fff; font-size: 20px; line-height: 1.35; font-weight: 500; }
.gsm-cta-text p { margin: 0 0 22px; color: #fff; }
.gsm-cta-btn a { background: #f23459; color: #fff; height: 42px; padding: 0 24px; border-radius: 4px; font-size: 14px; font-weight: 500; box-shadow: none; }
.gsm-cta-btn a:hover { background: #d92b4e; }
.gsm-cta-band .gsm-cta { border-radius: 6px; min-height: 338px; }
.gsm-cta-wide > div { padding: 0 64px; }
.gsm-cta-wide .gsm-cta-title { font-size: 48px; margin-bottom: 8px; }
.gsm-cta-wide .gsm-cta-text { font-size: 24px; line-height: 1.2; max-width: 560px; }
.gsm-cta-wide .gsm-cta-btn a { height: 56px; padding: 0 32px; font-size: 18px; }
.gsm-submit-band h2 { font-size: 22px; font-weight: 700; margin-bottom: 12px; }
.gsm-submit { justify-items: center; }

/* ---------- footer ---------- */
.gsm-footer { background: #fff; padding: 10px 0 30px; }
.gsm-footer > div { max-width: 1184px; }
.gsm-social a { background: #e4e4e6; color: #555; width: 40px; height: 40px; border-radius: 6px; }
.gsm-social a:hover, .gsm-totop a:hover { animation: gsm-wobble 1s ease-in-out 1; }
.gsm-social a:hover { background: #d4d4d6; }
.gsm-totop { justify-content: flex-end; }
.gsm-totop a { color: #444; }
.gsm-totop a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.gsm-totop a:hover { background: transparent; color: #f23459; }

/* ---------- forms and contact ---------- */
.gsm-contact.grid { gap: 32px; }
@media (min-width: 768px) { .gsm-contact.grid { grid-template-columns: 2fr 1fr; } }
.gsm-contact.grid > div { grid-column: auto; }
.gsm-form label { font-size: 17px; font-weight: 400; color: #555; }
.gsm-form input:not([type="checkbox"]):not([type="file"]), .gsm-form textarea, .gsm-form select { border: 1px solid #3b3b3b; border-radius: 5px; background: #fff; min-height: 47px; font-size: 15px; padding: 0 16px; }
.gsm-form textarea { min-height: 104px; padding: 12px 16px; }
.gsm-form input::placeholder, .gsm-form textarea::placeholder { color: #aaa; }
.gsm-form button[type="submit"] { width: 100%; height: 58px; background: #2d5a97; color: #fff; border-radius: 6px; font-size: 15px; font-weight: 700; box-shadow: none; }
.gsm-form button[type="submit"]:hover { background: #244a7d; }
.gsm-contact-dark .gsm-form input:not([type="checkbox"]):not([type="file"]), .gsm-contact-dark .gsm-form textarea { border-color: #2d2d2d; border-radius: 3px; min-height: 40px; }
.gsm-contact-dark .gsm-form label { font-size: 15px; }
.gsm-contact-dark .gsm-form button[type="submit"] { background: #222; border-radius: 3px; height: 40px; font-weight: 500; }
.gsm-contact-card { background: #ebebeb; border-radius: 8px; padding: 16px; }
.gsm-contact-card .gsm-map { margin-bottom: 16px; border-bottom: 1px solid #c9c9c9; padding-bottom: 16px; }
.gsm-contact-list { font-size: 14px; color: #333; }
.gsm-contact-list li:first-child { font-size: 14px; }
.gsm-outline-dark a { border: 2px solid #1d1d1f; color: #1d1d1f; background: transparent; border-radius: 4px; font-weight: 600; height: 46px; padding: 0 24px; }
.gsm-outline-dark a:hover { background: #1d1d1f; color: #fff; }

/* ---------- memberships ---------- */
.gsm-pill { display: inline-block; background: #fde8ed; color: #f23459; font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 999px; }
.gsm-membercards.grid { gap: 8px; align-items: stretch; }
.gsm-membercard { border: 1px solid #eee; border-radius: 8px; padding: 14px 12px; background: #fff; }
.gsm-member-desc { font-size: 13px; line-height: 1.3; }
.gsm-member-fee p { margin: 0 0 4px; font-size: 16px; line-height: 1.25; }
.gsm-member-fee p.gsm-small { font-size: 10px; color: #8a8a8a; font-weight: 400; }
.gsm-small { font-size: 12px; color: #555; }
.gsm-grey-box { background: #c4c4c4; color: #333; padding: 10px 24px; margin: 0 0 14px; }
.gsm-membercard .gsm-cta-btn a { height: 46px; padding: 0 28px; }

/* ---------- working groups ---------- */
.gsm-wg { background: #f5f5f5; }
.gsm-wgrow { margin-bottom: 20px; }
.gsm-wgrow.grid { gap: 20px; padding: 0 10px; }
.gsm-wgcard { border: 1px solid #ddd; border-radius: 8px; background: #f5f5f5; padding: 24px 32px; }
.gsm-wgcard > div { max-width: none; padding: 0; }
.gsm-wg-title { font-size: 20px; line-height: 1.25; font-weight: 600; color: #222; margin: 0 0 14px; letter-spacing: 0; }
.gsm-wg-chair { font-size: 15px; color: #6b6b6b; margin-bottom: 18px; }
.gsm-wg-chair p { margin: 0; }
.gsm-outline-blue a { border: 1px solid #007aff; color: #007aff; background: transparent; border-radius: 10px; height: 41px; padding: 0 24px; font-weight: 500; font-size: 14px; }
.gsm-outline-blue a:hover { background: #007aff; color: #fff; }

/* ---------- publications tiles, listing pages ---------- */
.gsm-tiles.grid { gap: 8px; }
.gsm-tile { width: 100%; }
.gsm-tile a { width: 100%; height: 170px; background: #f2f2f2; color: #1d1d1f; font-size: 18px; font-weight: 500; text-transform: uppercase; white-space: normal; text-align: center; border-radius: 8px; padding: 0 40px; }
.gsm-tile a:hover { background: #e8e8ea; color: #1d1d1f; }
.gsm-listing-head { background: #f5f5f5; }
.gsm-listing-head > div { max-width: 1184px; }
.gsm-back a { padding: 0; height: auto; color: #1d1d1f; font-size: 14px; font-weight: 500; text-decoration: none; }
.gsm-listing-title { font-size: 40px; font-weight: 800; line-height: 1.1; margin: 8px 0; letter-spacing: 0; }
.gsm-filter form { border: 0; background: transparent; padding: 0; gap: 16px; }
.gsm-filter label { font-size: 14px; font-weight: 600; }
.gsm-filter input, .gsm-filter select { border: 1px solid #e0e0e0; border-radius: 6px; min-height: 50px; padding: 0 20px; font-size: 14px; background: #fff; }
.gsm-filter button[type="submit"] { background: #ececec; color: #555; height: 50px; border-radius: 6px; box-shadow: none; font-weight: 600; }
.gsm-small-title { font-size: 14px; font-weight: 600; margin: 0 0 16px; }
.gsm-list article { border: 1px solid #eee; border-radius: 8px; background: #fff; padding: 24px; box-shadow: none; margin-bottom: 16px; }
.gsm-list article h3 { font-size: 24px; font-weight: 500; line-height: 1.2; }
.gsm-list article h3 a { text-decoration: none; }
.gsm-list article p { font-size: 11px; color: #8a8a8a; }
.gsm-list article img { width: 150px; height: auto; border-radius: 0; }
.gsm-grid > div { gap: 16px; }
.gsm-grid article h3 { font-size: 16px; font-weight: 500; line-height: 1.25; }
.gsm-tabs { margin-top: 20px; }

/* ---------- single entries ---------- */
.gsm-entry-title { font-size: 32px; line-height: 1.25; font-weight: 700; margin: 0 0 20px; letter-spacing: 0; }
.gsm-entry-sub { font-size: 20px; font-weight: 700; margin: 24px 0 12px; }
.gsm-entry-body { font-size: 15px; line-height: 1.5; color: #333; }
.gsm-entry-body p { margin: 0 0 14px; }
.gsm-entry-body table { width: 100%; border-collapse: collapse; margin: 16px 0; }
.gsm-entry-body th, .gsm-entry-body td { border: 1px solid #ddd; padding: 14px 16px; text-align: left; }
.gsm-entry-body th { background: #f5f5f5; font-weight: 700; }
.gsm-entry-body h3 { font-size: 16px; font-weight: 700; margin: 20px 0 8px; }
.gsm-entry-body ul { list-style: disc; padding-left: 40px; }
.gsm-entry-body li { margin-bottom: 4px; }
.gsm-entry-cats { font-size: 12px; color: #555; margin-bottom: 20px; }
.gsm-entry-nav a { font-size: 14px; color: #333; text-decoration: none; }
.gsm-share a { background: #ececec; color: #555; border-radius: 4px; width: 32px; height: 32px; }
.gsm-infobox { background: #f8f8f8; padding: 30px; }
.gsm-infobox > div { max-width: none; padding: 0; }
.gsm-pub-cols.grid { gap: 0; }
.gsm-pub-cols.grid > div { grid-column: auto; }
@media (min-width: 768px) { .gsm-pub-cols.grid { grid-template-columns: 1fr 2fr; } }

.gsm-filter { margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid #ececec; }
.gsm-listing-head .gsm-filter { border: 0; padding: 0; margin: 0; }
.gsm-wgrow > div { display: flex; }
.gsm-wgrow > div > section { flex: 1 1 auto; }
.gsm-wgcard { display: flex; flex-direction: column; justify-content: center; }
.gsm-contact-list svg { color: #444; }
.gsm-contact-list li { margin-bottom: 8px; }
.gsm-council-row { margin-bottom: 20px; }
.gsm-pill p { display: inline-block; margin: 0; background: #fde8ed; color: #f23459; font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 999px; }
.gsm-small, .gsm-small p { font-size: 12px; line-height: 1.4; color: #6b6b6b; margin: 0; }
.gsm-grey-box p { margin: 0; }
.gsm-membercard { display: flex; flex-direction: column; gap: 0; }
.gsm-membercard .gsm-small, .gsm-membercard .gsm-small p { font-size: 10px; color: #8a8a8a; }
.gsm-infobox .flex.flex-col.gap-1 { flex-direction: row; gap: 6px; margin-bottom: 8px; font-size: 15px; }
.gsm-infobox .flex.flex-col.gap-1 > span:first-child { font-size: 15px; font-weight: 400; color: #333; }
.gsm-infobox .flex.flex-col.gap-1 > span:first-child::after { content: " :"; }
.gsm-entry-nav { border: 0; padding: 0; }
.gsm-backmain a { text-decoration: underline; color: #1d1d1f; font-size: 14px; padding: 0; height: auto; }
.gsm-entry-navrow { margin-bottom: 8px; }
.gsm-entry-navrow > div:nth-child(2) { justify-self: center; }

/* Journal pages: header with accordions + right-hand buttons, latest volumes, archive */
.gsm-jhead{align-items:start}
.gsm-jhead > div:last-child{display:flex;flex-direction:column;gap:12px}
.gsm-jbtn a{display:block;width:100%;box-sizing:border-box;text-align:center;padding:14px 16px;background:#f23459;color:#fff;border-radius:6px;font-size:15px;font-weight:600;line-height:1.3;text-decoration:none}
.gsm-jbtn-blue a{background:#0073ff}
.gsm-acc details{background:#fff;border:1px solid #e4e4e7;border-radius:4px;padding:8px 14px;margin:0 0 8px;font-size:14px;font-weight:600}
.gsm-acc summary{cursor:pointer;padding:2px 0}
.gsm-acc details > div{font-weight:400;padding:10px 0}
.gsm-latest{margin-top:16px}
.gsm-archive .gsm-list article,.gsm-latest .gsm-list article,.gsm-latest .gsm-grid article{padding:12px 16px;box-shadow:none}
.gsm-archive .gsm-list h3,.gsm-latest h3,.gsm-archive .gsm-list a,.gsm-latest .gsm-list a{font-size:14px;font-weight:600;margin:0}
.gsm-archive .gsm-list ul,.gsm-archive .gsm-list > div{gap:8px}
.gsm-latest-title{font-size:32px;font-weight:700;margin:0}
.gsm-latest-sub p{font-size:14px;margin:4px 0 12px}
.gsm-latest-label p{font-size:14px;margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid #e4e4e7}
.gsm-latest article *,.gsm-archive article *{font-size:14px;font-weight:600}
.gsm-jhead > div:last-child{max-width:252px;justify-self:end;width:100%}
.gsm-jbtn a{min-height:56px;display:flex;align-items:center;justify-content:center;padding:14px;box-sizing:border-box;white-space:normal}
.gsm-acc details{border-radius:0;margin:0;border-color:#ccc}
.gsm-acc details + details{border-top:0}

/* ---------- sizes and weights measured on gsm.org.my (Playwright, 1440px) ---------- */
.gsm-hero-sub { font-size: 32px; font-weight: 600; }
.gsm-welcome-title { font-size: 32px; }
.gsm-welcome-text { font-size: 16px; font-weight: 500; }
.gsm-listbtn a { font-size: 18px; font-weight: 600; }
.gsm-row-title { font-size: 32px; }
.gsm-row-label { font-size: 32px; }
.gsm-council-row .gsm-row-label { font-size: 32px; }
.gsm-row-text { font-size: 20px; font-weight: 600; }
.gsm-council-row .gsm-row-text p { font-size: 20px; font-weight: 600; }
.gsm-cta-wide .gsm-cta-text { font-weight: 600; }
.gsm-plain-title { font-size: 32px; }
.gsm-doc { font-weight: 500; }
.gsm-doc.gsm-doc-lg, .gsm-doc.gsm-doc-lg p, .gsm-doc.gsm-doc-lg li { font-size: 20px; font-weight: 600; }
.gsm-form label { font-size: 18px; font-weight: 500; }
.gsm-form button[type="submit"] { font-size: 16px; font-weight: 600; }
.gsm-tile a { font-weight: 600; }
.gsm-back a { font-weight: 600; }
.gsm-listing-title { font-size: 48px; font-weight: 700; }
.gsm-small-title { font-size: 16px; }
.gsm-list article h3 { font-weight: 600; }
.gsm-list article p { font-size: 12px; font-weight: 500; }
.gsm-list.gsm-list-plain article h3 { font-size: 16px; }
.gsm-grid article h3 { font-weight: 600; }
.gsm-grid.gsm-grid-news article h3 { font-size: 20px; }
.gsm-jbtn a { font-size: 18px; font-weight: 600; }
.gsm-acc summary { font-size: 16px; font-weight: 600; }
.gsm-entry-nav a, .gsm-backmain a { font-size: 16px; font-weight: 600; }
.gsm-entry-title.gsm-entry-title-lg { font-size: 48px; }
.gsm-entry-body.gsm-body-20 { font-size: 20px; }
.gsm-entry-body.gsm-body-20 h3, .gsm-entry-body.gsm-body-20 strong { font-size: 20px; }
.gsm-entry-body.gsm-body-18 { font-size: 18px; }
.gsm-entry-body.gsm-body-18 h3, .gsm-entry-body.gsm-body-18 strong, .gsm-entry-body.gsm-body-18 em { font-size: 18px; }
.gsm-entry-sub { font-size: 24px; }
.gsm-share { font-size: 14px; font-weight: 600; }
.gsm-rail > div:first-child h2 { font-size: 24px; }
.gsm-rail > div:first-child a { font-size: 14px; font-weight: 600; }
.gsm-rail article h3 { font-size: 16px; font-weight: 600; }
.gsm-infobox .gsm-cta-btn a { font-size: 16px; font-weight: 400; }

/* ---------- second pass: every difference of the home, memberships, journal and news pages ---------- */
.gsm-hero-title { font-size: clamp(48px, 6.667vw, 96px); }
.gsm-pubcard-title { font-size: 24px; }
.gsm-pubcard p { font-size: 16px; font-weight: 500; }
.gsm-seemore a { font-size: 16px; }
.gsm-rail article p { font-size: 12px; font-weight: 500; line-height: 1.35; white-space: pre-line; }
.gsm-cta-title { font-size: 32px; }
.gsm-cta-text, .gsm-cta-wide .gsm-cta-text { font-size: 24px; font-weight: 600; }
.gsm-cta-btn a { font-size: 18px; font-weight: 600; }
.gsm-row-text i, .gsm-row-text em { font-weight: inherit; }
.gsm-title-28 { font-size: 28px; }
.gsm-form label { font-size: 16px; font-weight: 400; }
.gsm-contact:not(.gsm-contact-dark) .gsm-form label:not([for*="consent"]) { font-size: 18px; font-weight: 500; }
.gsm-member-desc { font-size: 14px; font-weight: 500; }
.gsm-member-fee p { font-size: 18px; font-weight: 600; }
.gsm-member-fee p.gsm-small, .gsm-membercard .gsm-small, .gsm-membercard .gsm-small p { font-size: 12px; font-weight: 400; }
.gsm-membercard .gsm-cta-btn a { font-size: 16px; font-weight: 600; }
.gsm-grey-box, .gsm-grey-box p { font-size: 20px; font-weight: 600; }
.gsm-row .gsm-small, .gsm-row .gsm-small p { font-size: 14px; font-weight: 600; }
.gsm-pill p, .gsm-pill { font-size: 20px; font-weight: 600; }
.gsm-filter label, .gsm-filter legend { font-size: 16px; font-weight: 600; }
.gsm-latest-sub p, .gsm-latest-label p { font-size: 16px; font-weight: 400; }
.gsm-latest article *, .gsm-archive article * { font-size: 16px; font-weight: 700; }
.gsm-latest .gsm-issue article *, .gsm-latest.gsm-issues article * { font-weight: 600; }
.gsm-entry-nav a { font-size: 16px; }
.gsm-entry-body th, .gsm-entry-body td { font-size: 18px; font-weight: 400; }
.gsm-entry-body th { font-weight: 700; }
.gsm-entry-body.gsm-body-20 strong { font-size: 18px; }
.gsm-entry-cats, .gsm-entry-cats * { font-size: 14px; font-weight: 600; }
.gsm-share, .gsm-share * { font-size: 14px; font-weight: 600; }
.gsm-rail.gsm-rail-news article h3 { font-size: 20px; }
.gsm-entry-body.gsm-body-18 p { font-weight: 400; }
.gsm-issues article *, .gsm-issues.gsm-inner article * { font-weight: 600; }
.gsm-rail-news article h3 { font-size: 20px; }

/* ---------- third pass: vertical rhythm measured against gsm.org.my ---------- */
.gsm-inner:has(.gsm-plain-title) { padding-top: 42px; }
.gsm-inner:has(.gsm-title-28) { padding-top: 52px; }
.gsm-plain-title { margin-bottom: 28px; line-height: 1.25; }
.gsm-doc li { margin: 0; line-height: 20px; }
.gsm-doc ul { margin-bottom: 8px; }
.gsm-listing-head { padding-top: 21px; }
.gsm-listing-head .gsm-back { margin-bottom: -5px; }
.gsm-listing-head .gsm-filter { margin-top: 20px; }
.gsm-listing-head { padding-bottom: 0; }
.gsm-hero-title { margin-bottom: 24px; }
.gsm-hero > div { transform: translateY(-17px); }
.gsm-hero { min-height: 724px; }
.gsm-listing-head { padding-top: 69px; }
.gsm-listing-head { padding-bottom: 67px; }
.gsm-listing-head .gsm-listing-title + p { margin-top: 3px; }
.gsm-list:has(img) { margin-top: 76px; }
.gsm-list-plain { margin-top: -25px; }
.gsm-quick { margin-top: 46px; }
.gsm-list article img { width: 190px; }
.gsm-grid-plain article { padding: 16px; min-height: 0; }
.gsm-grid-plain { margin-top: -25px; }
.gsm-quick { margin-top: 70px; }
.gsm-pubcards { margin-bottom: 15px; }
.gsm-rail:has(article p) article { min-height: 124px; }
.gsm-rail:has(article p) { margin-bottom: 58px; }
.gsm-cta-title { line-height: 1.875; }
dialog.cms-popup { max-width: 640px; }

/* ---------- last pass ---------- */
.gsm-row-text i, .gsm-row-text em, .gsm-row-text strong i { font-weight: 600 !important; }
.gsm-member-fee strong, .gsm-member-fee p, .gsm-row .gsm-small, .gsm-row .gsm-small strong, .gsm-row .gsm-small p { font-weight: 600 !important; }
.gsm-membercard .gsm-pill, .gsm-membercard .gsm-pill p, .gsm-membercard .gsm-pill * { font-size: 12px !important; }
.gsm-form label[for*="consent"], .gsm-form label:last-of-type:has(input[type="checkbox"]), .gsm-form .gsm-consent { font-size: 16px; font-weight: 400; }
.gsm-grid-plain article p, .gsm-grid-plain article span { font-size: 12px; font-weight: 500; }
.gsm-archive .gsm-list article, .gsm-archive .gsm-list article *, .gsm-latest .gsm-list article *, .gsm-latest .gsm-grid article * { font-size: 16px !important; font-weight: 700 !important; }
.gsm-issues .gsm-list article *, .gsm-issues .gsm-grid article *, .gsm-issues.gsm-archive .gsm-list article * { font-weight: 600 !important; }
.gsm-issues article p { font-size: 12px !important; font-weight: 500 !important; }
.gsm-entry-navrow .gsm-entry-nav, .gsm-entry-navrow .gsm-entry-nav * { font-size: 16px !important; font-weight: 600 !important; }
.gsm-hero-sub { max-width: 830px; }
.gsm-welcome-text { padding-left: 32px; }
.gsm-nav > ul > li > a, .gsm-nav > ul > li > details > summary { padding-left: 18px; padding-right: 18px; }
.gsm-nav > ul > li > a, .gsm-nav > ul > li > details > summary { padding-left: 25px; padding-right: 25px; }
.gsm-nav nav > ul > li > a, .gsm-nav nav > ul > li > details > summary { padding-left: 25px; padding-right: 25px; }
.gsm-nav nav > ul > li > a, .gsm-nav nav > ul > li > details > summary { padding-left: 16px; padding-right: 16px; }
.gsm-nav nav > ul > li > a, .gsm-nav nav > ul > li > details > summary { padding-left: 13px; padding-right: 13px; }
.gsm-nav { margin-right: 60px; }

/* ---------- dropdown panel, as measured on gsm.org.my: 8px corners, soft grey glow, 48px blue items that fill on hover ---------- */
.gsm-nav details > ul { border-radius: 8px; box-shadow: 0 0 10px rgb(184 184 184 / .96); padding: 0; min-width: 156px; margin-top: -13px; }
.gsm-nav details > ul li > a, .gsm-nav details > ul li > details > summary { padding: 14px 20px; color: #2d5a97; font-size: 14px; font-weight: 600; border-radius: 0; }
.gsm-nav details > ul li:first-child > a, .gsm-nav details > ul li:first-child > details > summary { border-radius: 8px 8px 0 0; }
.gsm-nav details > ul li:last-child > a, .gsm-nav details > ul li:last-child > details > summary { border-radius: 0 0 8px 8px; }
.gsm-nav details > ul li > a:hover, .gsm-nav details > ul li > details:hover > summary, .gsm-nav details > ul li > details[open] > summary, .gsm-nav details > ul li > a:focus-visible { background: #2d5a97; color: #fff; }
.gsm-nav details > ul { gap: 0; }
.gsm-nav details > ul { margin-inline-start: 12px; }
.gsm-nav details > ul details > ul { margin-inline-start: 0; margin-top: 0; }

/* ---------- journal pages (Bulletin, Warta), matched to the screenshots of gsm.org.my ---------- */
.gsm-listing-head:has(.gsm-jhead) { padding-top: 63px; padding-bottom: 64px; background: #f5f5f5; }
.gsm-jhead.grid { grid-template-columns: 820px 252px; justify-content: space-between; gap: 0 64px; }
.gsm-jhead.grid > div { grid-column: auto; }
.gsm-jhead .gsm-back { margin: 0 0 3px; }
.gsm-jhead .gsm-listing-title { font-size: 48px; line-height: 60px; font-weight: 700; margin: 0 0 43px; }
.gsm-jhead > div:last-child { display: flex; flex-direction: column; gap: 0; max-width: none; width: 252px; }
.gsm-jbtn { margin: 0 0 12px; }
.gsm-jbtn:first-child { margin-bottom: 20px; }
.gsm-jbtn a { display: flex; align-items: center; justify-content: center; text-align: center; padding: 17px 20px; min-height: 56px; border-radius: 10px; font-size: 18px; font-weight: 600; line-height: 22px; white-space: normal; text-wrap: balance; }
/* accordion: flat grey rows with the chevron in front, as on the original */
.gsm-acc details { background: #f5f5f5; border: 1px solid #c8c8c8; border-radius: 0; margin: 0; padding: 0 20px; }
.gsm-acc details + details { border-top: 0; }
.gsm-acc summary { display: flex; flex-direction: row-reverse; justify-content: flex-end; align-items: center; gap: 12px; height: 48px; padding: 0; font-size: 16px; font-weight: 600; }
.gsm-acc summary svg { width: 18px; height: 18px; stroke-width: 3; }
.gsm-acc details > div { font-weight: 500; font-size: 16px; padding: 4px 0 16px; background: #f5f5f5; }
/* latest volumes */
.gsm-inner:has(.gsm-latest-title) { padding-top: 54px; padding-bottom: 0; }
.gsm-latest-title { font-size: 32px; line-height: 40px; margin: 0; }
.gsm-latest-sub p { font-size: 16px; line-height: 24px; margin: 0 0 19px; }
.gsm-latest.grid { grid-template-columns: 355px 741px; gap: 0 20px; padding: 0 10px; margin-top: 0; justify-content: start; }
.gsm-latest.grid > div { grid-column: auto; }
.gsm-latest-label p { font-size: 16px; line-height: 24px; margin: 29px 0 0; padding-bottom: 8px; border-bottom: 1px solid #dcdcdc; }
.gsm-latest .gsm-list { margin-top: 30px; }
.gsm-latest .gsm-grid { margin-top: 30px; padding: 0 10px; gap: 20px; display: grid; grid-auto-flow: column; grid-template-rows: repeat(3, auto); grid-template-columns: repeat(2, 1fr); }
.gsm-latest article, .gsm-archive article { border: 1px solid #e9e9e9; border-radius: 6px; padding: 0 17px; min-height: 56px; display: flex; align-items: center; background: #fff; box-shadow: none; margin: 0; }
.gsm-latest article h3, .gsm-archive article h3 { margin: 0; }
.gsm-archive .gsm-list, .gsm-archive .gsm-list > div { display: flex; flex-direction: column; gap: 16px; }
.gsm-archive { padding-top: 90px; }
.gsm-archive .gsm-list + .gsm-list { margin-top: 16px; }
.gsm-archive .gsm-latest-sub p { margin-bottom: 19px; }
.gsm-archive hr, .gsm-latest-sub + [role="separator"], .gsm-inner [role="separator"] { margin: 0 0 28px; }
.gsm-listing-head:has(.gsm-jhead) { padding-top: 68px; }
.gsm-jhead .gsm-back { margin: 0 0 -16px; }
.gsm-jhead .gsm-listing-title { margin-bottom: 27px; }
.gsm-jbtn a { height: auto !important; }
.gsm-latest-sub p { margin-bottom: 8px; }
.gsm-latest-label p { margin-top: 0; }
.gsm-latest .gsm-list { margin-top: 14px; }
.gsm-latest .gsm-grid { display: block; padding: 0; margin-top: 0; grid-template-rows: none; }
.gsm-latest .gsm-grid > div { display: grid; grid-auto-flow: column; grid-template-rows: repeat(3, auto); grid-template-columns: repeat(2, 1fr); gap: 20px; padding: 24px 10px 0; }
.gsm-latest article h3 { text-align: left; }
.gsm-latest article, .gsm-archive article { justify-content: flex-start; }
.gsm-jhead > div:last-child { margin-top: -4px; }
.gsm-jbtn:nth-child(2) a { padding-left: 41px; padding-right: 41px; }
.gsm-latest article, .gsm-archive article { display: flex; align-items: center; height: 58px; min-height: 0; padding: 0 17px; }
.gsm-latest article *, .gsm-archive article * { text-align: left !important; width: auto; margin: 0; }
.gsm-archive { padding-top: 139px; }
.gsm-archive .gsm-latest-sub p { margin-bottom: 7px; }
.gsm-latest article, .gsm-archive article { flex-direction: row; }
.gsm-latest article > div, .gsm-archive article > div { flex: 1; padding: 0; }
.gsm-archive { padding-top: 200px; }
.gsm-latest .gsm-grid > div { padding-top: 21px; }
.gsm-jbtn:nth-child(2) a { padding-left: 35px; padding-right: 35px; }
.gsm-archive:has(.gsm-list) { padding-bottom: 477px; }
.gsm-archive { padding-top: 265px; }
.gsm-archive:has(.gsm-list) { padding-bottom: 496px; }
.gsm-inner.gsm-archive:has(.gsm-latest-title) { padding-top: 265px; padding-bottom: 496px; }
.gsm-inner.gsm-archive:has(.gsm-latest-title) { padding-top: 119px; }

/* ---------- Events and News listings, measured on gsm.org.my ---------- */
.gsm-filter-live { margin: 0 0 24px; padding: 0 0 16px; border: 0; border-bottom: 1px solid #e8e8e8; }
.gsm-filter-live form { display: flex; gap: 16px; padding: 0; border: 0; background: transparent; flex-wrap: nowrap; align-items: stretch; }
.gsm-filter-live form > div:first-child { flex: 1 1 auto; min-width: 0; }
.gsm-filter-live form > div + div { flex: 0 0 211px; min-width: 0; }
.gsm-filter-live input, .gsm-filter-live select { height: 54px; min-height: 54px; border: 1px solid #e7e7e7; border-radius: 6px; padding: 0 17px; font-size: 16px; font-weight: 500; color: #1d1d1f; background: #fff; box-shadow: none; }
.gsm-filter-live input::placeholder { color: #8f8f8f; opacity: 1; }
.gsm-filter-live select { color: #8f8f8f; }
.gsm-grid-events > div, .gsm-grid-news > div { align-items: start; gap: 16px; }
.gsm-grid-events article, .gsm-grid-news article { display: block; height: auto; min-height: 0; padding: 16px 17px; border: 1px solid #e8e8e8; border-radius: 6px; box-shadow: none; background: #fff; }
.gsm-grid-events article h3 { font-size: 16px; font-weight: 600; line-height: 20px; margin: 0; }
.gsm-grid-news article { display: flex; align-items: center; height: 62px; padding: 0 17px; }
.gsm-grid-news article h3 { font-size: 20px; font-weight: 600; line-height: 28px; margin: 0; }
.gsm-grid-events article a, .gsm-grid-news article a { color: #1d1d1f; text-decoration: none; }
.gsm-grid-events > div:has(+ div), .gsm-grid-events + div { margin-top: 0; }
/* "View More +": a grey button sitting on a hairline */
.gsm-grid-events [data-load-more-button], .gsm-grid-news [data-load-more-button] { background: #ececec; color: #555; border: 0; border-radius: 6px; height: 52px; padding: 0 24px; font-size: 16px; font-weight: 600; box-shadow: none; }
.gsm-grid-events > div:last-child:has([data-load-more-button]), .gsm-grid-events [data-load-more-button]:only-child { margin: 0; }
.gsm-inner:has(.gsm-filter-live) { padding-top: 24px; }
.gsm-grid-events article > div, .gsm-grid-news article > div { padding: 0; }
/* the wide "Any Questions?" card, to the pixel */
.gsm-cta-wide .gsm-cta-title { font-size: 48px; line-height: 58px; margin: 0 0 7px; }
.gsm-cta-wide .gsm-cta-text { line-height: 28px; max-width: 470px; }
.gsm-cta-wide .gsm-cta-text p { margin: 0 0 35px; }
/* "View More +" sits on a hairline */
.gsm-grid-events [data-load-more-button], .gsm-grid-news [data-load-more-button] { margin-top: -26px; position: relative; }
.gsm-grid-events [data-load-more-button]:not([hidden]), .gsm-grid-news [data-load-more-button]:not([hidden]) { display: inline-flex; align-items: center; }
.gsm-grid-events [data-load-more-button] { }
.gsm-grid-events > div:has(> [data-load-more-button]), .gsm-grid-news > div:has(> [data-load-more-button]), .gsm-grid-events div:has(> [data-load-more-button]) { margin-top: 40px; border-top: 1px solid #e5e5e5; height: 27px; align-items: flex-start; }
.gsm-grid-events [data-load-more-button], .gsm-grid-news [data-load-more-button] { margin-top: -26px !important; }
.gsm-grid-events > div:has(> [data-load-more-button]), .gsm-grid-events div:has(> [data-load-more-button]), .gsm-grid-news div:has(> [data-load-more-button]) { height: 23px; }
.gsm-grid-news article { flex-direction: row; justify-content: flex-start; }
.gsm-grid-news article > div { flex: 1; text-align: left; }
.gsm-grid-news article h3, .gsm-grid-news article h3 a { text-align: left; margin: 0; }
.gsm-inner:has(.gsm-grid-news) { padding-top: 25px; padding-bottom: 0; }
.gsm-inner:has(.gsm-grid-news) [role="separator"], .gsm-inner:has(.gsm-grid-news) hr { margin-top: 40px; margin-bottom: 0; }
.gsm-inner:has(.gsm-grid-news) + .gsm-band, .gsm-inner:has(.gsm-grid-news) + .gsm-cta-band { padding-top: 53px; }
.gsm-inner:has(.gsm-grid-news) + .gsm-band, .gsm-inner:has(.gsm-grid-news) + .gsm-cta-band { padding-top: 84px; }

/* ---------- home, measured: hero 700px, welcome row, quick row ---------- */
.gsm-hero { min-height: 700px; }
.gsm-hero > div { transform: none; }
.gsm-hero-title { line-height: 100px; margin-bottom: 0; }
.gsm-hero-sub { max-width: 880px; line-height: 40px; margin-top: 28px; }
@media (min-width: 768px) { .gsm-welcome.grid { grid-template-columns: 410px 682px; gap: 44px; justify-content: space-between; } }
.gsm-band:has(.gsm-welcome) { padding-top: 62px; }
.gsm-welcome-title { line-height: 40px; }
.gsm-welcome-text { line-height: 20px; }
@media (min-width: 768px) { .gsm-quick.grid { grid-template-columns: 568px 552px; gap: 16px; justify-content: space-between; } }
.gsm-slider [data-carousel-item] { min-height: 264px; }
.gsm-hero > div { transform: translateY(-10px); }
.gsm-hero-sub { margin-top: 18px; }
@media (min-width: 768px) { .gsm-welcome.grid { grid-template-columns: 340px 682px; } }
.gsm-welcome-text { padding-left: 0; }
.gsm-slider [data-carousel-dots] { bottom: 6px; inset-inline-end: 12px; }

/* ---------- home: slider, publication cards and rails, second pass ---------- */
.gsm-slider, .gsm-slider [data-carousel-track], .gsm-slider [data-carousel-item] { height: 264px; min-height: 264px; }
.gsm-slider [data-carousel-dots] { bottom: 4px; inset-inline-end: 8px; }
.gsm-slider [data-carousel-dot] { width: 18px; height: 18px; }
.gsm-slider [data-carousel-dot] > span { width: 8px; height: 8px; box-shadow: none; }
.gsm-quick.grid { align-items: start; }
.gsm-pubcards.grid { padding: 0 8px; gap: 20px; }
.gsm-pubcard { padding: 10px; min-height: 206px; }
.gsm-pubcard-cols.grid { grid-template-columns: 139px 1fr; gap: 20px; align-items: center; }
.gsm-pubcard-cols img { width: 139px; }
.gsm-rail > .relative { padding: 0 10px; }
.gsm-rail [data-carousel-track] { gap: 20px; }
.gsm-rail [data-carousel-item] { flex-basis: calc((100% - 40px) / 3) !important; }
.gsm-rail > .relative button[data-carousel-prev], .gsm-rail > .relative button[data-carousel-next] { width: 50px; height: 50px; }
.gsm-rail [data-carousel-controls] { inset-inline: -15px; width: auto; }
.gsm-rail > div:first-child h2 { font-size: 24px; }
.gsm-quick { margin-top: 50px; }
.gsm-pubcards { margin-bottom: -8px; }
.gsm-rail [data-carousel-controls] { inset-inline: -25px; }
.gsm-rail:has(article p) { margin-bottom: 74px; }
@media (min-width: 768px) { .gsm-ctas.grid { grid-template-columns: 570px 560px; gap: 10px; margin-inline-start: -2px; } }
.gsm-rail:has(article p) { margin-bottom: 52px; }
.gsm-cta { min-height: 352px; }
.gsm-cta > div { padding: 0 64px; }
.gsm-cta-title { font-size: 32px; line-height: 58px; margin: 0 0 7px; }
.gsm-cta-text { line-height: 28px; max-width: 440px; }
.gsm-cta-text p { margin: 0 0 35px; }
.gsm-cta-btn a { height: 56px; padding: 0 32px; border-radius: 6px; }
.gsm-cta-wide .gsm-cta-title { font-size: 48px; }
.gsm-cta-wide .gsm-cta-text { max-width: 470px; }
.gsm-cta-band .gsm-cta { min-height: 338px; }

/* ---------- about us ---------- */

@media (min-width: 768px) { .gsm-row.grid { grid-template-columns: 410px 682px; justify-content: space-between; gap: 44px; } }
.gsm-row-title { font-size: 32px; line-height: 40px; }
.gsm-row-text { line-height: 24px; }
.gsm-row-text p { margin: 0 0 14px; }
.gsm-inner:has(.gsm-row) { padding-top: 62px; padding-bottom: 14px; }
.gsm-inner:has(.gsm-collab) { padding-top: 34px; padding-bottom: 0; }
.gsm-inner:has(.gsm-collab) .gsm-row-title { margin-top: 34px; margin-bottom: 70px; }
.gsm-collab img { width: 954px; max-width: none; transform: translateX(-27px); }
.gsm-inner:has(.gsm-collab) + .gsm-band, .gsm-inner:has(.gsm-collab) + .gsm-cta-band { padding-top: 104px; }
.gsm-inner:has(.gsm-row) { padding-bottom: 33px; }
.gsm-inner:has(.gsm-collab) .gsm-row-title { margin-top: 62px; }
.gsm-collab { overflow: visible; }
.gsm-collab img { width: 1320px; max-width: none; margin-left: -92px; transform: translateX(-27px); }
.gsm-collab img { margin-left: -22px; }
.gsm-inner:has(.gsm-collab) .gsm-row-title { margin-bottom: 12px; }
.gsm-inner:has(.gsm-collab) + .gsm-band, .gsm-inner:has(.gsm-collab) + .gsm-cta-band { padding-top: 78px; }
.gsm-collab img { margin-left: 13px; margin-top: 10px; }
.gsm-cta-band { padding-bottom: 6px; }

/* ---------- constitution: a centred title block over an 800px text column ---------- */
.gsm-doc-narrow { max-width: 800px; margin-inline: auto; }
.gsm-doc-narrow p { margin: 0 0 14px; }
.gsm-doc-title { text-align: center; font-weight: 700; font-size: 20px; line-height: 24px; margin: 0 0 14px; }
.gsm-doc-title p { margin: 0 0 14px; font-weight: 700; }
.gsm-doc-narrow.gsm-doc-lg, .gsm-doc-narrow.gsm-doc-lg p { line-height: 24px; }
.gsm-inner:has(.gsm-doc-narrow) { padding-top: 62px; }
.gsm-doc-title { margin-bottom: 38px; }
.gsm-doc-title p:last-child { margin-bottom: 0; }

/* ---------- council ---------- */
.gsm-council-row { margin-bottom: 32px; }
.gsm-council-row .gsm-row-label { line-height: 40px; margin: 0; }
.gsm-council-row .gsm-row-text, .gsm-council-row .gsm-row-text p { line-height: 24px; }
.gsm-council-row .gsm-row-text i, .gsm-council-row .gsm-row-text em, .gsm-council-row .gsm-row-text strong { font-weight: 700 !important; }
.gsm-council-row .gsm-row-text i, .gsm-council-row .gsm-row-text em { font-style: italic; }
.gsm-inner:has(.gsm-council-row) { padding-bottom: 20px; }
.gsm-council-poster img { max-width: 640px; width: 640px; }
.gsm-council-row .gsm-row-label { max-width: 340px; }

/* ---------- plain document pages (presidents, honorary, operations) ---------- */
.gsm-inner:has(.gsm-plain-title) .gsm-plain-title, .gsm-inner:has(.gsm-plain-title) .gsm-doc { padding-left: 8px; }
.gsm-inner:has(.gsm-plain-title) .gsm-plain-title { margin-bottom: 19px; }
.gsm-inner:has(.gsm-plain-title) .gsm-doc h3 { margin: 34px 0 13px; }
.gsm-inner:has(.gsm-plain-title) .gsm-doc h3:first-child { margin-top: 0; }
.gsm-doc ol { list-style: decimal; padding-left: 40px; margin: 0 0 12px; }
.gsm-doc ol li { margin: 0; line-height: 20px; }
.gsm-inner:has(.gsm-plain-title) { padding-bottom: 0; }
.gsm-doc ul li:has(br) { margin-bottom: 14px; }
.gsm-doc ul li:has(br):last-child { margin-bottom: 0; }

/* ---------- working groups ---------- */
.gsm-wg-title { font-size: 21px; line-height: 25.2px; font-weight: 600; margin: 0 0 25px; }
.gsm-wg-chair { font-size: 16px; line-height: 24px; font-weight: 400; margin-bottom: 20px; }
.gsm-wgcard { padding: 36px 32px 32px; }
.gsm-outline-blue a { font-size: 15px; font-weight: 500; height: 41px; padding: 0 24px; line-height: 15px; }
.gsm-wgrow { margin-bottom: 20px; }
.gsm-wg .gsm-plain-title { margin-bottom: 44px; }
.gsm-wg { padding-bottom: 76px; }
.gsm-wgcard > div > .gsm-wg-title, .gsm-wg-title { max-width: 270px; }
.gsm-wg-title, .gsm-wgcard > div > .gsm-wg-title { max-width: 320px; margin-bottom: 18px; }
.gsm-wg-chair { margin-bottom: 18px; }
.gsm-wgcard { padding: 33px 32px; }
.gsm-wg .gsm-plain-title { margin-bottom: 30px; padding-left: 0; }
.gsm-wg { padding-top: 70px; padding-bottom: 76px; }

/* ---------- contact ---------- */
.gsm-inner:has(.gsm-contact) { padding-top: 48px; }
@media (min-width: 768px) { .gsm-contact.grid { grid-template-columns: 725px 379px; justify-content: space-between; gap: 32px; } }
.gsm-form label span[aria-hidden="true"], .gsm-form label .text-destructive { display: none; }
.gsm-contact-card { padding: 16px; margin-top: 0; }
.gsm-contact-card .gsm-map iframe, .gsm-contact-card .gsm-map > div { height: 160px; min-height: 160px; }
.gsm-contact-card .gsm-map a { display: none; }
.gsm-contact-card .gsm-map { margin-bottom: 20px; padding-bottom: 20px; }
.gsm-contact-list li { margin-bottom: 14px; font-size: 14px; }
.gsm-contact-list svg { width: 20px; height: 20px; }
.gsm-form button[type="submit"] { height: 59px; }
.gsm-contact-card > div { padding-inline: 0; max-width: none; }
.gsm-contact-card { padding: 16px 16px 16px; }
.gsm-form label { margin-bottom: 0; }
.gsm-form label:has(input[type="checkbox"]), .gsm-form label:has(input[type="checkbox"]) span { font-size: 16px !important; font-weight: 400 !important; }
.gsm-form input:not([type="checkbox"]), .gsm-form textarea { margin-top: -6px; }
.gsm-contact-card .gsm-outline-dark a { height: 46px; }

/* ---------- submit your bulletin ---------- */
@media (min-width: 768px) { .gsm-contact-dark.grid { grid-template-columns: 699px 341px; justify-content: space-between; padding-inline: 32px; gap: 32px; } }
.gsm-contact-dark .gsm-form label { font-size: 16px !important; font-weight: 400 !important; color: #7a7a7a; }
.gsm-contact-dark .gsm-form input:not([type="checkbox"]):not([type="file"]), .gsm-contact-dark .gsm-form textarea { margin-top: 0; min-height: 40px; height: 40px; border-radius: 0; border-color: #6d6d6d; font-size: 16px; }
.gsm-contact-dark .gsm-form textarea { height: 96px; }
.gsm-contact-dark .gsm-form > * + * { margin-top: 12px; }
.gsm-contact-dark .gsm-form input[type="file"] { height: auto; border: 0; padding: 0; background: transparent; font-size: 16px; }
.gsm-contact-dark .gsm-form button[type="submit"] { height: 40px; border-radius: 0; font-size: 16px; font-weight: 400; margin-top: 12px; }
.gsm-contact-dark .gsm-contact-card { padding: 16px; border-top: 0; }
.gsm-contact-dark .gsm-contact-card::before { content: ""; display: block; border-top: 1px solid #555; margin-bottom: 14px; }
.gsm-contact-dark .gsm-contact-list li { font-size: 14px; margin-bottom: 10px; }

/* ---------- memberships ---------- */
.gsm-row-text ul { padding-left: 40px; }
.gsm-row-text li { margin: 0; line-height: 24px; }
.gsm-row-text li ul { padding-left: 40px; }
.gsm-row-text, .gsm-row-text li { color: #3a3a3a; }
.gsm-row:has(.gsm-row-title) .gsm-row-title { max-width: 360px; }
.gsm-inner:has(.gsm-membercards) .gsm-row-title + p, .gsm-inner .gsm-row-text + .gsm-row-text { margin-top: 20px; }
@media (min-width: 768px) { .gsm-membercards.grid { grid-template-columns: repeat(3, 336px); gap: 8px; margin-inline-start: 8px; justify-content: start; } }
.gsm-membercard { padding: 14px 16px; border-color: #e6e6e6; }
.gsm-membercard .gsm-pill, .gsm-membercard .gsm-pill p { font-size: 12px !important; padding: 3px 10px; font-weight: 600; }
.gsm-membercard .gsm-member-desc p, .gsm-member-desc { font-size: 14px; font-weight: 500; line-height: 18px; }
.gsm-membercard .gsm-cta-btn a { height: 50px; padding: 0 26px; background: #f23459; color: #fff; }
.gsm-row:has(.gsm-row-title) .gsm-row-title { max-width: 300px; }
.gsm-membercards.grid { align-items: stretch; }
.gsm-membercard > div { padding-inline: 0; max-width: none; }
.gsm-membercard { margin: 0; }
.gsm-inner:has(.gsm-membercards) > div > .gsm-row-title { margin-bottom: 20px; }
.gsm-inner:has(.gsm-membercards) > div > .gsm-row-text { margin-bottom: 28px; font-size: 20px; font-weight: 600; color: #444; line-height: 24px; }
.gsm-grey-box, .gsm-grey-box p { line-height: 24px; padding: 8px 32px; margin: 0 0 24px; }
.gsm-grey-box { padding: 0; }
.gsm-grey-box p { background: transparent; }
.gsm-small, .gsm-small p { font-style: italic; font-weight: 700 !important; font-size: 14px !important; line-height: 24px; }
.gsm-inner:has(.gsm-grey-box) .gsm-row { margin-top: 64px; margin-bottom: 64px; }

/* ---------- publications tiles ---------- */
.gsm-inner:has(.gsm-tiles) { padding-top: 56px; padding-bottom: 0; }
@media (min-width: 768px) { .gsm-tiles.grid { grid-template-columns: repeat(4, 276px); gap: 8px; margin-inline-start: 4px; justify-content: start; } }
.gsm-tile a { width: 276px; height: 170px; padding: 0 56px; font-weight: 500; font-size: 18px; line-height: 21px; }
.gsm-tile { width: 276px; }
.gsm-inner:has(.gsm-tiles) + .gsm-band, .gsm-inner:has(.gsm-tiles) + .gsm-cta-band { padding-top: 68px; }

/* ---------- books / proceedings head ---------- */
.gsm-find-year { font-size: 16px; font-weight: 600; margin: 14px 0 12px; padding-left: 16px; }
.gsm-listing-head .gsm-filter-year { padding: 0 0 0 16px; margin: 0; border: 0; }
.gsm-listing-head .gsm-filter-year form { flex-wrap: nowrap; }
.gsm-listing-head .gsm-filter-year form > div { flex: 1 1 auto; }
.gsm-listing-head .gsm-filter-year select { height: 54px; font-size: 16px; font-weight: 500; padding: 0 20px; color: #6b6b6b; }
.gsm-listing-head { padding-bottom: 64px; }
.gsm-list article img { width: 162px; }
.gsm-small-title { margin: 0 0 24px; }
.gsm-list { margin-top: 0; }
.gsm-list:has(img) article { padding: 26px; align-items: center; margin-bottom: 16px; }
.gsm-list:has(img) article img { height: 230px; width: 162px; object-fit: cover; }
.gsm-list:has(img) article h3 { font-size: 24px; font-weight: 600; line-height: 32px; margin: 0; }
.gsm-list:has(img) article p { font-size: 12px; line-height: 18px; margin: 2px 0 0; }
.gsm-small-title { margin-bottom: 0; }
.gsm-inner:has(.gsm-small-title) .gsm-list { margin-top: -24px; }
.gsm-grid-plain > div { align-items: start; gap: 16px; }
.gsm-grid-plain article { padding: 16px 16px 14px; border-radius: 6px; min-height: 0; height: auto; }
.gsm-grid-plain article h3 { font-size: 16px; font-weight: 600; line-height: 20px; margin: 0; }
.gsm-grid-plain article p { margin: 0; line-height: 14px; }
.gsm-grid-plain { margin-top: 0; }
.gsm-latest article, .gsm-archive article { flex-wrap: wrap; }
.gsm-issues article > div { display: block; }
.gsm-issues article p, .gsm-issues article p * { display: block; font-size: 12px !important; font-weight: 500 !important; color: #999; line-height: 14px; margin: 2px 0 0; white-space: pre-line; }
.gsm-issues article { height: auto; min-height: 58px; padding: 10px 17px; }
.gsm-archive .gsm-filter-year { margin: 0 0 20px; padding: 0; border: 0; }
.gsm-archive .gsm-filter-year select { height: 54px; font-size: 16px; font-weight: 500; padding: 0 20px; color: #6b6b6b; width: 100%; }
.gsm-archive .gsm-filter-year form > div { flex: 1 1 auto; }

/* ---------- news article: the original sets its body in Roboto, justified, grey, in a 775px column ---------- */
.gsm-body-20 { font-family: Roboto, "Helvetica Neue", Arial, sans-serif; color: #7a7a7a; text-align: justify; line-height: 23px; max-width: 775px; margin-left: 10px; font-size: 20px; }
.gsm-body-20 p { margin: 0 0 14px; }
.gsm-body-20 a { color: #0073ff; text-decoration: none; font-weight: 400; }
.gsm-body-20 table { max-width: 775px; }
.gsm-body-20 h3 { color: #7a7a7a; font-size: 20px; line-height: 23px; margin: 14px 0; }
.gsm-body-20 th, .gsm-body-20 td { padding: 16px; font-size: 18px; text-align: left; }
.gsm-body-20 td { background: #fff; }
.gsm-body-20 tbody tr:last-child td, .gsm-body-20 tbody tr:nth-child(even) td { background: #f5f5f5; }
.gsm-entry-title-lg { font-size: 48px; line-height: 60px; margin: 24px 0 8px; }
.gsm-entry-cats { padding-left: 4px; }

/* ---------- event page ---------- */
.gsm-entry-title:not(.gsm-entry-title-lg) { max-width: 800px; font-size: 32px; line-height: 40px; margin: 24px 0 17px; }
.gsm-entry-image img { width: 1104px; max-width: 100%; height: auto; }
.gsm-entry-sub { font-size: 24px; margin: 28px 0 14px; }

/* ---------- publication detail ---------- */
.gsm-entry:has(.gsm-pub-cols) .gsm-entry-title { font-size: 32px; line-height: 40px; margin: 0 0 40px; max-width: none; }
.gsm-pub-cols.grid { grid-template-columns: 341px 1fr; gap: 0; align-items: start; margin-bottom: 40px; }
.gsm-entry-cover img { width: 341px; height: 469px; object-fit: cover; }
.gsm-infobox { padding: 20px 32px 32px; min-height: 286px; }
.gsm-infobox, .gsm-infobox * { font-size: 16px; }
.gsm-infobox [class*="custom-field"] { margin: 0 0 12px; color: #333; }
.gsm-infobox [class*="custom-field"] span:last-child { color: #333; }
.gsm-infobox .gsm-cta-btn a { height: 56px; padding: 0 32px; margin-top: 8px; }
.gsm-body-18, .gsm-body-18 p, .gsm-body-18 li, .gsm-body-18 h3 { font-family: Inter, "Helvetica Neue", Arial, sans-serif; color: #3a3a3a; font-size: 18px; line-height: 27px; }
.gsm-body-18 { max-width: 775px; }
.gsm-body-18 ul { list-style: disc; padding-left: 40px; }
.gsm-body-18 li { margin: 0; line-height: 27px; }
.gsm-body-18 h3 { font-size: 18px; font-weight: 700; margin: 24px 0 14px; }
.gsm-body-18 > p:first-child { font-size: 18px; margin-bottom: 14px; }
.gsm-entry:has(.gsm-pub-cols) .gsm-entry-body::before { content: attr(data-title); display: block; font-size: 40px; line-height: 48px; margin: 40px 0 24px; }

