:root {
  color-scheme: light;
  --portfolio-accent: var(--sapBrandColor, #0070f2);
  --portfolio-text: var(--sapTextColor, #1d2d3e);
  --portfolio-muted: var(--sapContent_LabelColor, #556b82);
  --portfolio-surface: var(--sapGroup_ContentBackground, #fff);
  --portfolio-border: var(--sapGroup_ContentBorderColor, #d9e2ec);
}
html, body { height: 100%; margin: 0; }
body { color: var(--portfolio-text); background: #f5f6f7; overflow: hidden; }
#app { height: 100%; }
.portfolioRoot, .portfolioPage { min-height: 0; }
.portfolioRoot { height: 100dvh !important; }
.portfolioPage { height: calc(100dvh - 4.75rem) !important; }
#startup { position: fixed; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #f5f6f7; z-index: 100; font: 15px Arial, sans-serif; color: #556b82; }
.startup-monogram { font: 700 44px Arial, sans-serif; color: #1d2d3e; letter-spacing: -3px; }
.startup-monogram span { color: #0070f2; }
#load-fallback:not([hidden]) { position: fixed; z-index: 110; inset: auto 1rem 2rem; max-width: 580px; margin: auto; background: white; border: 1px solid #b4c4d5; border-radius: 16px; padding: 24px; font: 16px/1.6 Arial, sans-serif; box-shadow: 0 8px 30px #1d2d3e18; }
#load-fallback h1 { margin-top: 0; color: #1d2d3e; }
#load-fallback a { display: block; color: #0057d2; overflow-wrap: anywhere; }
.no-script { position: fixed; inset: 0; z-index: 200; background: white; padding: 4rem; font: 18px Arial, sans-serif; }
.siteShell.sapMOTB { padding: 0 3.5rem; background: var(--portfolio-surface); border-bottom: 1px solid var(--portfolio-border); box-shadow: none; flex-shrink: 0; }
.brandLockup { gap: .75rem; }
.brandAvatar.sapFAvatar { border-radius: .7rem; font-weight: 700; }
.brandText .sapMTitle { font-size: .95rem; font-weight: 700; }
.brandCaption.sapMText { font-size: .57rem; letter-spacing: .12em; color: var(--portfolio-muted); margin-top: .1rem; }
.shellAvailability { margin-right: 1.25rem; }
.shellAvailability .sapMObjStatusText { font-size: .75rem; }
.shellAvailability .sapUiIcon { font-size: .55rem; }
.shellContact .sapMBtnInner { border-radius: .55rem; }
.portfolioPage .sapFDynamicPageTitle { display: none; }
.portfolioPage .sapFDynamicPageHeader { padding: 0; background: var(--portfolio-surface); box-shadow: none; }
.portfolioPage .sapUxAPObjectPageHeaderContent { background: var(--portfolio-surface); padding: 0; }
.portfolioPage .sapUxAPObjectPageHeaderContent .sapUxAPObjectPageHeaderContentItem { margin: 0; width: 100%; }
.portfolioPage .sapUxAPObjectPageHeaderContentFlexBox { display: block; }
.heroLayout { box-sizing: border-box; padding: 4.2rem 5.25rem 3rem; gap: 3.5rem; max-width: 1600px; margin: auto !important; }
.heroCopy { flex: 1 1 520px; min-width: 0; }
.eyebrow.sapMText, .sectionEyebrow.sapMText { color: var(--portfolio-accent); font-size: .65rem; font-weight: 700; letter-spacing: .13em; line-height: 1.5; }
.eyebrowLine { margin-bottom: 1.25rem; }
.heroTitle.sapMTitle { color: var(--portfolio-text); font-size: clamp(2.2rem, 3.5vw, 3.7rem); font-weight: 800; letter-spacing: -.045em; line-height: 1.13; margin: 0; }
.heroTitleAccent.sapMTitle { color: var(--portfolio-accent); }
.heroDescription.sapMText { max-width: 35rem; margin-top: 1.5rem; color: var(--portfolio-muted); font-size: 1.08rem; line-height: 1.75; }
.heroRole.sapMText { font-size: .8rem; font-weight: 600; color: var(--portfolio-text); margin-top: 1rem; }
.heroQuote.sapMText { max-width: 35rem; margin-top: 1.25rem; color: var(--portfolio-text); font-size: 1rem; line-height: 1.75; }
.heroActions { gap: .65rem; margin: 1.65rem 0 1.5rem; }
.heroActions .sapMBtnInner { border-radius: .6rem; padding: 0 1rem; }
.heroFootnote { gap: 1.3rem; }
.heroFootnote .sapMText, .heroFootnote .sapMObjStatusText { font-size: .7rem; }
.heroFootnote .sapMText { color: var(--portfolio-muted); }
.heroFootnote .sapMObjStatusIcon .sapUiIcon { font-size: .55rem; }
.solutionCanvas { flex: 0 1 375px; min-width: 0; padding: 1.4rem; border: 1px solid #dce8f5; border-radius: 1.3rem; background: linear-gradient(145deg, #f2f7ff 0%, #f5f9ff 55%, #eef5fa 100%); box-shadow: 0 12px 36px #1d2d3e08; transform: rotate(-1deg); }
.canvasHeader { margin-bottom: 1.4rem; gap: .8rem; }
.canvasEyebrow.sapMText { color: #506782; letter-spacing: .12em; font-size: .58rem; font-weight: 700; }
.canvasHeader .sapMObjStatusText { font-size: .65rem; }
.canvasHeader .sapMObjStatusIcon .sapUiIcon { font-size: .75rem; }
.solutionLayer { padding: 1.25rem; border: 1px solid #dbe5ef; border-radius: .8rem; background: white; box-shadow: 0 3px 8px #1d2d3e05; }
.interfaceLayer { border-top: 3px solid var(--portfolio-accent); }
.layerIcon { color: var(--portfolio-accent); font-size: 1rem; margin-right: .6rem; }
.layerLabel.sapMText { font-size: .7rem; font-weight: 600; color: #536a82; }
.layerNumber.sapMText { font-family: monospace; color: #93a6b9; font-size: .65rem; }
.layerTitle.sapMTitle { font-size: 1.15rem; margin-top: .9rem; font-weight: 700; color: #1d2d3e; }
.layerTech.sapMText { font-size: .7rem; color: #556b82; margin-top: .3rem; }
.miniInterface { background: #f3f8ff; padding: .65rem; border-radius: .35rem; margin-top: 1rem; gap: .5rem; }
.miniInterface .sapUiIcon { color: #188918; font-size: .7rem; }
.miniInterface .sapMText { color: #536a82; font-size: .65rem; }
.connector { padding: .85rem 0; gap: .6rem; }
.connector .sapUiIcon { color: #6f96c0; font-size: .9rem; }
.connector .sapMText { color: #536a82; font-size: .63rem; font-weight: 600; }
.backendLayer { border-left: 3px solid #649be4; }
.canvasFooter.sapMText { display: block; text-align: center; margin-top: 1.2rem; color: #6a8198; font-size: .65rem; }
.proofStrip { max-width: 1600px; box-sizing: border-box; margin: auto !important; border-top: 1px solid var(--portfolio-border); padding: 1.8rem 5.25rem 2rem; gap: 1.5rem; }
.proofItem { flex: 1 1 180px; border-left: 2px solid #dbe9fa; padding-left: 1rem; }
.proofValue.sapMText { font-size: 1.3rem; font-weight: 700; letter-spacing: -.02em; }
.proofLabel.sapMText { color: var(--portfolio-muted); font-size: .55rem; letter-spacing: .1em; margin-top: .4rem; }
.portfolioPage .sapUxAPAnchorBar { box-shadow: 0 1px 0 var(--portfolio-border); background: var(--portfolio-surface); padding: 0 3.5rem; }
.portfolioPage .sapUxAPAnchorBarButton .sapMBtnContent { font-size: .85rem; font-weight: 600; }
.portfolioPage .sapUxAPObjectPageSectionHeader { display: none; }
.portfolioPage .sapUxAPObjectPageSubSectionHeader { display: none; }
.portfolioPage .sapUxAPObjectPageSubSection { padding: 0; margin: 0; }
.portfolioPage .sapUxAPObjectPageSubSectionAlignContent { margin-left: 0; margin-right: 0; }
.portfolioPage .sapUxAPBlockContainer { padding: 0; }
.portfolioPage .sapUxAPBlockContainer .sapUiRespGrid { padding: 0; }
.portfolioPage .sapUxAPBlockContainer .sapUiRespGrid > div { margin: 0; width: 100%; }
.portfolioPage .sapUxAPObjectPageSection { margin: 0; }
.sectionContent { box-sizing: border-box; max-width: 1600px; margin: auto; padding: 3.5rem 5.25rem 1rem; }
.sectionTitle.sapMTitle { font-size: clamp(1.6rem, 2.3vw, 2.25rem); letter-spacing: -.035em; font-weight: 700; margin-top: .7rem; }
.sectionIntro.sapMText { max-width: 50rem; color: var(--portfolio-muted); font-size: 1rem; line-height: 1.75; margin-top: .6rem; }
.servicesGrid { margin-top: 1.8rem; }
.serviceCard { padding: 1.6rem 1.35rem; background: var(--portfolio-surface); border: 1px solid var(--portfolio-border); border-radius: .8rem; box-sizing: border-box; height: 100%; }
.serviceIcon { font-size: 1.4rem; color: var(--portfolio-accent); background: #edf4ff; border-radius: .65rem; padding: .7rem; }
.serviceNumber.sapMText { font-family: monospace; color: #8a9bab; font-size: .7rem; }
.serviceCard .sapMTitle { font-size: 1.1rem; font-weight: 700; line-height: 1.45; margin-top: 1.3rem; }
.serviceDescription.sapMText { color: var(--portfolio-muted); line-height: 1.75; font-size: 1rem; margin-top: .7rem; }
.serviceTags.sapMText { font-size: .8rem; color: #657d96; margin-top: 1.2rem; line-height: 1.8; }
.serviceOutcome { margin-top: 1.2rem; padding: 1rem; background: #edf4ff; border-radius: .5rem; }
.serviceOutcomeLabel.sapMText { color: var(--portfolio-accent); font-size: .8rem; font-weight: 700; }
.serviceOutcomeText.sapMText { color: var(--portfolio-text); font-size: .95rem; line-height: 1.7; margin-top: .4rem; }
.servicesGrid > *, .pricingGrid > * { min-width: 0; }
.sectionContact { margin-top: 1.5rem; }
.pricingTitle.sapMTitle { font-size: 1.4rem; line-height: 1.4; font-weight: 700; margin-top: 2.5rem; }
.pricingGrid { margin-top: 1.5rem; }
.pricingCard { padding: 1.5rem; background: var(--portfolio-surface); border: 1px solid var(--portfolio-border); border-top: 3px solid var(--portfolio-accent); border-radius: .75rem; height: 100%; box-sizing: border-box; }
.pricingCard .sapMTitle { font-size: 1.1rem; font-weight: 700; line-height: 1.45; }
.pricingDescription.sapMText { color: var(--portfolio-muted); font-size: 1rem; line-height: 1.75; margin-top: .75rem; }
.benefitsGrid, .processGrid { margin-top: 1.8rem; }
.benefitCard { background: var(--portfolio-surface); border: 1px solid var(--portfolio-border); border-radius: .8rem; padding: 1.75rem; height: 100%; box-sizing: border-box; }
.benefitIcon { color: var(--portfolio-accent); font-size: 1.5rem; margin-bottom: 1.25rem; }
.benefitCard .sapMTitle { font-size: 1.2rem; font-weight: 700; line-height: 1.45; }
.benefitDescription.sapMText, .processDescription.sapMText, .engagementDescription.sapMText { font-size: 1rem; line-height: 1.75; color: var(--portfolio-muted); margin-top: .75rem; }
.processStep { border-top: 3px solid #b3cff2; background: var(--portfolio-surface); padding: 1.5rem; border-radius: .25rem .25rem .75rem .75rem; height: 100%; box-sizing: border-box; }
.stepNumber.sapMText { font-size: 1.6rem; font-weight: 700; color: var(--portfolio-accent); margin-bottom: 1rem; }
.processStep .sapMTitle { font-size: 1.1rem; font-weight: 700; line-height: 1.45; }
.engagementGrid { margin-top: 1.5rem; }
.engagementCard { padding: 1.5rem; gap: 1rem; border: 1px solid #cddff4; border-radius: .75rem; background: #f0f6ff; }
.engagementCard > .sapMVBox { min-width: 0; }
.engagementCard .sapMTitle { font-size: 1.1rem; font-weight: 700; line-height: 1.45; }
.scopeNote.sapMText { font-size: .9rem; line-height: 1.75; color: var(--portfolio-muted); margin-top: 1.25rem; max-width: 60rem; }
.founderIntro { gap: 1rem; margin-top: 1.5rem; margin-bottom: .75rem; }
.founderIntro > .sapMVBox { min-width: 0; }
.founderIntro .sapMTitle { font-size: 1.25rem; font-weight: 700; }
.founderRole.sapMText { font-size: 1rem; color: var(--portfolio-muted); margin-top: .4rem; line-height: 1.5; }
.contactIdentity.sapMText { font-size: .85rem; line-height: 1.6; color: var(--portfolio-muted); }
.projectsGrid { margin-top: 1.8rem; }
.projectCard.sapFCard { border-radius: .9rem; border: 1px solid var(--portfolio-border); box-shadow: 0 2px 4px #1d2d3e03; overflow: hidden; transition: box-shadow .2s, border-color .2s; height: 100%; }
.projectCard.sapFCard:hover { box-shadow: 0 8px 24px #1d2d3e0b; border-color: #a7bfdd; }
.projectCard .sapFCardContent { height: 100%; }
.projectCard .sapFCardContent > .sapMVBox { height: 100%; }
.projectVisual { min-height: 9rem; padding: 1.5rem 1.8rem; box-sizing: border-box; background: linear-gradient(115deg, #eaf2fd, #f3f7fd); border-bottom: 1px solid #e0e9f4; gap: 1rem; position: relative; }
.projectCard:nth-child(2) .projectVisual { background: linear-gradient(115deg, #eaf5f4, #f2f9f7); }
.projectCard:nth-child(3) .projectVisual { background: linear-gradient(115deg, #eef0fb, #f5f5fd); }
.projectCard:nth-child(4) .projectVisual { background: linear-gradient(115deg, #edf5fc, #f3f9fd); }
.projectCard:nth-child(5) .projectVisual { background: linear-gradient(115deg, #f2edfb, #f8f5fd); }
.projectCard:nth-child(6) .projectVisual { background: linear-gradient(115deg, #fcf3e8, #fdf9f2); }
.projectVisualIcon { color: #427dc4; font-size: 2rem; background: #ffffffb3; padding: 1.15rem; border: 1px solid #ffffff; border-radius: 1rem; flex-shrink: 0; }
.projectCard:nth-child(2) .projectVisualIcon { color: #38837f; }
.projectCard:nth-child(3) .projectVisualIcon { color: #6b73b6; }
.projectCard:nth-child(5) .projectVisualIcon { color: #8a67b5; }
.projectCard:nth-child(6) .projectVisualIcon { color: #a67b3b; }
.projectVisualText { flex: 1; min-width: 0; }
.projectCategory.sapMText { font-size: .7rem; font-weight: 700; letter-spacing: .1em; color: #59738c; }
.projectVisualText .sapMTitle { font-size: 1.1rem; font-weight: 700; color: #294967; margin: .5rem 0 .3rem; }
.projectVisualText > .sapMText:last-child { font-size: .85rem; color: #5d7890; }
.projectVisualNumber.sapMText { color: #688db230; font-size: 3.25rem; font-weight: 800; letter-spacing: -.07em; }
.projectBody { padding: 1.6rem 1.8rem 1rem; flex: 1; }
.projectBody > .sapMTitle { font-size: 1.3rem; font-weight: 700; letter-spacing: -.015em; }
.projectSummary.sapMText { margin-top: .65rem; font-size: 1rem; color: var(--portfolio-muted); line-height: 1.75; min-height: 3rem; }
.projectTags { gap: .4rem; margin-top: 1.1rem; }
.techTag.sapMText { font-size: .8rem; font-weight: 600; color: #4f6985; border: 1px solid #dae5f0; border-radius: .3rem; padding: .35rem .55rem; line-height: 1.2; background: #f8fafc; }
.projectCardFooter { margin-top: 1.25rem; padding-top: .6rem; border-top: 1px solid #eef1f4; gap: .6rem; flex-wrap: wrap; }
.projectIndustry.sapMText { font-size: .8rem; color: var(--portfolio-muted); }
.projectCardFooter .sapMBtnContent { font-size: .9rem; font-weight: 600; }
.experienceColumns { margin-top: 2.2rem; }
.columnHeading.sapMTitle { font-size: 1.1rem; font-weight: 700; margin-bottom: 1.5rem; }
.timelineRow { gap: 1.3rem; padding-bottom: 1.75rem; }
.timelinePeriod { flex: 0 0 6rem; padding-top: .15rem; }
.timelinePeriod .sapMText { font-size: .75rem; font-weight: 600; color: var(--portfolio-accent); }
.timelineContent { border-left: 2px solid #d6e3f2; padding-left: 1.25rem; position: relative; min-width: 0; }
.timelineContent::before { content: ''; position: absolute; left: -5px; top: .3rem; width: 8px; height: 8px; background: var(--portfolio-accent); border-radius: 50%; }
.timelineContent .sapMTitle { font-size: 1.05rem; font-weight: 700; line-height: 1.5; }
.timelineDetail.sapMText { font-size: .85rem; color: #617b96; margin-top: .35rem; }
.timelineDescription.sapMText { font-size: 1rem; line-height: 1.75; color: var(--portfolio-muted); margin-top: .55rem; }
.expertiseRow { gap: 1rem; margin-bottom: 1.3rem; }
.expertiseIcon { color: var(--portfolio-accent); background: #eaf2fd; border-radius: .5rem; padding: .65rem; font-size: 1rem; flex-shrink: 0; }
.expertiseRow .sapMTitle { font-size: 1.05rem; font-weight: 700; }
.expertiseText.sapMText { font-size: 1rem; line-height: 1.75; color: var(--portfolio-muted); margin-top: .35rem; }
.growthNote { padding: 1.1rem 1.25rem; background: #eaf2fd; border-radius: .65rem; margin-top: .2rem; border-left: 3px solid #79a9e4; }
.growthNote .sapMObjStatusText { font-size: .6rem; letter-spacing: .08em; font-weight: 700; }
.growthNote > .sapMText { color: #4e6985; line-height: 1.8; font-size: .78rem; margin-top: .6rem; }
.credentialsTitle.sapMTitle { font-size: 1.15rem; font-weight: 700; margin-top: 1.5rem; }
.credentialsGrid { margin-top: 1.2rem; }
.credential { gap: 1rem; background: var(--portfolio-surface); border: 1px solid var(--portfolio-border); padding: 1.25rem; border-radius: .65rem; }
.credential > .sapUiIcon { font-size: 1.5rem; color: #5b83b6; flex-shrink: 0; }
.credential .sapMTitle { font-size: .85rem; font-weight: 700; }
.credential .sapMText { color: var(--portfolio-muted); font-size: .7rem; margin-top: .3rem; }
.contactSectionContent { padding-top: 4rem; }
.contactPanel { padding: 2.5rem; border-radius: 1rem; background: var(--portfolio-surface); border: 1px solid #c6daef; border-top: 4px solid var(--portfolio-accent); gap: 2rem; }
.contactCopy { flex: 1 1 400px; min-width: 0; }
.contactTitle.sapMTitle { font-size: clamp(1.6rem, 2.5vw, 2.3rem); line-height: 1.25; font-weight: 700; letter-spacing: -.035em; margin-top: .75rem; }
.contactDescription.sapMText { max-width: 32rem; color: var(--portfolio-muted); font-size: .9rem; line-height: 1.9; margin-top: 1rem; }
.contactCopy .sapMObjStatus { margin-top: 1.25rem; }
.contactCopy .sapMObjStatusText { font-size: .75rem; }
.contactCopy .sapUiIcon { font-size: .55rem; }
.contactActions { flex: 0 1 280px; gap: .7rem; min-width: 0; }
.contactActions .sapMBtnInner { border-radius: .5rem; padding: 0 .9rem; }
.contactActions > .sapMLnk { font-size: .8rem; overflow-wrap: anywhere; }
.linkedinLink.sapMLnk { margin-top: .2rem; }
.contactLanguages.sapMText { color: var(--portfolio-muted); font-size: .65rem; margin-top: .4rem; }
.siteFooter { padding: 2rem 0 .5rem; gap: 1rem; }
.siteFooter .sapMText { font-size: .65rem; color: #70869b; }
.dialogContent { padding: 1.75rem 2rem; }
.dialogContent > .sapMObjStatus .sapMObjStatusText { font-size: .65rem; letter-spacing: .1em; font-weight: 700; }
.dialogTitle.sapMTitle { margin-top: 1rem; font-size: 1.7rem; font-weight: 700; line-height: 1.3; letter-spacing: -.025em; }
.dialogMeta.sapMText { color: var(--portfolio-muted); font-size: .8rem; margin-top: .4rem; }
.dialogSectionTitle.sapMTitle { font-size: 1rem; font-weight: 700; margin-top: 1.75rem; margin-bottom: .65rem; }
.dialogContent .sapMText { line-height: 1.8; }
.contributionRow { gap: .7rem; margin: .35rem 0; }
.contributionRow .sapUiIcon { margin-top: .4rem; color: var(--portfolio-accent); font-size: .75rem; }
.contributionRow .sapMText { font-size: 1rem; }
.outcomeBox { margin-top: 1.5rem; padding: 1.25rem; background: #edf5ff; border-radius: .6rem; border-left: 3px solid var(--portfolio-accent); }
.outcomeBox .sapMTitle { font-size: 1rem; font-weight: 700; margin-bottom: .5rem; }
.outcomeBox .sapMText { font-size: 1rem; color: #3a5877; }
.dialogDisclaimer.sapMText { font-size: .7rem; color: var(--portfolio-muted); margin-top: 1.25rem; }
@media (min-width: 1600px) {
  .siteShell.sapMOTB { padding-left: calc((100vw - 1600px) / 2 + 3.5rem); padding-right: calc((100vw - 1600px) / 2 + 3.5rem); }
}
@media (max-width: 1100px) {
  .siteShell.sapMOTB { padding: 0 2rem; }
  .heroLayout { padding: 3rem 2.5rem 2.5rem; gap: 2rem; }
  .heroCopy { flex-basis: 430px; }
  .solutionCanvas { flex-basis: 310px; padding: 1rem; }
  .heroTitle.sapMTitle { font-size: 2.6rem; }
  .proofStrip { padding: 1.6rem 2.5rem; }
  .sectionContent { padding: 3rem 2.5rem 1rem; }
  .portfolioPage .sapUxAPAnchorBar { padding: 0 1.5rem; }
  .projectVisualNumber { display: none; }
}
@media (max-width: 820px) {
  .heroCopy { flex-basis: 100%; }
  .solutionCanvas { flex-basis: 100%; transform: none; }
  .heroTitle.sapMTitle { font-size: 2.8rem; }
  .solutionCanvas { display: none !important; }
  .shellAvailability { display: none !important; }
  .proofItem { flex-basis: 35%; }
  .projectsGrid { grid-template-columns: 1fr !important; }
  .experienceColumns { grid-template-columns: 1fr !important; gap: 1.5rem !important; }
  .contactPanel { padding: 2rem; }
  .contactActions { flex-basis: 100%; }
}
@media (max-width: 480px) {
  .portfolioPage { height: calc(100dvh - 4.25rem) !important; }
  .siteShell.sapMOTB { padding: 0 1rem; height: 4.25rem !important; }
  .brandText .sapMTitle { font-size: .82rem; }
  .brandCaption.sapMText { font-size: .48rem; }
  .brandLockup { gap: .5rem; }
  .shellContact .sapMBtnIcon { display: none; }
  .heroLayout { padding: 2.5rem 1.25rem 2rem; }
  .heroTitle.sapMTitle { font-size: 2.35rem; }
  .eyebrow.sapMText { font-size: .55rem; }
  .heroDescription.sapMText { font-size: .95rem; }
  .heroRole.sapMText { font-size: .73rem; line-height: 1.8; }
  .heroActions { gap: .5rem; }
  .heroActions .sapMBtnContent { font-size: .75rem; }
  .heroActions .sapMBtnInner { padding: 0 .6rem; }
  .heroFootnote { gap: .6rem; }
  .proofStrip { padding: 1.5rem 1.25rem; gap: 1.4rem .7rem; }
  .proofItem { padding-left: .7rem; }
  .proofValue.sapMText { font-size: 1.1rem; }
  .proofLabel.sapMText { font-size: .48rem; line-height: 1.6; }
  .portfolioPage .sapUxAPAnchorBar { padding: 0 .5rem; }
  .portfolioPage .sapUxAPAnchorBarButton .sapMBtnContent { font-size: .75rem; }
  .sectionContent { padding: 2.5rem 1.25rem .5rem; }
  .sectionTitle.sapMTitle { font-size: 1.7rem; }
  .projectVisual { padding: 1.25rem; gap: .8rem; }
  .projectVisualIcon { font-size: 1.5rem; padding: .85rem; }
  .projectVisualText .sapMTitle { font-size: 1rem; }
  .projectBody { padding: 1.25rem; }
  .projectCardFooter .sapMBtnContent { font-size: .9rem; }
  .projectIndustry.sapMText { font-size: .8rem; }
  .timelineRow { gap: .75rem; }
  .timelinePeriod { flex-basis: 4.5rem; }
  .timelinePeriod .sapMText { font-size: .65rem; }
  .timelineContent { padding-left: 1rem; }
  .contactPanel { padding: 1.5rem 1.25rem; }
  .contactTitle.sapMTitle { font-size: 1.8rem; }
  .dialogContent { padding: 1.25rem; }
  .dialogTitle.sapMTitle { font-size: 1.4rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
