/* Shared page frame. Keep navigation outside the content margins. */
:root { --portfolio-x:clamp(48px,6.875vw,110px); --portfolio-y:clamp(36px,6.667vh,64px); }
.page { padding:var(--portfolio-y) var(--portfolio-x); }
.page.split > .page-content, .page.split > .image-area { padding:0; }
.page.split { gap:48px; }
.page.split .image-card { height:100%; min-height:0; transform:none; }
.page.split .image-area { height:100%; min-height:0; }
.page.cover .cover-logo { left:var(--portfolio-x); top:var(--portfolio-y); }
.page.services-page { gap:64px; }
.page.services-page .services-list { height:100%; display:grid; grid-template-rows:repeat(7,1fr); }
.page.services-page .service-item { padding:12px 0; }
.page.tech-overview-page .tech-overview-content { height:100%; max-width:none; justify-content:space-between; gap:32px; }
.page.tech-overview-page .tech-overview-cards { margin-bottom:0; flex:1; }
.page.tech-overview-page .tech-card.compact { display:flex; flex-direction:column; justify-content:center; }
.page.tech-overview-page .tech-overview-content { display:grid; grid-template-columns:1fr; grid-template-rows:auto 1fr; }
.page.tech-overview-page .tech-overview-cards { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-self:center; }
.page.tech-overview-page .tech-card.compact { padding:28px 24px; justify-content:flex-start; }
.page.tech-overview-page .tech-card.compact h3 { font-size:32px; margin-bottom:20px; }
.page.tech-overview-page .tech-card ul { font-size:16px; line-height:1.6; }
.page.tech-final-page .tech-final-grid { height:100%; align-items:center; }
.page.tech-final-page .tech-final-cards { height:100%; grid-template-rows:1.15fr .85fr; gap:24px; min-height:0; }
.page.tech-final-page .tech-card.compact { padding:16px 26px; transform:none; min-height:0; }
.page.tech-final-page .tech-card.compact h3 { font-size:30px; margin-bottom:10px; }
.page.tech-final-page .tech-card.compact .eyebrow { margin-bottom:8px; }
.page.tech-final-page .tech-card ul { font-size:13px; line-height:1.45; }
.page.cases-page { justify-content:space-between; gap:24px; }
.page.cases-page .section-header { margin-bottom:0; }
.page.cases-page .section-header h2 { font-size:clamp(42px,5vw,72px); }
.page.cases-page .cases-grid { height:auto; min-height:0; flex:1; }
.page.case-detail-page .case-detail-grid { height:100%; }
.page.case-detail-page .case-detail-media { height:100%; min-height:0; transform:none; }
.page.contact-page { justify-content:space-between; }
.page.contact-page .eyebrow { margin-bottom:0; }
.page.contact-page h2 { font-size:clamp(42px,5.5vw,80px); }
.page.contact-page .contact-text,.page.contact-page .buttons { margin-top:0; }
@media(max-width:900px) {
 :root { --portfolio-x:28px; --portfolio-y:48px; }
 .page { padding:var(--portfolio-y) var(--portfolio-x); min-height:100svh; }
 .page.split { gap:36px; }
 .page.split .image-area { height:auto; }
 .page.split .image-card { height:58svh; min-height:320px; }
 .page.services-page { gap:40px; }
 .page.services-page .services-list { height:auto; display:block; }
 .page.services-page .service-item { padding:21px 0; }
 .page.tech-overview-page .tech-overview-content { height:auto; gap:32px; }
 .page.tech-overview-page .tech-overview-cards { flex:none; grid-template-columns:1fr; }
 .page.tech-final-page .tech-final-grid,.page.tech-final-page .tech-final-cards { height:auto; }
 .page.tech-final-page .tech-final-cards { grid-template-rows:none; }
 .page.tech-final-page .tech-card.compact { padding:26px 24px; }
 .page.tech-final-page .tech-card ul { font-size:14px; line-height:1.65; }
 .page.cases-page .cases-grid { flex:none; }
 .page.case-detail-page .case-detail-grid { height:auto; }
 .page.case-detail-page .case-detail-media { height:58svh; min-height:320px; }
 .page.contact-page { gap:32px; }
 .page.contact-page h2 { font-size:clamp(40px,11vw,64px); }
}
