/* About-page review: shared readable type, aligned widths and compact sections. */
main.about-review { --review-body: 1rem; }
body main.about-review.about-review .container { width: min(1460px,calc(100% - 44px)); max-width: none; margin-inline: auto; }
body main.about-review.about-review > section:not(.aligned-hero) { padding-block: 36px; border-top: 1px solid var(--line); scroll-margin-top: 24px; }
body main.about-review.about-review h2 { margin: 0 0 16px; color: var(--green); font-size: clamp(1.75rem,2.5vw,2.25rem); line-height: 1.2; letter-spacing: -.03em; }
body main.about-review.about-review h3 { margin: 0 0 10px; color: var(--dark); font-size: 1.125rem; line-height: 1.35; }
body main.about-review.about-review p:not([class*="kicker"]) { margin: 0 0 16px; color: #46574b; font-size: var(--review-body); line-height: 1.65; }
body main.about-review.about-review p:last-child { margin-bottom: 0; }
body main.about-review.about-review .aligned-hero p:not([class*="kicker"]) { color: #fff; }
body main.about-review.about-review > section:not(.aligned-hero) [class*="kicker"] { margin: 0 0 10px; color: var(--green) !important; font-size: .75rem !important; font-weight: 800; line-height: 1.5 !important; letter-spacing: .12em; text-transform: uppercase; }
.review-kicker { font-family: Manrope,Arial,sans-serif; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.about-review .review-heading { margin-bottom: 24px; }
.about-review .review-split { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px; align-items: center; }
.about-review .review-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.about-review .review-tint { background: var(--cream); }
.about-review .review-dark { background: #0a2e1e; color: #fff; }
body main.about-review.about-review .review-dark h2,
body main.about-review.about-review .review-dark p:not([class*="kicker"]) { color: #fff; }
body main.about-review.about-review > section.review-dark [class*="kicker"] { color: #c2df86 !important; }
.about-review .review-link { display: inline-flex; gap: 9px; align-items: center; color: var(--green); font-size: .9375rem; font-weight: 800; }
.about-review .review-link svg { flex-shrink: 0; width: 18px; height: 18px; }
.about-review .review-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.about-review .review-cta { display: flex; gap: 32px; align-items: center; justify-content: space-between; }
.about-review .review-cta > div { max-width: 850px; }
.about-review .review-cta > a { flex-shrink: 0; }
.about-review .btn { white-space: normal; text-align: center; }
.about-review :is(a,button,summary):focus-visible { outline: 3px solid #82a93b; outline-offset: 4px; }

/* Story: purpose, work and ambition, without a repeated timeline. */
.about-review.story-page .story-split { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; }
.about-review.story-page .story-image-card { height: 340px; min-height: 0; }
.about-review.story-page .story-origin,.about-review.story-page .story-thailand { background: #fff; }
.about-review.story-page .story-problem { background: var(--cream); }
.about-review.story-page .story-value-card { padding: 24px; min-height: 0; box-shadow: none; }
.about-review.story-page .story-future-content { padding-block: 0; }
.about-review.story-page .story-future-content > :is(h2,p) { max-width: 760px; }

/* Team: retain every portrait crop, profile and slideshow control. */
.about-review.team-page .team-section-heading { align-items: end; gap: 24px; }
.about-review.team-page .team-section-heading > p { max-width: 420px; }
.about-review.team-page .team-showcase-grid { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 20px; }
.about-review.team-page .team-profile-card button { height: 100%; display: flex; flex-direction: column; border-radius: 14px; box-shadow: none; }
.about-review.team-page .team-profile-summary { display: flex; flex: 1; flex-direction: column; padding: 18px; }
body main.about-review.about-review .team-profile-summary h3 { font-size: 1.0625rem; }
body main.about-review.about-review .team-profile-summary p { font-size: .875rem; margin-bottom: 16px; }
.about-review.team-page .team-department { font-size: .6875rem; line-height: 1.5; }
.about-review.team-page .team-view-profile { margin-top: auto; font-size: .8125rem; }
.about-review.team-page .team-culture-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px; }
.about-review.team-page .team-join-inner { gap: 36px; }
body:has(.about-review) .team-modal { max-height: calc(100dvh - 40px); overflow-y: auto; }
body:has(.about-review) .team-modal-bio { font-size: 1rem; line-height: 1.7; color: #46574b; }
body:has(.about-review) .team-modal-role { font-size: 1rem; line-height: 1.5; }

/* Locations: the real photographs, one clear contact route, consent-first map. */
body main.about-review.our-locations-page .locations-visual-hero { width: 100%; margin: 0; border-radius: 0; }
.about-review .location-feature { align-items: center; }
.about-review .location-information-card { min-height: 0; padding: 0; }
.about-review .location-contact-list { gap: 16px; margin: 20px 0; }
.about-review .location-contact-list > div { font-size: .9375rem; line-height: 1.65; }
.about-review .location-map-details { display: block; min-height: 0; padding: 0; }
.about-review .location-map-details > summary { display: flex; align-items: center; gap: 10px; color: var(--green); font-size: .9375rem; font-weight: 800; cursor: pointer; }
.about-review .location-map-details > summary svg { width: 18px; height: 18px; }
.about-review .location-map-details[open] > summary { margin-bottom: 16px; }
.about-review .location-map-frame { min-height: 280px; }
.about-review .location-map-frame small { font-size: .8125rem; line-height: 1.6; }
.about-review .map-open-button { margin-top: 12px; font-size: .875rem; }
.about-review .locations-contact-cta-inner { padding: 0; border: 0; background: none; gap: 36px; }

/* R&D: one purpose per section. */
.about-review .review-image-card { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: #fff; }
.about-review .review-image-card > img { display: block; width: 100%; height: 220px; object-fit: cover; }
.about-review .review-image-card > div { padding: 24px; }
.about-review .review-steps article { padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.about-review .review-steps article > span { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 16px; border-radius: 50%; background: var(--green); color: #fff; font-size: .8125rem; font-weight: 800; }
.about-review .review-resource-list { display: grid; gap: 18px; }
.about-review .review-resource-list article { display: flex; gap: 18px; padding: 24px; background: var(--cream); border: 1px solid var(--line); border-radius: 14px; }
.about-review .review-resource-list article > svg { width: 28px; height: 28px; flex-shrink: 0; color: var(--green); }

/* Careers: keep confirmed jobs and the secure application form unchanged. */
.about-review.careers-page .careers-intro-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px; align-items: center; }
.about-review.careers-page .careers-heading { max-width: none; text-align: left; }
.about-review.careers-page .careers-heading .careers-kicker { text-align: left; }
.about-review #current-vacancies .careers-heading { max-width: none; margin-inline: 0; }
.about-review #current-vacancies .careers-heading h2 { white-space: normal; }
.about-review #current-vacancies .careers-heading > p:last-child { max-width: none; margin-inline: 0; }
body main.about-review.about-review .careers-openings-action p { color: #fff; margin: 0; }
.about-review .careers-openings-action .btn { background: #fff; color: var(--green); flex-shrink: 0; }
.about-review.careers-page .careers-area-grid img { height: 200px; }
.about-review.careers-page .careers-area-grid article > div { padding: 24px; }
.about-review.careers-page .careers-area-grid span,.about-review.careers-page .careers-role-copy > span { font-size: .75rem; }
.about-review.careers-page .careers-role-meta small { font-size: .8125rem; }
.about-review.careers-page .careers-process-grid article { min-height: 0; padding: 24px; }
.about-review.careers-page .careers-process-grid article > span { font-size: .8125rem; }
.about-review.careers-page .careers-apply-grid { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 36px; }
.about-review.careers-page .careers-apply-points span { font-size: .9375rem; }
.about-review.careers-page .careers-form label { font-size: .875rem; line-height: 1.5; }
.about-review.careers-page .careers-form :is(input,select,textarea) { min-width: 0; font-size: 1rem; }
.about-review.careers-page .career-form-actions { grid-column: 1 / -1; max-width: none; width: 100%; }
.about-review.careers-page .career-form-actions .career-upload { max-width: none; width: 100%; }
.about-review.careers-page :is(.careers-captcha,.career-upload small,.form-consent span,.form-status) { font-size: .875rem; line-height: 1.6; }

/* FAQs: native keyboard-accessible accordions with short readable answers. */
body main.about-review.faq-page .faq-categories { padding-block: 20px; }
.about-review.faq-page .faq-category-grid a { font-size: .875rem; }
.about-review.faq-page .faq-group { display: grid; grid-template-columns: minmax(0,.4fr) minmax(0,1fr); gap: 32px; padding: 28px 0; scroll-margin-top: 24px; }
.about-review.faq-page .faq-group:first-child { padding-top: 0; }
.about-review.faq-page .faq-group:last-child { padding-bottom: 0; }
.about-review.faq-page .faq-group-heading { margin-bottom: 0; }
body main.about-review.faq-page .faq-group-heading h2 { margin-bottom: 0; }
.about-review.faq-page .faq-accordion summary { font-size: 1rem; line-height: 1.5; }
.about-review.faq-page .faq-accordion p { max-width: 85ch; }
.about-review.faq-page .faq-accordion a { color: var(--green); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.about-review.faq-page .faq-cta-inner { gap: 36px; }

body:has(.about-review) #site-footer :is(.footer-brand-description,.footer-equal-opportunities,.footer-col a) { font-size: .875rem; line-height: 1.65; }
body:has(.about-review) #site-footer .footer-col h5 { font-size: .8rem; line-height: 1.5; }
@media (min-width: 1001px) {
 body main.about-review section.aligned-hero.aligned-hero { min-height: 360px; padding-block: 32px; }
}
@media (max-width: 1200px) {
 .about-review.team-page .team-showcase-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 1000px) {
 .about-review.our-locations-page .locations-visual-hero-overlay { background: rgba(4,27,16,.78); }
 .about-review :is(.review-split,.review-card-grid),.about-review.story-page .story-split,.about-review.team-page .team-culture-grid,.about-review.careers-page :is(.careers-intro-grid,.careers-apply-grid),.about-review.faq-page .faq-group { grid-template-columns: 1fr; gap: 24px; }
 .about-review .review-cta { align-items: flex-start; flex-direction: column; gap: 20px; }
 .about-review .review-image-card { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1fr); }
 .about-review .review-image-card > img { height: 100%; min-height: 220px; }
 .about-review.team-page .team-section-heading { display: block; }
 .about-review.team-page .team-section-heading > p { max-width: none; }
 .about-review .location-photo-panel { max-width: 760px; }
}
@media (max-width: 650px) {
 .about-review.faq-page .faq-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
 .about-review.faq-page .faq-category-grid a { flex-direction: column; min-height: 80px; padding: 14px; gap: 8px; font-size: .8125rem; text-align: center; }
 .about-review.team-page .team-showcase-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
 .about-review .review-image-card { display: block; }
 .about-review .review-image-card > img { height: 220px; min-height: 0; }
 .about-review.team-page .team-profile-summary { padding: 14px; }
}
@media (max-width: 560px) {
 main.about-review { --review-body: .9375rem; }
 body main.about-review.about-review .container { width: calc(100% - 26px); }
 body main.about-review.about-review > section:not(.aligned-hero) { padding-block: 28px; }
 .about-review.story-page .story-image-card { height: auto; aspect-ratio: 4 / 3; }
 .about-review.careers-page .careers-apply-grid { padding: 20px 16px; }
 .about-review.faq-page .faq-accordion summary { padding: 16px; font-size: .9375rem; }
}
@media (max-width: 380px) {
 .about-review.team-page .team-showcase-grid { grid-template-columns: 1fr; }
}
