.gh-about { overflow: hidden; background: #fff; color: var(--gh-text); }
.gh-about h1, .gh-about h2, .gh-about h3, .gh-about p, .gh-about li { font-family: var(--sans); }
.gh-about__crumbs { border-bottom: 1px solid #e5e9ed; background: #fff; color: var(--gh-muted); font-size: .78rem; }
.gh-about__crumbs .gh-shell { display: flex; gap: 9px; align-items: center; min-height: 48px; }
.gh-about__crumbs a { color: var(--gh-text); text-decoration: none; }
.gh-about__crumbs a:hover { color: var(--gh-gold); }

.gh-about-hero { padding: 72px 0 82px; background: #f4f6f8; }
.gh-about-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(430px, .9fr); gap: clamp(48px, 7vw, 96px); align-items: center; }
.gh-about-hero h1 { margin: 0 0 22px; color: var(--gh-navy); font-size: clamp(2.15rem, 3vw, 2.85rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.08; }
.gh-about-hero h2 { margin: 0; color: #59636d; font-size: clamp(1.08rem, 1.7vw, 1.38rem); font-weight: 500; letter-spacing: -.012em; line-height: 1.62; }
.gh-about-hero ul { display: grid; gap: 13px; padding: 27px 0 0; margin: 30px 0 0; border-top: 1px solid #d9dfe4; list-style: none; }
.gh-about-hero li { position: relative; padding-left: 24px; color: var(--gh-text); font-size: .86rem; font-weight: 700; letter-spacing: .025em; }
.gh-about-hero li::before { position: absolute; top: .54em; left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--gh-gold); content: ''; }
.gh-about-hero__visual { min-height: 540px; margin: 0; overflow: hidden; border-radius: 24px; background: #dce2e6; box-shadow: 0 26px 65px rgb(34 44 54 / 16%); }
.gh-about-hero__visual img { width: 100%; height: 100%; min-height: 540px; object-fit: cover; }

.gh-about-intro { padding: 98px 0 106px; background: #fff; }
.gh-about-intro__copy { max-width: 920px; }
.gh-about-intro p { margin: 0; color: var(--gh-muted); font-size: 1.16rem; line-height: 1.9; }
.gh-about-intro p + p { margin-top: 26px; }
.gh-about-intro p:first-child { color: var(--gh-text); }
.gh-about-intro strong { color: var(--gh-navy); }

.gh-about-motto { padding: 96px 0; background: var(--gh-navy); color: #fff; }
.gh-about-motto__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr); gap: clamp(50px, 8vw, 110px); align-items: center; }
.gh-about-motto h2, .gh-about-principles h2, .gh-about-gallery > .gh-shell > h2, .gh-about-contact h2 { margin: 0; font-size: clamp(1.45rem, 2.2vw, 1.95rem); font-weight: 700; letter-spacing: -.025em; line-height: 1.35; }
.gh-about-motto h2 { color: #fff; }
.gh-about-motto p { margin: 27px 0 0; color: #d4d9de; font-size: .98rem; line-height: 1.85; }
.gh-about-motto figure { min-height: 470px; margin: 0; overflow: hidden; border-radius: 22px; }
.gh-about-motto img { width: 100%; height: 100%; min-height: 470px; object-fit: cover; }

.gh-about-principles { padding: 104px 0 112px; background: #fff; }
.gh-about-principles h2 { max-width: 980px; color: var(--gh-navy); }
.gh-about-principles__grid { counter-reset: about-principle; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; padding: 0; margin: 52px 0 0; border-top: 1px solid #dfe4e8; border-left: 1px solid #dfe4e8; list-style: none; }
.gh-about-principles__grid li { counter-increment: about-principle; position: relative; min-height: 150px; padding: 34px 34px 34px 88px; border-right: 1px solid #dfe4e8; border-bottom: 1px solid #dfe4e8; color: var(--gh-muted); font-size: .88rem; line-height: 1.75; transition: background .25s ease; }
.gh-about-principles__grid li:hover { background: #f7f9fa; }
.gh-about-principles__grid li::before { position: absolute; top: 34px; left: 31px; color: var(--gh-gold); font-size: .88rem; font-weight: 700; letter-spacing: .06em; content: counter(about-principle, decimal-leading-zero); }

.gh-about-gallery { padding: 104px 0 118px; background: #f4f6f8; }
.gh-about-gallery > .gh-shell > h2 { max-width: 1000px; color: var(--gh-navy); }
.gh-about-gallery__group { margin-top: 68px; }
.gh-about-gallery__group h3 { max-width: 900px; margin: 0 0 25px; color: var(--gh-navy); font-size: .96rem; font-weight: 700; line-height: 1.55; }
.gh-about-gallery__grid { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 14px; }
.gh-about-gallery__grid--team { grid-template-rows: 260px 360px; }
.gh-about-gallery__grid--team figure:nth-child(1) { grid-column: 1 / span 4; grid-row: 1 / span 2; }
.gh-about-gallery__grid--team figure:nth-child(2) { grid-column: 5 / span 3; grid-row: 1; }
.gh-about-gallery__grid--team figure:nth-child(3) { grid-column: 8 / span 3; grid-row: 1; }
.gh-about-gallery__grid--team figure:nth-child(4) { grid-column: 5 / span 6; grid-row: 2; }
.gh-about-gallery__grid--project { grid-template-rows: repeat(2, 290px); }
.gh-about-gallery__grid--project figure:nth-child(1) { grid-column: 7 / span 2; grid-row: 1; }
.gh-about-gallery__grid--project figure:nth-child(2) { grid-column: 9 / span 2; grid-row: 1; }
.gh-about-gallery__grid--project figure:nth-child(3) { grid-column: 1 / span 6; grid-row: 1 / span 2; }
.gh-about-gallery__grid--project figure:nth-child(4) { grid-column: 7 / span 2; grid-row: 2; }
.gh-about-gallery__grid--project figure:nth-child(5) { grid-column: 9 / span 2; grid-row: 2; }
.gh-about-gallery figure { margin: 0; overflow: hidden; border-radius: 15px; background: #dce2e6; }
.gh-about-gallery img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.002); transition: transform .65s cubic-bezier(.22,1,.36,1), filter .4s ease; }
.gh-about-gallery figure:hover img { filter: saturate(1.08); transform: scale(1.045); }

.gh-about-contact { padding: 88px 0; background: #fff; }
.gh-about-contact__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(350px, .9fr); gap: clamp(55px, 9vw, 130px); padding: 58px 62px; border-radius: 24px; background: var(--gh-navy); color: #fff; box-shadow: 0 24px 70px rgb(34 44 54 / 18%); }
.gh-about-contact h2 { color: #fff; }
.gh-about-contact h3 { margin: 0 0 20px; color: var(--gh-gold); font-size: 1rem; }
.gh-about-contact ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; padding: 0; margin: 0; list-style: none; }
.gh-about-contact li { font-size: .78rem; }
.gh-about-contact a { color: #e0e5e9; text-decoration: none; }
.gh-about-contact a:hover { color: var(--gh-gold); }

@media (max-width: 1050px) {
	.gh-about-hero__grid, .gh-about-motto__grid { grid-template-columns: 1fr 410px; gap: 44px; }
	.gh-about-contact__grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
	.gh-about-hero__grid, .gh-about-motto__grid { grid-template-columns: 1fr; }
	.gh-about-hero__visual, .gh-about-hero__visual img { min-height: 500px; }
	.gh-about-motto figure, .gh-about-motto img { min-height: 450px; }
	.gh-about-principles__grid { grid-template-columns: 1fr; }
	.gh-about-gallery__grid, .gh-about-gallery__grid--team, .gh-about-gallery__grid--project { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; grid-auto-rows: 290px; }
	.gh-about-gallery__grid--team figure:nth-child(n), .gh-about-gallery__grid--project figure:nth-child(n) { grid-column: auto; grid-row: auto; }
	.gh-about-gallery__grid--project figure:nth-child(3) { grid-column: 1 / span 2; grid-row: auto; }
	.gh-about-contact__grid { padding: 44px; }
}

@media (max-width: 560px) {
	.gh-about-hero, .gh-about-intro, .gh-about-motto, .gh-about-principles, .gh-about-gallery { padding-block: 68px; }
	.gh-about-hero h1 { font-size: 2.25rem; }
	.gh-about-hero h2 { font-size: 1.03rem; }
	.gh-about-intro p { font-size: 1rem; }
	.gh-about-hero__visual, .gh-about-hero__visual img { min-height: 390px; }
	.gh-about-motto figure, .gh-about-motto img { min-height: 360px; }
	.gh-about-principles__grid { margin-top: 36px; }
	.gh-about-principles__grid li { min-height: 0; padding: 28px 24px 28px 68px; }
	.gh-about-principles__grid li::before { top: 29px; left: 23px; }
	.gh-about-gallery__group { margin-top: 48px; }
	.gh-about-gallery__grid, .gh-about-gallery__grid--team, .gh-about-gallery__grid--project { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-rows: auto; gap: 9px; }
	.gh-about-gallery figure { border-radius: 10px; }
	.gh-about-gallery__grid--team figure:nth-child(n), .gh-about-gallery__grid--project figure:nth-child(n) { grid-column: auto; grid-row: auto; aspect-ratio: 4 / 3; }
	.gh-about-contact { padding: 58px 0; }
	.gh-about-contact__grid { padding: 32px 24px; border-radius: 18px; }
	.gh-about-contact ul { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	.gh-about-gallery img { transition: transform .22s ease, filter .2s ease; }
	.gh-about-gallery figure:hover img { transform: scale(1.01); }
}
