/* Product-first portfolio. All rules opt in; original assets/copy stay intact. */
body.distinctive-pass { --dp-rail:color-mix(in srgb,var(--violet) 48%,var(--line)); }
.distinctive-pass.dp-home .hero.pf-hero { padding-block-start:1.6rem; }
.distinctive-pass.dp-home .hero-main { grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr); column-gap:2.5rem; row-gap:0; margin-block:1.25rem 1.5rem; }
.distinctive-pass.dp-home .hero-statement { grid-column:1; grid-row:1; align-self:end; }
.distinctive-pass.dp-home .hero-followup { grid-column:1; grid-row:2; min-inline-size:0; align-self:start; }
.distinctive-pass.dp-home .portrait-cutout { grid-column:2; grid-row:1 / span 2; align-self:center; }
.distinctive-pass.dp-home .hero-main h1 { font-size:clamp(2.8rem,4.4vw,4.4rem); line-height:1.15; }
.distinctive-pass.dp-home .identity-label { margin-block-end:.7rem; }
.distinctive-pass.dp-home .hero-purpose { max-inline-size:37rem; margin-block:1rem; font-size:1rem; }
.distinctive-pass.dp-home .portrait-cutout .portrait-frame { height:330px; }
.distinctive-pass.dp-home .hero-top { align-items:center; }
.distinctive-pass.dp-home .hero-coordinate { margin-block-start:.55rem; }
.distinctive-pass.dp-home .work .section-head { padding-block:2.2rem 1.25rem; }
.distinctive-pass.dp-home .work .section-head > div { border-inline-start:2px solid var(--dp-rail); padding-inline-start:1rem; }
.distinctive-pass.dp-home .work .section-head h2 { font-size:clamp(1.8rem,3vw,2.7rem); }
.distinctive-pass.dp-home .selected-feature { grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr); }
.distinctive-pass.dp-home .selected-feature .selected-copy.dp-feature-intro { grid-column:1; grid-row:1; padding-block-end:.4rem; }
.distinctive-pass.dp-home .selected-feature .selected-copy.dp-feature-story { grid-column:1; grid-row:2; padding-block-start:.4rem; }
.distinctive-pass.dp-home .selected-feature > .home-preview { grid-column:2; grid-row:1 / span 2; }
.distinctive-pass.dp-home .selected-feature .selected-copy { padding:1.7rem; }
.distinctive-pass.dp-home .selected-feature .selected-status { margin-block:.7rem 1rem; }
.distinctive-pass.dp-home .selected-feature .home-preview { min-inline-size:0; }
.distinctive-pass.dp-home .selected-feature .home-preview > a { min-block-size:320px; padding:1rem; }
.distinctive-pass.dp-home .pf-product-card .pf-actions { padding-block-start:1rem; }
.distinctive-pass.dp-home .selected-card#rift-optimizer { border-color:color-mix(in srgb,var(--green) 35%,var(--line)); }
.distinctive-pass.dp-home .selected-card#rift-optimizer .selected-card-heading { border-block-start:2px solid var(--green); }
.distinctive-pass.dp-home .pf-capabilities { margin-block-start:2rem; }
.distinctive-pass.dp-home .pf-capabilities .capability-heading { border-block-start:1px solid var(--line); }
.distinctive-pass.dp-home .pf-capabilities .capability { background:var(--surface); }
.distinctive-pass.dp-project-page .page-hero.dp-project-hero { min-block-size:0; padding-block:1.6rem 1.25rem; padding-inline-end:0; }
.distinctive-pass.dp-project-page .page-hero h1 { font-size:clamp(2.4rem,4.5vw,4rem); margin-block:.7rem .8rem; }
.distinctive-pass.dp-project-page .page-hero > p { max-inline-size:52rem; font-size:1rem; }
.distinctive-pass.dp-project-page .page-hero .hero-stage { display:none; }
.distinctive-pass.dp-project-page .page-hero .back-link { margin-block-end:.65rem; }
.distinctive-pass.dp-project-page .page-hero > .pf-status-note { padding:.55rem .85rem; margin-block-start:.75rem; font-size:.85rem; }
.distinctive-pass .dp-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.65rem 1rem; margin-block-start:1rem; }
.distinctive-pass .dp-project-status { color:var(--muted); font-size:.85rem; line-height:1.8; }
.distinctive-pass .dp-hero-actions .button { min-block-size:48px; padding:.65rem 1.1rem; }
.distinctive-pass.dp-project-page .case-product.dp-interface { padding-block:0 2rem; margin-block-start:0; }
.distinctive-pass .dp-interface > h2 { font-size:1.35rem; margin-block:0 .9rem; }
.distinctive-pass .dp-interface .project { border-color:var(--dp-rail); box-shadow:0 14px 38px color-mix(in srgb,var(--bg) 45%,transparent); }
.distinctive-pass .dp-interface .project-heading { padding:.9rem 1.2rem; }
.distinctive-pass .dp-interface .project-body { padding:1.4rem; }
.distinctive-pass .dp-interface .gallery-track { aspect-ratio:2 / 1; min-block-size:0; }
.distinctive-pass .dp-interface .gallery-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; flex-wrap:nowrap; gap:.75rem; padding:.65rem .85rem; }
.distinctive-pass .dp-interface .gallery-tabs { display:flex; flex-wrap:nowrap; min-inline-size:0; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; scroll-padding-inline:.4rem; padding:.25rem .15rem; }
.distinctive-pass .dp-interface .gallery-tab { flex:none; min-block-size:44px; white-space:nowrap; border-radius:7px; }
.distinctive-pass .dp-interface .preview-open { min-block-size:44px; max-inline-size:100%; margin:0; white-space:nowrap; }
.distinctive-pass.dp-project-page .case-facts { margin-block:0 1rem; gap:1rem; }
.distinctive-pass.dp-project-page .case-facts article { padding:1.15rem; box-shadow:none; }
.distinctive-pass.dp-project-page .case-facts .fact-badge { inline-size:44px; block-size:44px; }
.distinctive-pass.dp-project-page .case-facts h2 { font-size:1.2rem; }
.distinctive-pass.dp-project-page .case-facts p { font-size:.9rem; }
.distinctive-pass.dp-project-page .case-workflow { padding-block:2rem; }
.distinctive-pass.dp-project-page .engineering-case { border-block-start:1px solid var(--line); padding-block-start:2.5rem; }
html[lang=fa] .distinctive-pass.dp-home .hero-main h1 { font-size:clamp(2.5rem,4.2vw,4rem); line-height:1.5; letter-spacing:0; }
html[lang=fa] .distinctive-pass .dp-hero-actions { line-height:1.9; }
html[lang=fa] .distinctive-pass.dp-project-page .page-hero h1:not([dir=ltr]) { line-height:1.45; }
@media (max-width:960px) {
  .distinctive-pass .header { flex-wrap:wrap; gap:.75rem; padding-block:1.3rem; }
  .distinctive-pass .header nav { order:3; inline-size:100%; justify-content:space-between; gap:.75rem; border-block-start:1px solid var(--line); padding-block-start:.5rem; }
  .distinctive-pass .header nav a { display:flex; align-items:center; min-block-size:44px; }
  .distinctive-pass.dp-home .hero-main { column-gap:1.5rem; row-gap:0; grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr); }
  .distinctive-pass.dp-home .portrait-cutout .portrait-frame { height:275px; }
  .distinctive-pass.dp-home .selected-feature { grid-template-columns:minmax(0,1fr); }
  .distinctive-pass.dp-home .selected-feature .selected-copy.dp-feature-intro { grid-column:1; grid-row:1; padding-block-end:1rem; }
  .distinctive-pass.dp-home .selected-feature > .home-preview { grid-column:1; grid-row:2; }
  .distinctive-pass.dp-home .selected-feature .selected-copy.dp-feature-story { grid-column:1; grid-row:3; padding-block-start:1rem; }
  .distinctive-pass.dp-home .selected-feature .home-preview > a { min-block-size:0; }
  .distinctive-pass.dp-project-page .case-facts { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .distinctive-pass.dp-project-page .case-facts .fact-badge { inline-size:36px; block-size:36px; margin-block-end:.7rem; }
  .distinctive-pass.dp-project-page .case-facts .fact-badge svg { inline-size:22px; block-size:22px; }
  .distinctive-pass .dp-interface .gallery-track { aspect-ratio:16 / 10; }
}
@media (max-width:700px) {
  .distinctive-pass .header { padding-block:1rem; gap:.55rem; }
  .distinctive-pass .header nav { padding-block-start:.3rem; }
  .distinctive-pass.dp-home .hero.pf-hero { padding-block-start:1.15rem; }
  .distinctive-pass.dp-home .hero-top { align-items:start; }
  .distinctive-pass.dp-home .hero-top .edition { display:none; }
  /* Mobile reading order: introduction, portrait, purpose and actions. */
  .distinctive-pass.dp-home .hero-main { display:grid; grid-template-columns:minmax(0,1fr); gap:1.1rem; margin-block:1.15rem 1.5rem; }
  .distinctive-pass.dp-home .hero-statement { grid-column:1; grid-row:1; }
  .distinctive-pass.dp-home .hero-followup { grid-column:1; grid-row:3; }
  .distinctive-pass.dp-home .hero-main h1 { font-size:clamp(2.05rem,8.5vw,3.25rem); max-inline-size:none; line-height:1.15; min-block-size:0; }
  html[lang=fa] .distinctive-pass.dp-home .hero-main h1 { font-size:clamp(2rem,8vw,3rem); line-height:1.5; }
  .distinctive-pass.dp-home .identity-label { font-size:.7rem; margin-block-end:.7rem; }
  .distinctive-pass.dp-home .portrait-cutout { grid-column:1; grid-row:2; position:relative; inset:auto; inline-size:min(100%,270px); max-inline-size:270px; justify-self:center; margin:0; }
  .distinctive-pass.dp-home .portrait-cutout .portrait-frame { height:320px; }
  .distinctive-pass.dp-home .portrait-cutout .portrait-seal { inline-size:48px; block-size:48px; inset-inline-start:0; }
  .distinctive-pass.dp-home .portrait-cutout figcaption { display:none; }
  .distinctive-pass.dp-home .hero-purpose { font-size:1rem; margin-block:0 1.1rem; line-height:1.8; }
  .distinctive-pass.dp-home .hero-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
  .distinctive-pass.dp-home .hero-actions .button { min-inline-size:0; min-block-size:52px; padding:.8rem 1rem; font-size:.9375rem; white-space:normal; justify-content:center; }
  .distinctive-pass.dp-home .lab-entry { margin-block:.8rem 0; min-block-size:44px; }
  .distinctive-pass.dp-home .hero-coordinate { display:none; }
  .distinctive-pass.dp-home .work .section-head { padding-block:1.5rem 1rem; gap:.6rem; }
  .distinctive-pass.dp-home .work .section-head > div { padding-inline-start:.75rem; }
  .distinctive-pass.dp-home .work .section-head h2 { margin-block-start:.5rem; font-size:1.85rem; }
  .distinctive-pass.dp-home .work .section-head > p { font-size:.875rem; }
  .distinctive-pass.dp-home .selected-feature .selected-copy { padding:1.2rem; }
  .distinctive-pass.dp-home .selected-feature .selected-heading img { inline-size:44px; block-size:44px; }
  .distinctive-pass.dp-project-page .page-hero.dp-project-hero { padding-block:1.2rem 1rem; }
  .distinctive-pass.dp-project-page .page-hero h1 { font-size:clamp(2.15rem,8.4vw,3rem); margin-block:.6rem .7rem; }
  .distinctive-pass .dp-hero-actions { margin-block-start:.8rem; gap:.5rem .75rem; }
  .distinctive-pass .dp-project-status { font-size:.8125rem; }
  .distinctive-pass .dp-interface .project-heading { padding:.8rem 1rem; gap:.5rem; }
  .distinctive-pass .dp-interface .project-heading h3 { font-size:1.1rem; }
  .distinctive-pass .dp-interface .gallery-controls { grid-template-columns:minmax(0,1fr); gap:.3rem; padding:.5rem .65rem; }
  .distinctive-pass .dp-interface .gallery-tabs { inline-size:100%; }
  .distinctive-pass .dp-interface .preview-open { justify-self:end; padding:.35rem .7rem; }
  .distinctive-pass.dp-project-page .case-facts { grid-template-columns:minmax(0,1fr); gap:.65rem; }
  .distinctive-pass.dp-project-page .case-facts article { display:grid; grid-template-columns:36px minmax(0,1fr); gap:.2rem .8rem; padding:1rem; }
  .distinctive-pass.dp-project-page .case-facts article .fact-badge { grid-row:1 / span 2; margin:0; }
  .distinctive-pass.dp-project-page .case-facts article :is(h2,h3,p) { grid-column:2; margin-block:0; }
  .distinctive-pass .dp-interface .project-body { padding:1.1rem; }
}
@media (max-width:430px) {
  .distinctive-pass.dp-home .hero-actions { grid-template-columns:minmax(0,1fr); }
}
@media print {
  .distinctive-pass .dp-interface .gallery-track { aspect-ratio:auto; overflow:visible; }
  .distinctive-pass .dp-interface .project { box-shadow:none; }
  .distinctive-pass.dp-home .portrait-cutout { position:static; inline-size:150px; }
}

/* Portrait gestures stay with the page; suppress native image saving/dragging. */
.portrait-cutout .portrait-frame, .portrait-cutout .portrait-frame > img[data-alt="portraitAlt"] { -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; }
.portrait-cutout .portrait-frame > img[data-alt="portraitAlt"] { pointer-events:none; }
