.inner-header { position: absolute; }
.page-hero { min-height: 590px; position: relative; display: flex; align-items: end; color: #fff; padding: 170px max(24px, calc((100vw - var(--max)) / 2)) 90px; }
.page-hero > img, .page-hero::after { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.page-hero::after { content: ""; background: linear-gradient(90deg, rgba(5,20,36,.92), rgba(8,30,52,.58) 65%, rgba(4,18,31,.18)); }
.page-hero-content { position: relative; z-index: 1; max-width: 850px; }
.page-hero h1 { font-size: clamp(2.8rem, 5.4vw, 5.3rem); letter-spacing: -.052em; }
.page-hero p:last-child { max-width: 710px; font-size: 1.15rem; line-height: 1.7; color: #e7edf2; }
.page-main { padding: 105px max(24px, calc((100vw - var(--max)) / 2)); }
.page-intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; }
.page-intro h2, .page-section h2, .page-cta h2 { font-size: clamp(2.15rem, 3.7vw, 3.7rem); letter-spacing: -.045em; }
.page-copy p { color: #52616e; font-size: 1.06rem; line-height: 1.82; margin: 0 0 22px; }
.scope-panel { margin-top: 36px; background: var(--mist); padding: 34px; }
.scope-panel h3 { font-size: 1.35rem; margin-bottom: 20px; }
.scope-panel ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; }
.scope-panel li { padding-left: 18px; position: relative; color: #4f5f6c; line-height: 1.5; }
.scope-panel li::before { content: ""; position: absolute; left: 0; top: .65em; width: 7px; height: 7px; background: var(--gold); }
.page-section { padding: 100px max(24px, calc((100vw - var(--max)) / 2)); background: var(--mist); }
.page-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 45px; }
.page-columns article { background: #fff; border-top: 3px solid var(--gold); padding: 30px; }
.page-columns h3 { font-size: 1.25rem; margin-bottom: 13px; }
.page-columns p { color: #5d6a76; line-height: 1.7; margin: 0; }
.page-gallery { padding: 100px max(24px, calc((100vw - var(--max)) / 2)); background: #fff; }
.gallery-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: end; margin-bottom: 42px; }
.gallery-heading h2 { font-size: clamp(2.15rem, 3.7vw, 3.7rem); letter-spacing: -.045em; margin: 0; }
.gallery-heading > p { color: #52616e; font-size: 1.06rem; line-height: 1.8; margin: 0; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.gallery-grid figure { margin: 0; background: var(--mist); overflow: hidden; }
.gallery-grid img { width: 100%; height: 310px; object-fit: cover; display: block; transition: transform .45s ease; }
.gallery-grid figure:hover img { transform: scale(1.025); }
.gallery-grid figcaption { padding: 15px 17px 17px; color: var(--blue); font-weight: 700; font-size: .9rem; }
.gallery-count-5 figure:nth-child(4), .gallery-count-5 figure:nth-child(5) { grid-column: span 1; }
.related { padding: 75px max(24px, calc((100vw - var(--max)) / 2)); }
.related h2 { font-size: 1.8rem; margin-bottom: 25px; }
.related-links { display: flex; flex-wrap: wrap; gap: 12px; }
.related-links a { border: 1px solid var(--line); padding: 12px 16px; color: var(--blue); font-weight: 700; }
.related-links a:hover { border-color: var(--gold); }
.page-cta { padding: 90px max(24px, calc((100vw - var(--max)) / 2)); background: var(--blue); color: #fff; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.page-cta p { color: #d8e0e6; line-height: 1.7; max-width: 650px; }
.page-footer { grid-template-columns: 1.25fr 1fr 1fr .8fr; }
.brand img { width: 190px; height: auto; max-height: 64px; object-fit: contain; }
.footer-brand img { width: 210px; height: auto; max-height: 108px; object-fit: contain; object-position: left center; }
@media (max-width: 900px) { .brand img { width: 168px; height: auto; max-height: 56px; } .page-intro { grid-template-columns: 1fr; gap: 35px; } .page-columns { grid-template-columns: 1fr; } .gallery-heading { grid-template-columns: 1fr; gap: 20px; } .gallery-grid { grid-template-columns: 1fr 1fr; } .page-cta { align-items: flex-start; flex-direction: column; } .page-footer { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .page-hero { min-height: 520px; padding: 145px 20px 65px; } .page-hero h1 { font-size: 3rem; } .page-main, .page-section, .page-gallery, .related, .page-cta { padding: 75px 20px; } .scope-panel ul { grid-template-columns: 1fr; } .gallery-grid { grid-template-columns: 1fr; } .gallery-grid img { height: 270px; } .page-footer { grid-template-columns: 1fr; } }
