/* v29: whole photographs, page-specific imagery and balanced introduction. */
.hero.hero-balanced {min-height:0;background:radial-gradient(ellipse at 100% 0%,rgba(28,143,133,.16),transparent 58%),#092b3b;}
.hero-balanced .hero-inner {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"slogan slogan" "copy photo" "detail detail";gap:36px 52px;align-items:start;min-height:0;padding-block:44px 48px;}
.hero-balanced .hero-slogan {grid-area:slogan;display:flex;gap:10px;margin:0;padding:0 0 28px;border:0;border-bottom:1px solid rgba(255,255,255,.2);border-radius:0;background:none;box-shadow:none;}
.hero-balanced .hero-slogan strong {font-size:clamp(1.65rem,2.8vw,2.5rem);line-height:1.4;font-weight:750;color:#fff;letter-spacing:-.035em;word-break:keep-all;}
.hero-balanced .hero-slogan p {max-width:none;margin:0;color:#c1d6db;font-size:1rem;line-height:1.8;word-break:keep-all;}
.hero-balanced .hero-copy {grid-area:copy;min-width:0;padding:0;}
.hero-balanced h1 {max-width:none;margin:0 0 24px;font-size:clamp(2rem,3vw,2.5rem);line-height:1.4;letter-spacing:-.045em;word-break:keep-all;overflow-wrap:break-word;}
.hero-balanced .hero-copy>p {max-width:none;margin:0;font-size:1.0625rem;line-height:1.9;word-break:keep-all;}
.hero-balanced .hero-actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.hero-balanced .hero-actions .button {width:auto;min-height:50px;height:auto;padding:14px 22px;font-size:1rem;line-height:1.5;}
.hero-balanced .hero-photo {grid-area:photo;display:block;align-self:start;height:auto;aspect-ratio:auto;min-width:0;margin:0;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:#103b49;box-shadow:0 18px 42px rgba(0,0,0,.15);}
.hero-balanced .hero-photo:after {display:none;}
.hero-balanced .hero-photo>img {display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;}
.hero-balanced .hero-photo figcaption {position:static;display:flex;gap:6px;max-width:none;padding:20px 22px;}
.hero-balanced .hero-photo figcaption>span {font-size:.75rem;letter-spacing:.1em;}
.hero-balanced .hero-photo figcaption>strong {max-width:none;font-size:1.125rem;line-height:1.6;word-break:keep-all;}
.hero-balanced .hero-photo-tags {position:static;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:7px;max-width:none;margin-top:6px;}
.hero-balanced .hero-photo-tags span {display:inline-block;font-size:.8125rem;padding:5px 9px;}
.hero-balanced .illustrative-label {position:static;align-self:flex-start;margin-top:5px;padding:0;background:none;color:#b8cdd2;font-size:.75rem;}
.hero-balanced .hero-detail {grid-area:detail;display:block;padding-top:24px;border-top:1px solid rgba(255,255,255,.18);}
.hero-balanced .official-core-intro {margin:24px 0 0;padding:20px 0 0;border:0;border-top:1px solid rgba(255,255,255,.15);background:none;border-radius:0;}
.hero-balanced .official-core-intro strong {margin-bottom:8px;color:#d0eee5;font-size:1.0625rem;line-height:1.6;}
.hero-balanced .official-core-intro p {margin:0;color:#bfd2d7;font-size:1rem;line-height:1.85;word-break:keep-all;}
.hero-balanced .hero-meta {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;max-width:650px;margin:0;}
.hero-balanced .hero-meta div {width:auto;min-width:0;margin:0;padding:6px 18px;border-right:1px solid rgba(255,255,255,.18);}
.hero-balanced .hero-meta div:first-child {padding-left:0;}
.hero-balanced .hero-meta div:last-child {padding-right:0;border:0;}
.hero-balanced .hero-meta strong {font-size:1rem;line-height:1.5;word-break:keep-all;}
.hero-balanced .hero-meta span {font-size:.875rem;line-height:1.7;word-break:keep-all;}

/* Every subpage uses an uncropped inline image, never a cover background. */
.sub-hero.sub-hero-visual {display:block;height:auto;min-height:0;padding:42px 0;background:#0a2d3e;background-image:none;border-bottom:1px solid #d4e2e5;overflow:visible;}
.sub-hero-visual:before,.sub-hero-visual:after {display:none;}
.sub-hero-visual>.container {display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:56px;align-items:center;}
.sub-hero-copy {min-width:0;padding:10px 0;}
.sub-hero-visual .sub-hero-copy>p {margin:0 0 16px;font-size:.875rem;line-height:1.6;letter-spacing:.1em;color:#92dccc;}
.sub-hero-visual .sub-hero-copy>h1 {margin:0;font-size:clamp(2rem,3vw,2.75rem);line-height:1.4;font-weight:700;word-break:keep-all;overflow-wrap:break-word;}
.sub-hero-visual .sub-hero-copy>span {display:block;margin-top:20px;max-width:32rem;color:#cbdee2;font-size:1.0625rem;line-height:1.85;word-break:keep-all;overflow-wrap:break-word;}
.sub-hero-media {min-width:0;width:100%;margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:#123a49;}
.sub-hero-media>img {display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;}
.sub-hero-media>figcaption {padding:8px 14px;color:#c4d8dd;font-size:.75rem;line-height:1.5;text-align:right;}
.content-heading h2 {font-size:clamp(1.8rem,2.55vw,2.5rem);line-height:1.45;word-break:keep-all;overflow-wrap:break-word;}
.content-heading>span {word-break:keep-all;}

/* Four distinct subjects; intrinsic dimensions preserve faces at all widths. */
.mission-card {min-width:0;min-height:0;padding:0 24px 26px;}
.mission-card>.mission-photo {display:block;width:calc(100% + 48px);height:auto;flex:0 0 auto;aspect-ratio:auto;margin-left:-24px;background:none;}
.mission-photo:after {display:none;}
.mission-photo>img {display:block;width:100%;height:auto;object-fit:contain;}
.mission-card h3 {font-size:1.25rem;line-height:1.5;word-break:keep-all;}
.mission-card p {font-size:1rem;line-height:1.85;word-break:keep-all;overflow-wrap:break-word;}
.mission-card .official-core-message {min-height:3.5em;font-size:1rem;line-height:1.75;}
.mission-card .text-link {margin-top:auto;padding-top:26px;font-size:.9375rem;}
.bridge-field {display:block;min-height:0;padding:0;background:#092d3c;}
.bridge-media {display:block;min-height:0;height:auto;}
.bridge-media:after {display:none;}
.bridge-media>img {display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;}
.bridge-photo-label {position:static;display:flex;align-items:flex-start;justify-content:flex-start;min-height:0;margin:0;padding:20px 24px;gap:8px;background:none;}
.bridge-photo-label span {font-size:.75rem;line-height:1.5;}
.bridge-photo-label strong {font-size:1.0625rem;line-height:1.6;word-break:keep-all;}
.bridge-media>.illustrative-label {position:static;display:block;margin:0;padding:0 24px 18px;border-radius:0;background:none;color:#c4d8dd;}
.feature-insight {display:flex;flex-direction:column;grid-template-rows:none;}
.feature-insight>.feature-insight-photo {width:100%;height:auto;padding:0;background:none;border:0;border-radius:0;}
.feature-insight-photo>img {display:block;width:100%;height:auto;object-fit:contain;}
.official-page-image img {height:auto;max-height:none;object-fit:contain;}

@media (max-width:1100px) {
 .hero-balanced .hero-inner {gap:30px;}
 .hero-balanced h1 {font-size:clamp(1.9rem,3.4vw,2.5rem);}
 .hero-balanced .hero-detail {grid-template-columns:minmax(0,1fr);gap:24px;}
 .hero-balanced .hero-meta {max-width:560px;}
 .sub-hero-visual>.container {gap:32px;}
 .mission-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
 .mission-card .official-core-message {min-height:0;}
}
@media (max-width:780px) {
 .hero-balanced .hero-inner {grid-template-columns:minmax(0,1fr);grid-template-areas:"slogan" "copy" "photo" "detail";padding-block:30px 36px;gap:28px;}
 .hero-balanced .hero-slogan {padding-bottom:23px;}
 .hero-balanced .hero-slogan strong {font-size:clamp(1.55rem,4.5vw,2rem);}
 .hero-balanced h1 {font-size:clamp(1.9rem,5.8vw,2.6rem);line-height:1.4;}
 .hero-balanced .hero-copy>p {font-size:1rem;}
 .hero-balanced .hero-actions {margin-top:22px;}
 .hero-balanced .hero-photo figcaption {padding:18px 20px;}
 .hero-balanced .hero-detail {padding-top:24px;}
 .sub-hero.sub-hero-visual {padding:30px 0;}
 .sub-hero-visual>.container {grid-template-columns:minmax(0,1fr);gap:24px;}
 .sub-hero-copy {padding:0;}
 .sub-hero-visual .sub-hero-copy>p {margin-bottom:10px;font-size:.8125rem;}
 .sub-hero-visual .sub-hero-copy>h1 {font-size:2rem;}
 .sub-hero-visual .sub-hero-copy>span {max-width:none;margin-top:12px;font-size:1rem;}
 .sub-hero-media {border-radius:12px;}
 .content-heading h2 {font-size:1.8rem;line-height:1.5;}
}
@media (max-width:540px) {
 .hero-balanced .hero-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
 .hero-balanced .hero-actions .button {padding:12px 8px;font-size:.9375rem;}
 .hero-balanced .hero-photo figcaption>strong {font-size:1.0625rem;}
 .hero-balanced .hero-meta div {padding-inline:10px;}
 .hero-balanced .hero-meta strong {font-size:.9375rem;}
 .hero-balanced .hero-meta span {font-size:.8125rem;}
 .mission-grid {grid-template-columns:minmax(0,1fr);gap:24px;}
 .mission-card {padding-inline:22px;}
 .mission-card>.mission-photo {width:calc(100% + 44px);margin-left:-22px;}
 .mission-card h3 {font-size:1.375rem;}
}
