/* Overseas College Counseling: blog post typography. Shared by every exported post.
   Matches post-template.dc.html (signed off 2026-10-07). */
.post-head { padding: clamp(32px, 6vw, 72px) clamp(16px, 4.5vw, 24px) clamp(24px, 4vw, 40px); }
.post-head__in { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; text-align: center; gap: clamp(14px, 2vw, 20px); }
.post__cat { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; background: #E3EFF1; color: #14181A; font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.post__cat:hover { background: #D2E6EA; color: #14181A; }
.post__title { font-size: clamp(36px, 5.2vw, 52px); line-height: 1.1; font-weight: 400; letter-spacing: -.02em; color: #14181A; text-wrap: balance; }
.post__meta { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 16px; font-size: 16px; line-height: 1.5; color: #3A4247; }
.post__meta-sep { width: 4px; height: 4px; background: #1F6E7E; }
.post__hero { max-width: 1178px; margin: 0 auto; padding: 0 clamp(16px, 4.5vw, 24px); }
.post__hero img { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; background: #EFE7DC; }
.post__rule { max-width: 760px; margin: 0 auto; padding: 0 clamp(16px, 4.5vw, 24px); }
.post__rule::before { content: ""; display: block; height: 1px; background: #1F6E7E; }

.post-wrap { padding: clamp(24px, 6vw, 48px) clamp(16px, 4.5vw, 24px); }
.post__body { max-width: 760px; margin: 0 auto; font-size: 18px; line-height: 1.75; color: #2A3034; }
.post__body > :first-child { margin-top: 0; }
.post__body p { margin: 0 0 20px; }
.post__body h2 { font-size: clamp(28px, 3vw, 34px); line-height: 1.2; font-weight: 400; letter-spacing: -.01em; color: #1F6E7E; margin: clamp(36px, 5vw, 48px) 0 16px; text-wrap: balance; }
.post__body h3 { font-size: 20px; line-height: 1.4; font-weight: 600; color: #1F6E7E; margin: 28px 0 12px; }
.post__body h4 { font-size: 18px; line-height: 1.45; font-weight: 600; color: #14181A; margin: 24px 0 10px; }
.post__body h2 a, .post__body h3 a { color: inherit; }
.post__body ul, .post__body ol { margin: 0 0 22px; padding-left: 22px; }
.post__body li { margin: 0 0 8px; }
.post__body li > ul, .post__body li > ol { margin: 8px 0 0; }
.post__body a { color: #1F6E7E; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.post__body a:hover { color: #14181A; }
.post__body strong { font-weight: 700; color: #14181A; }
.post__body blockquote { margin: 28px 0; padding: clamp(20px, 3vw, 28px) 0; border-top: 1px solid #1F6E7E; border-bottom: 1px solid #E2E6E8; font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(24px, 2.6vw, 30px); line-height: 1.35; color: #14181A; }
.post__body blockquote p:last-child { margin: 0; }
.post__body hr { border: 0; height: 1px; background: #E2E6E8; margin: 36px 0; }
.post__body table { width: 100%; border-collapse: collapse; margin: 0 0 24px; font-size: 16px; display: block; overflow-x: auto; }
.post__body th, .post__body td { text-align: left; padding: 10px 12px; border-bottom: 1px solid #E2E6E8; vertical-align: top; }
.post__inline-img { margin: 16px 0 36px; }
.post__inline-img img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: #EFE7DC; }

.post__cta { max-width: 760px; margin: clamp(32px, 5vw, 48px) auto 0; padding: clamp(28px, 4vw, 44px) 0; border-top: 1px solid #E2E6E8; border-bottom: 1px solid #E2E6E8; display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: center; justify-content: space-between; }
.post__cta-text { flex: 1 1 320px; min-width: 0; font-size: clamp(28px, 3vw, 34px); line-height: 1.18; font-weight: 400; letter-spacing: -.01em; color: #14181A; }
.post__back { max-width: 760px; margin: 20px auto 0; display: flex; }
.post__back a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 16px; font-weight: 600; color: #1F6E7E; text-decoration: none; }
.post__back a:hover { color: #14181A; }

/* Related articles: image-free cards, as signed off on Resources */
.related { padding: clamp(24px, 6vw, 48px) clamp(16px, 4.5vw, 24px); max-width: 1320px; margin: 0 auto; box-sizing: border-box; }
.related__title { font-size: 34px; line-height: 1.18; font-weight: 400; letter-spacing: -.01em; color: #14181A; margin-bottom: 26px; }
.related__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 18px; }
.rcard { background: #DDF0F4; border: 1px solid #C3DDE2; padding: 18px; display: flex; flex-direction: column; gap: 14px; text-decoration: none; color: #14181A; min-height: 280px; transition: border-color .2s ease; }
.rcard:hover { border-color: #1F6E7E; color: #14181A; }
.rcard__pill { align-self: flex-start; font-size: 13px; font-weight: 600; color: #14181A; background: #FFFFFF; padding: 7px 14px; }
.rcard__title { flex: 1; font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(28px, 2.6vw, 34px); line-height: 1.15; font-weight: 500; letter-spacing: -.005em; color: #14181A; text-wrap: balance; }
.rcard__title span { color: #1F6E7E; }
.rcard__foot { display: flex; align-items: center; justify-content: flex-end; gap: 12px; padding-top: 14px; border-top: 1px solid #1F6E7E; font-size: 16px; color: #3A4247; }
.rcard__foot span:last-child { color: #1F6E7E; font-size: 20px; }

/* Image card (Blog Cards 1b, 2026-10-20): photo behind, pill on the photo, Panel band with title and arrow */
.rcard--img { position: relative; padding: 0; gap: 0; overflow: hidden; border: 0; }
.rcard--img .rcard__img { display: block; flex: none; width: 100%; height: 240px; object-fit: cover; object-position: 50% 50%; }
.rcard--img .rcard__pill { position: absolute; top: 0; left: 0; margin: 14px; }
.rcard--img .rcard__band { flex: 1; position: relative; background: #DDF0F4; padding: 20px 18px 18px; display: flex; flex-direction: column; gap: 12px; }
.rcard--img .rcard__title { font-size: 28px; }

/* Events: Teal Deep ground, colours reversed */
.rcard--event, .rcard--event .rcard__band { background: #1F6E7E; border-color: #1F6E7E; color: #FFFFFF; }
.rcard--event:hover { border-color: #14181A; color: #FFFFFF; }
.rcard--event .rcard__pill { color: #1F6E7E; }
.rcard--event .rcard__title { color: #FFFFFF; }
.rcard--event .rcard__title span { color: #DDF0F4; }
.rcard--event .rcard__foot { border-top-color: #FFFFFF; }
.rcard--event .rcard__foot span:last-child { color: #FFFFFF; }

@media (max-width: 767px) { .post__body { font-size: 17px; } }

/* Corners: 6px radius (2026-10-20) */
.post__cat, .post__hero img, .post__inline-img img, .post__body img, .rcard, .rcard__pill { border-radius: 6px; }
