/* SAM Portfolio OS — native visual presentation.
 * The About / Contact palette and motion vocabulary, scoped to the portfolio.
 * Content remains visible before JavaScript; motion enhances an already usable page.
 */
/* r175 colour-only variants. Unspecified/publicly undeclared gender stays neutral.
 * The female token values reproduce the approved r173 palette exactly.
 * Detached native comparison dialogs receive the same data-sf-theme attribute.
 */
.sam-folio,
.sf-dialog,
.sam-r138-dialog.sf-native-comparison {
  --sf-bg: #121416;
  --sf-surface: #1b1e20;
  --sf-surface-2: #24282b;
  --sf-text: #faf8f6;
  --sf-muted: #b8b9b8;
  --sf-accent: #c4b9a8;
  --sf-copper: #bcaf9b;
  --sf-hero-bg: #1b1e21;
  --sf-profession-text: #e0dfdb;
  --sf-disabled-text: #c0c0bc;
  --sf-button-ink: #211f1c;
  --sf-light-ink: #211f1c;
  --sf-button-hover: #2c3033;
  --sf-accent-hover: #d9cebe;
  --sf-pressed-bg: #35322c;
  --sf-hero-media-bg: #2c2e30;
  --sf-placeholder-bg: #25292c;
  --sf-active-bg: #2d2d2b;
  --sf-tile-bg: #1d2022;
  --sf-tile-meta: #c7c8c5;
  --sf-tile-title: #eeece6;
  --sf-video-bg: #282c30;
  --sf-video-text: #dedbd4;
  --sf-photo-break-bg: #292c2d;
  --sf-readiness-track: #3b3b37;
  --sf-progress-track: #393b3c;
  --sf-rate-bg: #292722;
  --sf-rate-meta: #ccc7bc;
  --sf-rate-note: #c7c1b6;
  --sf-chip-text: #dad8d0;
  --sf-ad-bg: #202325;
  --sf-scrollbar: #716d63;
  --sf-close-hover: #343532;
  --sf-detail-heading: #e1d8c9;
  --sf-input-bg: #141718;
  --sf-placeholder-text: #aaa9a1;
  --sf-label-text: #dfddd5;
  --sf-form-status: #e6ddcf;
  --sf-review-text: #d3d2ca;
  --sf-viewer-bg: #0d1012;
  --sf-player-meta: #c8c5bc;
  --sf-caption-text: #cac6bd;
  --sf-status-bg: #2e2e29;
  --sf-comparison-ink: #191815;
  --sf-comparison-text: #e4e0d8;
  --sf-empty-photo-bg: #292d30;
  --sf-fact-disabled: #bfbbb3;
  --sf-nav-meta: #aba69b;
  --sf-filter-meta: #aaa79f;
  --sf-caption-title: #f0e9dc;
  --sf-field-label: #c6c0b4;
  --sf-field-value: #d8d3c7;
  --sf-fit-note: #a8a397;
  --sf-rate-value: #f5ecdd;
  --sf-rate-detail: #c3bbac;
  --sf-review-rating: #eee8dd;
  --sf-client-meta: #c6bcab;
  --sf-feedback-bg: #312d26;
  --sf-feedback-text: #e2d9ca;
  --sf-project-bg: #1f2225;
  --sf-project-media-bg: #2b2e2f;
  --sf-film-bg: #2c2f32;
  --sf-film-meta: #c7c3b9;
  --sf-video-viewer-bg: #171b1e;
  --sf-identity-heading: #ddd1be;
  --sf-service-label: #d8d0c0;
  --sf-metric-track: #3b3a35;
  --sf-metric-text: #d8d3c8;
  --sf-card-label: #e4ddcf;
  --sf-review-stat-bg: #26292c;
  --sf-review-card-bg: #26292b;
  --sf-review-empty-bg: #282a2c;
  --sf-review-empty-icon-bg: #353027;
  --sf-booking-context: #e2dbcf;
  --sf-booking-context-bg: #2f2f29;
  --sf-brief-meta: #aaa397;
  --sf-pair-bg: #202427;
  --sf-accent-rgb: 196,185,168;
  --sf-bg-rgb: 18,20,22;
  --sf-hero-rgb: 27,30,33;
}
.sam-folio[data-sf-theme="female"],
.sam-folio[data-sf-theme="female"] .sf-dialog,
.sf-dialog[data-sf-theme="female"],
.sam-r138-dialog.sf-native-comparison[data-sf-theme="female"] {
  --sf-bg: #101116;
  --sf-surface: #19191e;
  --sf-surface-2: #22232b;
  --sf-text: #faf8f6;
  --sf-muted: #b5b3b8;
  --sf-accent: #f7b2a6;
  --sf-copper: #c79a80;
  --sf-hero-bg: #19191f;
  --sf-profession-text: #e1dce1;
  --sf-disabled-text: #c5bec9;
  --sf-button-ink: #241d20;
  --sf-light-ink: #211e25;
  --sf-button-hover: #2c2b34;
  --sf-accent-hover: #fbc6bd;
  --sf-pressed-bg: #33292d;
  --sf-hero-media-bg: #2b2930;
  --sf-placeholder-bg: #22222a;
  --sf-active-bg: #2a272e;
  --sf-tile-bg: #1b1b22;
  --sf-tile-meta: #c8c3cd;
  --sf-tile-title: #eeeaef;
  --sf-video-bg: #252530;
  --sf-video-text: #dfd8e4;
  --sf-photo-break-bg: #26232b;
  --sf-readiness-track: #3b3540;
  --sf-progress-track: #39353f;
  --sf-rate-bg: #252027;
  --sf-rate-meta: #ccc1cb;
  --sf-rate-note: #c5bbc6;
  --sf-chip-text: #dcd6e1;
  --sf-ad-bg: #1c1c24;
  --sf-scrollbar: #6c5864;
  --sf-close-hover: #302b33;
  --sf-detail-heading: #e7cbc7;
  --sf-input-bg: #111218;
  --sf-placeholder-text: #99939f;
  --sf-label-text: #e1dce5;
  --sf-form-status: #edd2ce;
  --sf-review-text: #d3cdd8;
  --sf-viewer-bg: #0b0c10;
  --sf-player-meta: #c8c0cd;
  --sf-caption-text: #c9c2d0;
  --sf-status-bg: #29232d;
  --sf-comparison-ink: #17151b;
  --sf-comparison-text: #e6e0e8;
  --sf-empty-photo-bg: #26242d;
  --sf-fact-disabled: #c2bac8;
  --sf-nav-meta: #9f939f;
  --sf-filter-meta: #a59ca9;
  --sf-caption-title: #f1e7ee;
  --sf-field-label: #c5bac8;
  --sf-field-value: #d9d2de;
  --sf-fit-note: #9f97a5;
  --sf-rate-value: #f9ebe9;
  --sf-rate-detail: #bfb3c1;
  --sf-review-rating: #f0e7ec;
  --sf-client-meta: #c6b6c7;
  --sf-feedback-bg: #2c252d;
  --sf-feedback-text: #e8d4dd;
  --sf-project-bg: #1c1b23;
  --sf-project-media-bg: #27232e;
  --sf-film-bg: #292631;
  --sf-film-meta: #c8c0cc;
  --sf-video-viewer-bg: #15151d;
  --sf-identity-heading: #e0c8d0;
  --sf-service-label: #d9cbdc;
  --sf-metric-track: #39333e;
  --sf-metric-text: #dad0df;
  --sf-card-label: #e7dce9;
  --sf-review-stat-bg: #22212b;
  --sf-review-card-bg: #22212a;
  --sf-review-empty-bg: #24212b;
  --sf-review-empty-icon-bg: #312631;
  --sf-booking-context: #e8d8e7;
  --sf-booking-context-bg: #2b2530;
  --sf-brief-meta: #a79aab;
  --sf-pair-bg: #1b1b23;
  --sf-accent-rgb: 247,178,166;
  --sf-bg-rgb: 16,17,22;
  --sf-hero-rgb: 25,25,31;
}
.sam-folio[data-sf-theme="male"],
.sam-folio[data-sf-theme="male"] .sf-dialog,
.sf-dialog[data-sf-theme="male"],
.sam-r138-dialog.sf-native-comparison[data-sf-theme="male"] {
  --sf-bg: #111519;
  --sf-surface: #1b2227;
  --sf-surface-2: #263039;
  --sf-text: #faf8f6;
  --sf-muted: #b8c0c5;
  --sf-accent: #c48f56;
  --sf-copper: #c99b68;
  --sf-hero-bg: #1b2228;
  --sf-profession-text: #dbe1e5;
  --sf-disabled-text: #bdc5ca;
  --sf-button-ink: #201b16;
  --sf-light-ink: #1b2025;
  --sf-button-hover: #303a42;
  --sf-accent-hover: #deb488;
  --sf-pressed-bg: #3b3025;
  --sf-hero-media-bg: #2a343c;
  --sf-placeholder-bg: #242d34;
  --sf-active-bg: #2a3238;
  --sf-tile-bg: #1c242a;
  --sf-tile-meta: #c3cdd3;
  --sf-tile-title: #e9eef0;
  --sf-video-bg: #28343e;
  --sf-video-text: #dae1e6;
  --sf-photo-break-bg: #27313a;
  --sf-readiness-track: #38444d;
  --sf-progress-track: #39454e;
  --sf-rate-bg: #282724;
  --sf-rate-meta: #c9c4bb;
  --sf-rate-note: #bfc2c4;
  --sf-chip-text: #d4dde3;
  --sf-ad-bg: #1f282e;
  --sf-scrollbar: #7a6853;
  --sf-close-hover: #333d44;
  --sf-detail-heading: #dfc6a8;
  --sf-input-bg: #151b20;
  --sf-placeholder-text: #a8b3bb;
  --sf-label-text: #dce4e9;
  --sf-form-status: #e5cfb5;
  --sf-review-text: #cdd8df;
  --sf-viewer-bg: #0b1014;
  --sf-player-meta: #c2ccd3;
  --sf-caption-text: #c5cfd7;
  --sf-status-bg: #29333b;
  --sf-comparison-ink: #151a1e;
  --sf-comparison-text: #dfe7ec;
  --sf-empty-photo-bg: #29343d;
  --sf-fact-disabled: #bec7ce;
  --sf-nav-meta: #a7b0b7;
  --sf-filter-meta: #a7b4bd;
  --sf-caption-title: #e9edf0;
  --sf-field-label: #becbd4;
  --sf-field-value: #d1dde5;
  --sf-fit-note: #a8b2bb;
  --sf-rate-value: #f3e9dd;
  --sf-rate-detail: #bfc2c3;
  --sf-review-rating: #e8edf0;
  --sf-client-meta: #c0cbd2;
  --sf-feedback-bg: #302d29;
  --sf-feedback-text: #e0d2be;
  --sf-project-bg: #1d262d;
  --sf-project-media-bg: #2a3540;
  --sf-film-bg: #2c3741;
  --sf-film-meta: #c4cdd3;
  --sf-video-viewer-bg: #151e25;
  --sf-identity-heading: #d9b995;
  --sf-service-label: #cfdce4;
  --sf-metric-track: #3a464e;
  --sf-metric-text: #d1dfe7;
  --sf-card-label: #dce6ec;
  --sf-review-stat-bg: #25303a;
  --sf-review-card-bg: #242e37;
  --sf-review-empty-bg: #273039;
  --sf-review-empty-icon-bg: #393229;
  --sf-booking-context: #dbe3e6;
  --sf-booking-context-bg: #2b3640;
  --sf-brief-meta: #a8b3bd;
  --sf-pair-bg: #1d2830;
  --sf-accent-rgb: 196,143,86;
  --sf-bg-rgb: 17,21,25;
  --sf-hero-rgb: 27,34,40;
}
.sam-folio,
.sf-dialog {
  --sf-line: rgba(255, 255, 255, .12);
  --sf-line-strong: rgba(255, 255, 255, .24);
  --sf-radius: 25px;
  --sf-ease: cubic-bezier(.22, 1, .36, 1);
  --sf-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  box-sizing: border-box;
  color: var(--sf-text);
  font: 400 15px/1.55 var(--sf-font);
  -webkit-font-smoothing: antialiased;
  text-align: left;
  color-scheme: dark;
}
.sam-folio { position: relative; isolation: isolate; background: var(--sf-bg); padding: 24px 0 46px; min-width: 0; overflow: clip; }
.sam-folio *, .sam-folio *::before, .sam-folio *::after,
.sf-dialog *, .sf-dialog *::before, .sf-dialog *::after { box-sizing: border-box; }
.sam-folio :is(h1,h2,h3,h4,p,figure,dl,dd,ul),
.sf-dialog :is(h1,h2,h3,h4,p,figure,dl,dd,ul) { margin: 0; }
.sam-folio :is(h1,h2,h3,h4), .sf-dialog :is(h1,h2,h3,h4) {
  font-family: var(--sf-font); font-style: normal; text-transform: none;
  color: var(--sf-text); font-weight: 620; letter-spacing: -.045em; line-height: 1.12;
}
.sam-folio :is(a,button), .sf-dialog :is(a,button) { -webkit-tap-highlight-color: transparent; }
.sam-folio a, .sf-dialog a { color: inherit; text-decoration: none; }
.sam-folio :is(button,input,textarea,select), .sf-dialog :is(button,input,textarea,select) { font: inherit; letter-spacing: inherit; }
.sam-folio button, .sf-dialog button { cursor: pointer; }
.sam-folio button::before, .sam-folio button::after,
.sf-dialog button::before, .sf-dialog button::after { box-sizing: border-box; }
.sam-folio button:disabled, .sf-dialog button:disabled { cursor: not-allowed; opacity: .5; }
.sam-folio :is(img,video), .sf-dialog :is(img,video) { display: block; max-width: 100%; }
.sam-folio img, .sf-dialog img { height: auto; }
.sam-folio [hidden], .sf-dialog [hidden] { display: none !important; }
.sam-folio :focus-visible, .sf-dialog :focus-visible { outline: 3px solid var(--sf-accent); outline-offset: 4px; }
.sam-folio :is(button,a,input,textarea,select,summary), .sf-dialog :is(button,a,input,textarea,select,summary) { touch-action: manipulation; }
.sf-wrap { width: min(1440px, calc(100% - 64px)); max-width: 1440px; margin-inline: auto; min-width: 0; }
.sf-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }
.sf-eyebrow { display: block; color: var(--sf-accent); font-size: 10px; font-weight: 750; letter-spacing: .19em; line-height: 1.4; text-transform: uppercase; }
.sf-muted, .sf-note { color: var(--sf-muted); }
.sf-note { font-size: 12px; line-height: 1.65; }
.sf-back { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; color: var(--sf-muted) !important; font-size: 12px; margin-bottom: 11px; }
.sf-back:hover { color: var(--sf-text) !important; }
.sf-brand { font-size: 19px; font-weight: 850; letter-spacing: -.06em; }
.sf-brand small { display: inline-block; margin-left: 9px; color: var(--sf-muted); font-weight: 550; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }

/* Identity and work share the first screen. The secondary photographs are real work. */
.sf-hero { display: grid; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); gap: clamp(20px,3vw,46px); align-items: stretch; position: relative; padding: clamp(22px,3.2vw,45px); border: 1px solid var(--sf-line); border-radius: 30px; background: var(--sf-hero-bg); min-width: 0; }
.sf-hero-copy { align-self: center; min-width: 0; position: relative; z-index: 1; padding: 8px 0; }
.sf-name { font-size: clamp(43px,5vw,76px); line-height: 1.01 !important; font-weight: 580 !important; letter-spacing: -.07em !important; overflow-wrap: anywhere; text-wrap: balance; margin-top: 14px !important; }
.sf-name-line { display: flex; align-items: center; flex-wrap: wrap; gap: 13px; }
.sf-name-line .sf-name { min-width: 0; }
.sf-profession { color: var(--sf-profession-text); font-size: clamp(14px,1.3vw,18px); line-height: 1.45; margin-top: 14px !important; }
.sf-profession span + span::before { content: " · "; padding-inline: 5px; color: var(--sf-copper); }
.sf-verified { display: inline-flex; align-items: center; gap: 6px; color: #c4ddd4; font-size: 11px; line-height: 1.4; font-weight: 650; padding: 5px 9px; border: 1px solid rgba(176,218,202,.25); border-radius: 999px; vertical-align: middle; }
.sf-verified svg { width: 14px; height: 14px; flex: none; }
.sf-meta { display: flex; flex-wrap: wrap; gap: 9px 16px; color: var(--sf-muted); font-size: 12px; margin-top: 16px; }
.sf-meta > :is(span,a,button) { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; }
.sf-meta svg { width: 14px; height: 14px; color: var(--sf-copper); }
.sf-meta button { border: 0; background: none; color: inherit; padding: 0; font-size: inherit; text-align: left; }
.sf-meta button:hover, .sf-meta a:hover { color: var(--sf-text); }
.sf-booking-state { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 600; color: #c4ddd4; }
.sf-booking-state::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: none; }
.sf-booking-state.is-disabled, .sf-booking-state[data-enabled="false"] { color: var(--sf-disabled-text); }
.sf-facts { display: flex; flex-wrap: wrap; align-items: stretch; gap: 16px 25px; margin: 24px 0 !important; padding: 17px 0; border-block: 1px solid var(--sf-line); }
.sf-facts > div { min-width: 0; }
.sf-facts dt { color: var(--sf-muted); font-size: 10px; font-weight: 500; line-height: 1.4; margin-bottom: 5px; }
.sf-facts dd { color: var(--sf-text); font-size: 13px; font-weight: 620; line-height: 1.45; }
.sf-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.sf-button, .sf-action { appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; border: 1px solid var(--sf-line-strong); border-radius: 999px; padding: 11px 19px; background: transparent; color: var(--sf-text); font-family: var(--sf-font); font-size: 12px; font-weight: 680; line-height: 1.35; text-align: center; text-decoration: none; text-transform: none; white-space: normal; box-shadow: none; transition: transform .3s var(--sf-ease),background .3s,border-color .3s,color .3s; }
.sf-button--primary { background: var(--sf-accent); color: var(--sf-button-ink) !important; border-color: var(--sf-accent); }
.sf-button--light { background: var(--sf-text); color: var(--sf-light-ink) !important; border-color: var(--sf-text); }
.sf-button--quiet { border-color: transparent; background: rgba(255,255,255,.045); }
.sf-button:hover, .sf-action:hover { transform: translateY(-2px); background: var(--sf-button-hover); border-color: rgba(var(--sf-accent-rgb),.55); color: var(--sf-text); }
.sf-button--primary:hover { background: var(--sf-accent-hover); color: var(--sf-button-ink) !important; border-color: var(--sf-accent-hover); }
.sf-button--light:hover { background: var(--sf-accent); color: var(--sf-button-ink) !important; border-color: var(--sf-accent); }
.sf-button svg, .sf-action svg { display: block; width: 17px; height: 17px; flex: none; }
.sf-action { min-height: 42px; padding: 10px 13px; font-size: 11px; border-color: var(--sf-line); }
.sf-action[aria-pressed="true"], .sf-button[aria-pressed="true"] { background: var(--sf-pressed-bg); border-color: rgba(var(--sf-accent-rgb),.55); color: var(--sf-accent); }
.sf-actions--secondary { gap: 7px; margin-top: 11px; }
.sf-actions .sc-follow { display: inline-flex; flex-direction: row; align-items: center; gap: 7px; }
.sf-actions .sc-avatar-button { appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 7px; position: relative; min-height: 42px; width: auto; height: auto; min-width: 0; border: 1px solid var(--sf-line); border-radius: 999px; padding: 10px 13px; background: transparent; color: var(--sf-text); font: 680 11px/1.35 var(--sf-font); box-shadow: none; }
.sf-actions .sc-avatar-button img { width: 21px; height: 21px; border-radius: 50%; object-fit: cover; }
.sf-actions .sc-follow-plus { position: static; display: inline-flex; width: auto; height: auto; border: 0; background: none; border-radius: 0; color: var(--sf-accent); font-size: 15px; }
.sf-actions .sc-follower-count { font-size: 10px; color: var(--sf-muted); }
.sf-hero-media { min-width: 0; display: grid; grid-template-columns: minmax(0,1.45fr) minmax(0,1fr); grid-template-rows: 1fr 1fr; gap: 12px; min-height: 410px; max-height: 535px; position: relative; perspective: 1100px; align-self: center; }
.sf-hero-shot { position: relative; overflow: hidden; min-width: 0; min-height: 0; border-radius: 18px; background: var(--sf-hero-media-bg); border: 1px solid rgba(255,255,255,.08); margin: 0; transform: translate3d(0,var(--sf-parallax,0px),0); }
.sf-hero-shot--main { grid-row: 1 / 3; border-radius: 23px; }
.sf-hero-shot :is(a,button) { display: block; width: 100%; height: 100%; min-height: inherit; padding: 0; border: 0; background: none; position: relative; }
.sf-hero-shot img { width: 100%; height: 100%; object-fit: contain; object-position: center; transition: opacity .45s var(--sf-ease); }
.sf-hero-shot:hover img { transform: none; }
.sf-hero-shot--main img { height: 100%; }
.sf-hero-media[data-count="1"] { grid-template-columns: 1fr; }
.sf-hero-media[data-count="1"] .sf-hero-shot { grid-row: 1 / 3; max-width: 460px; width: 100%; margin-left: auto; }
.sf-hero-media[data-count="2"] { grid-template-columns: 1.3fr 1fr; }
.sf-hero-media[data-count="2"] .sf-hero-shot { grid-row: 1 / 3; }
.sf-hero-media[data-count="2"] .sf-hero-shot:not(.sf-hero-shot--main) { margin-top: 54px; margin-bottom: 20px; }
.sf-shot-label { position: absolute; left: 13px; bottom: 13px; z-index: 1; border: 1px solid rgba(255,255,255,.28); background: rgba(var(--sf-bg-rgb),.78); border-radius: 99px; padding: 7px 11px; color: white; font-size: 10px; font-weight: 600; pointer-events: none; }
.sf-hero-empty { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 15px; min-height: 320px; border: 1px solid var(--sf-line); border-radius: 22px; padding: 35px; background: var(--sf-placeholder-bg); }
.sf-hero-empty strong { font-size: 32px; letter-spacing: -.05em; line-height: 1.12; font-weight: 570; }

/* Persistent section wayfinding stays compact and swipeable on a phone. */
.sf-nav { position: sticky; z-index: 24; top: var(--sf-nav-top,0px); margin: 22px 0 0; border-block: 1px solid var(--sf-line); background: rgba(var(--sf-bg-rgb),.96); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.sf-nav > .sf-wrap, .sf-nav-inner { display: flex; align-items: center; gap: 28px; min-height: 62px; overflow-x: auto; scrollbar-width: none; overscroll-behavior-inline: contain; }
.sf-nav > .sf-wrap::-webkit-scrollbar, .sf-nav-inner::-webkit-scrollbar { display: none; }
.sf-nav a { display: inline-flex; position: relative; align-items: center; min-height: 61px; flex: none; color: var(--sf-muted); font-size: 12px; font-weight: 600; white-space: nowrap; border-bottom: 2px solid transparent; }
.sf-nav a:hover { color: var(--sf-text); }
.sf-nav a[aria-current="true"], .sf-nav a[aria-current="location"] { color: var(--sf-accent); border-bottom-color: var(--sf-accent); }
.sf-nav .sf-button { margin-left: auto; min-height: 38px; padding: 8px 15px; flex: none; }
.sf-section { padding-block: clamp(33px,4.2vw,64px); scroll-margin-top: calc(var(--sf-nav-top,0px) + 82px); }
.sf-section + .sf-section { border-top: 1px solid var(--sf-line); }
.sf-section-head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 18px 28px; margin-bottom: 25px; }
.sf-section-head h2 { font-size: clamp(27px,3.3vw,46px); font-weight: 560; letter-spacing: -.06em; margin-top: 9px; }
.sf-section-head p:not(.sf-eyebrow) { max-width: 480px; color: var(--sf-muted); font-size: 13px; line-height: 1.6; margin-top: 11px; }
.sf-section-head > .sf-note { margin-left: auto; }
.sf-section-number { color: var(--sf-copper); font-size: 11px; font-variant-numeric: tabular-nums; }

/* The work is the main content. Visible controls never require hover. */
.sf-gallery-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 20px; margin-bottom: 20px; }
.sf-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.sf-filters button, .sf-layout-switch button { appearance: none; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 8px 15px; border: 1px solid transparent; border-radius: 999px; background: transparent; color: var(--sf-muted); font-size: 12px; font-weight: 600; transition: background .22s,color .22s,border-color .22s; }
.sf-filters button[aria-pressed="true"], .sf-layout-switch button[aria-pressed="true"] { color: var(--sf-text); background: var(--sf-active-bg); border-color: rgba(var(--sf-accent-rgb),.35); }
.sf-filters button:hover, .sf-layout-switch button:hover { color: var(--sf-accent); }
.sf-filters button span { color: var(--sf-muted); font-size: 10px; font-variant-numeric: tabular-nums; }
.sf-layout-switch { display: flex; gap: 3px; flex: none; }
.sf-layout-switch button { border-radius: 11px; min-width: 40px; padding-inline: 11px; font-size: 11px; }
.sf-layout-switch svg { width: 17px; height: 17px; }
.sf-gallery { display: block; columns: 3; column-gap: 15px; }
.sf-tile { position: relative; display: inline-block; width: 100%; break-inside: avoid; vertical-align: top; min-width: 0; margin: 0 0 15px; border-radius: 20px; background: var(--sf-tile-bg); overflow: hidden; transform: perspective(1100px) rotateX(var(--sf-tilt-x,0deg)) rotateY(var(--sf-tilt-y,0deg)); transition: transform .65s var(--sf-ease),box-shadow .4s,border-color .4s; border: 1px solid rgba(255,255,255,.08); }
.sf-tile > :is(a,button), .sf-tile-open { display: block; position: relative; width: 100%; padding: 0; border: 0; border-radius: inherit; background: none; color: var(--sf-text); text-align: left; overflow: hidden; }
.sf-tile > :is(a,button) > img, .sf-tile-open > img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.sf-tile :is(img,video) { width: 100%; }
.sf-tile:hover { box-shadow: 0 18px 42px rgba(0,0,0,.22); border-color: rgba(var(--sf-accent-rgb),.34); }
.sf-tile:hover > :is(a,button) > img, .sf-tile:hover .sf-tile-open > img { transform: none; }
.sf-tile-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; color: var(--sf-tile-meta); font-size: 11px; line-height: 1.4; }
.sf-tile-meta strong { font-weight: 600; color: var(--sf-tile-title); }
.sf-tile-kind { position: absolute; bottom: 12px; left: 12px; display: inline-flex; align-items: center; gap: 6px; z-index: 1; padding: 7px 10px; border: 1px solid rgba(255,255,255,.2); border-radius: 99px; background: rgba(var(--sf-bg-rgb),.82); color: #fff; font-size: 10px; pointer-events: none; }
.sf-tile-kind svg { width: 13px; height: 13px; }
.sf-tile-play { display: grid; place-items: center; width: 56px; height: 56px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(var(--sf-bg-rgb),.55); position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); color: white; pointer-events: none; }
.sf-tile-play svg { width: 21px; height: 21px; }
.sf-video-cover { display: flex; align-items: center; justify-content: center; position: relative; width: 100%; aspect-ratio: 4 / 5; min-height: 170px; background: var(--sf-video-bg); color: var(--sf-video-text); text-align: center; }
.sf-video-cover > img { height: 100%; width: 100%; object-fit: cover; }
.sf-video-cover > strong { display: block; max-width: 75%; font-size: 18px; line-height: 1.35; font-weight: 550; }
.sf-gallery[data-layout="focus"] { display: grid; columns: auto; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 24px; }
.sf-gallery[data-layout="focus"] .sf-tile { grid-column: auto; margin-bottom: 0; }
.sf-gallery[data-layout="focus"] .sf-tile > :is(a,button) > img, .sf-gallery[data-layout="focus"] .sf-tile-open > img { aspect-ratio: auto; max-height: 720px; object-fit: contain; }
.sf-gallery[data-layout="focus"] .sf-video-cover { aspect-ratio: 16 / 10; }
.sf-gallery.is-changing .sf-tile:not([hidden]) { animation: sf-gallery-in .4s var(--sf-ease) both; }
.sf-gallery-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 15px; padding-top: 27px; }
.sf-gallery-count { color: var(--sf-muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.sf-empty { padding: 30px; color: var(--sf-muted); border: 1px dashed rgba(255,255,255,.18); border-radius: 19px; font-size: 13px; text-align: center; }
.sf-empty strong { display: block; color: var(--sf-text); font-size: 17px; font-weight: 580; margin-bottom: 8px; }

/* Distributed photographs break up useful, compact information. */
.sf-photo-break { position: relative; overflow: hidden; border-radius: 24px; min-height: 190px; aspect-ratio: 2.7; background: var(--sf-photo-break-bg); margin-block: 4px 20px; }
.sf-photo-break img { width: 100%; height: 112%; max-width: none; object-fit: cover; object-position: var(--sf-position,50% 38%); transform: translate3d(0,calc(-5% + var(--sf-parallax,0px)),0); }
.sf-photo-break > :is(a,button) { display: block; width: 100%; height: 100%; position: absolute; inset: 0; padding: 0; border: 0; background: none; }
.sf-photo-break figcaption { position: absolute; left: 22px; bottom: 20px; max-width: calc(100% - 44px); padding: 8px 13px; border-radius: 99px; background: rgba(var(--sf-bg-rgb),.82); color: #fff; font-size: 11px; pointer-events: none; }
.sf-information { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px; }
.sf-identity-teaser { display: grid; grid-template-columns: minmax(0,1fr) minmax(80px,.36fr); gap: 20px; align-items: center; padding: clamp(22px,2.8vw,38px); border-radius: var(--sf-radius); border: 1px solid var(--sf-line); background: var(--sf-surface); overflow: hidden; }
.sf-identity-teaser h2, .sf-identity-teaser h3 { font-size: clamp(23px,2.5vw,35px); font-weight: 570; letter-spacing: -.06em; margin-top: 8px; }
.sf-identity-teaser p:not(.sf-eyebrow) { color: var(--sf-muted); font-size: 13px; line-height: 1.7; max-width: 440px; margin-top: 12px; }
.sf-identity-teaser .sf-button { margin-top: 20px; }
.sf-identity-teaser > img, .sf-identity-photo { width: 100%; height: 100%; max-height: 245px; min-height: 155px; object-fit: cover; border-radius: 16px; }
.sf-readiness { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; text-align: left; color: var(--sf-text); background: transparent; padding: 0; border: 0; width: 100%; min-width: 0; }
.sf-readiness-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; font-size: 11px; color: var(--sf-muted); }
.sf-readiness-label strong { color: var(--sf-accent); font-size: 18px; font-weight: 600; letter-spacing: -.03em; }
.sf-readiness-track { display: block; width: 100%; height: 5px; overflow: hidden; border-radius: 99px; background: var(--sf-readiness-track); }
.sf-readiness-track > span { display: block; height: 100%; width: var(--sf-progress,0%); border-radius: inherit; background: var(--sf-accent); transform-origin: left; transition: transform .8s var(--sf-ease); }
.sf-readiness :is(progress,meter) { width: 100%; height: 6px; border: 0; border-radius: 99px; overflow: hidden; accent-color: var(--sf-accent); background: var(--sf-progress-track); }
.sf-readiness progress::-webkit-progress-bar { background: var(--sf-progress-track); border-radius: 99px; }
.sf-readiness progress::-webkit-progress-value { background: var(--sf-accent); border-radius: 99px; }
.sf-readiness progress::-moz-progress-bar { background: var(--sf-accent); }
.sf-readiness:hover .sf-readiness-label { color: var(--sf-text); }
.sf-rate { border: 1px solid rgba(var(--sf-accent-rgb),.2); border-radius: var(--sf-radius); background: var(--sf-rate-bg); padding: clamp(22px,2.8vw,38px); }
.sf-rate h2, .sf-rate h3 { font-size: clamp(23px,2.5vw,35px); font-weight: 570; letter-spacing: -.06em; margin-top: 8px; }
.sf-rate-value { display: block; font-size: clamp(25px,3vw,40px); font-weight: 580; letter-spacing: -.05em; line-height: 1.2; margin: 17px 0 11px; }
.sf-rate-value small { font-size: 13px; font-weight: 500; color: var(--sf-rate-meta); letter-spacing: 0; }
.sf-rate p:not(.sf-eyebrow) { font-size: 12px; color: var(--sf-rate-note); line-height: 1.7; max-width: 450px; }
.sf-rate .sf-button { margin-top: 19px; }
.sf-fit { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(24px,5vw,78px); align-items: center; }
.sf-fit-copy h2 { font-size: clamp(28px,3.7vw,50px); margin-top: 10px; font-weight: 560; letter-spacing: -.06em; }
.sf-fit-copy > p:not(.sf-eyebrow) { color: var(--sf-muted); font-size: 13px; margin-top: 16px; line-height: 1.75; }
.sf-fit-list { display: grid; gap: 0; list-style: none; padding: 0; counter-reset: sf-fit; }
.sf-fit-list > li, .sf-fit-item { position: relative; display: block; padding: 19px 0 19px 44px; border-bottom: 1px solid var(--sf-line); counter-increment: sf-fit; }
.sf-fit-list > li:first-child { border-top: 1px solid var(--sf-line); }
.sf-fit-list > li::before { content: counter(sf-fit,decimal-leading-zero); position: absolute; left: 0; top: 22px; color: var(--sf-copper); font-size: 10px; font-weight: 550; font-variant-numeric: tabular-nums; }
.sf-fit-list strong { display: block; font-size: 16px; font-weight: 620; letter-spacing: -.025em; color: var(--sf-text); }
.sf-fit-list p { color: var(--sf-muted); font-size: 12px; line-height: 1.7; margin-top: 7px; }
.sf-fit-source { display: inline-flex; font-size: 10px; color: var(--sf-accent); margin-top: 8px; }
.sf-chips { display: flex; flex-wrap: wrap; gap: 7px; padding: 0; list-style: none; }
.sf-chips > :is(span,li) { display: inline-flex; align-items: center; gap: 5px; min-height: 31px; padding: 6px 10px; background: rgba(255,255,255,.045); border: 1px solid var(--sf-line); border-radius: 99px; color: var(--sf-chip-text); font-size: 11px; line-height: 1.35; }
.sf-ads { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.sf-ad { min-width: 0; border: 1px solid var(--sf-line); border-radius: 20px; overflow: hidden; background: var(--sf-ad-bg); transition: transform .4s var(--sf-ease),border-color .3s; }
.sf-ad:hover { transform: translateY(-4px); border-color: rgba(var(--sf-accent-rgb),.4); }
.sf-ad > img, .sf-ad > a > img { width: 100%; aspect-ratio: 1.5; object-fit: cover; }
.sf-ad-copy { padding: 21px; }
.sf-ad h3 { font-size: 19px; line-height: 1.28; letter-spacing: -.035em; font-weight: 600; }
.sf-ad p { color: var(--sf-muted); font-size: 12px; margin-top: 11px; }
.sf-ad .sf-button { margin-top: 18px; }

/* Related faces stay visual, honest and independently linked. */
.sf-similar { padding-bottom: 35px; }
.sf-similar-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(190px,calc((100% - 45px)/4)); gap: 15px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; scrollbar-color: var(--sf-scrollbar) transparent; scrollbar-width: thin; padding-bottom: 18px; }
.sf-similar-card { min-width: 0; scroll-snap-align: start; }
.sf-similar-card > a { display: block; }
.sf-similar-card img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 18px; background: var(--sf-surface-2); transition: transform .65s var(--sf-ease); }
.sf-similar-card:hover img { transform: translateY(-3px); }
.sf-similar-card h3 { font-size: 17px; letter-spacing: -.035em; font-weight: 600; margin-top: 13px; }
.sf-similar-card p, .sf-similar-card small { display: block; color: var(--sf-muted); font-size: 11px; margin-top: 5px; }
.sf-similar-card .sf-actions { margin-top: 11px; }
.sf-similar-card .sf-actions button { min-height: 36px; font-size: 10px; }
.sf-similar-controls { display: flex; gap: 7px; }
.sf-similar-controls button { min-height: 40px; min-width: 40px; padding: 8px 12px; border-radius: 999px; border: 1px solid var(--sf-line-strong); background: transparent; color: var(--sf-text); }
.sf-endmark { border-top: 1px solid var(--sf-line); padding-top: 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--sf-muted); font-size: 11px; }

/* Detail dialogs: one source of identity, readable form fields, deliberate focus. */
.sf-dialog { display: none; width: min(760px,calc(100vw - 32px)); max-width: 960px; max-height: calc(100dvh - 48px); padding: 0; margin: auto; border: 1px solid rgba(255,255,255,.18); border-radius: 25px; background: var(--sf-hero-bg); color: var(--sf-text); box-shadow: 0 35px 130px rgba(0,0,0,.5); overflow: auto; overscroll-behavior: contain; }
.sf-dialog[open] { display: block; animation: sf-dialog-in .3s var(--sf-ease) both; }
.sf-dialog::backdrop { background: rgba(5,6,10,.82); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.sf-dialog.is-fallback { position: fixed; inset: 24px 0; z-index: 100001; box-shadow: 0 0 0 100vmax rgba(5,6,10,.82); }
.sf-dialog-head { position: sticky; top: 0; z-index: 3; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 26px; border-bottom: 1px solid var(--sf-line); background: var(--sf-hero-bg); }
.sf-dialog-head h2 { font-size: 22px; font-weight: 600; letter-spacing: -.04em; }
.sf-dialog-head p { font-size: 11px; color: var(--sf-muted); margin-top: 5px; }
.sf-close { appearance: none; display: inline-flex; justify-content: center; align-items: center; min-width: 42px; min-height: 42px; border: 1px solid var(--sf-line-strong); border-radius: 999px; padding: 10px 14px; background: transparent; color: var(--sf-text); font-size: 11px; font-weight: 600; flex: none; }
.sf-close:hover { background: var(--sf-close-hover); border-color: var(--sf-accent); }
.sf-close svg { width: 18px; height: 18px; }
.sf-dialog-body { padding: 26px; }
.sf-dialog-body > p { font-size: 13px; color: var(--sf-muted); line-height: 1.7; }
.sf-dialog-body > p + p { margin-top: 14px; }
.sf-dialog-body h3 { font-size: 17px; margin: 25px 0 14px; }
.sf-dialog-body h3:first-child { margin-top: 0; }
.sf-dialog .sf-actions { margin-top: 24px; }
.sf-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 25px; }
.sf-details > div { border-bottom: 1px solid var(--sf-line); padding: 14px 0; min-width: 0; }
.sf-details dt { font-size: 11px; font-weight: 500; line-height: 1.4; color: var(--sf-muted); margin-bottom: 6px; }
.sf-details dd { font-size: 13px; font-weight: 550; line-height: 1.6; overflow-wrap: anywhere; color: var(--sf-text); }
.sf-details dd :is(ul,ol) { padding-left: 18px; }
.sf-details dd span + span::before { content: " · "; color: var(--sf-copper); }
.sf-detail-group { margin-top: 28px; }
.sf-detail-group:first-child { margin-top: 0; }
.sf-detail-group h3 { padding-bottom: 12px; border-bottom: 1px solid rgba(var(--sf-accent-rgb),.25); color: var(--sf-detail-heading); }
.sf-dialog :is(input,textarea,select) { max-width: 100%; width: 100%; min-height: 46px; border: 1px solid var(--sf-line-strong); border-radius: 12px; background: var(--sf-input-bg); color: var(--sf-text); padding: 11px 13px; font-size: 13px; box-shadow: none; }
.sf-dialog input::placeholder, .sf-dialog textarea::placeholder { color: var(--sf-placeholder-text); opacity: 1; }
.sf-dialog textarea { min-height: 120px; resize: vertical; }
.sf-dialog :is(input[type="checkbox"],input[type="radio"]) { width: 18px; height: 18px; min-height: 18px; flex: none; accent-color: var(--sf-accent); padding: 0; }
.sf-dialog label { display: block; font-size: 12px; color: var(--sf-label-text); line-height: 1.55; }
.sf-dialog label :is(input,textarea,select) { margin-top: 7px; }
.sf-dialog fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.sf-dialog legend { color: var(--sf-text); font-size: 15px; font-weight: 620; margin-bottom: 16px; }
.sf-dialog .sf-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.sf-dialog .sf-field-wide { grid-column: 1 / -1; }
.sf-dialog .sf-form-note { font-size: 11px; color: var(--sf-muted); line-height: 1.6; }
.sf-dialog .sf-form-status { margin-top: 15px; color: var(--sf-form-status); font-size: 12px; line-height: 1.6; }
.sf-dialog [aria-busy="true"] [type="submit"] { opacity: .65; cursor: progress; }
.sf-dialog details { border-bottom: 1px solid var(--sf-line); padding: 14px 0; }
.sf-dialog summary { cursor: pointer; color: var(--sf-text); font-size: 13px; min-height: 32px; }
.sf-dialog details[open] > summary { margin-bottom: 15px; }
.sf-review-summary { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; }
.sf-review-summary strong { color: var(--sf-accent); font-size: 38px; font-weight: 550; letter-spacing: -.06em; }
.sf-review-summary span { color: var(--sf-muted); font-size: 12px; }
.sf-review { padding: 20px 0; border-top: 1px solid var(--sf-line); }
.sf-review p { font-size: 13px; line-height: 1.75; color: var(--sf-review-text); }
.sf-review small { color: var(--sf-muted); font-size: 11px; }
.sf-review footer { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; margin-top: 13px; }
.sf-talent-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 23px; }
.sf-talent-card > img { width: 100%; height: auto; max-height: 480px; object-fit: contain; align-self: start; border-radius: 15px; }
.sf-talent-card h3 { font-size: 30px; letter-spacing: -.06em; }
.sf-talent-card .sf-details { grid-template-columns: 1fr; }
.sf-card-qr { width: 100px; padding: 6px; background: white; border-radius: 9px; margin-top: 20px; }
.sf-card-qr svg { display: block; width: 100%; height: auto; }

/* Same-person media viewer, thumbnails, accessible photo navigation. */
.sf-dialog--viewer, .sf-viewer { width: min(1320px,calc(100vw - 30px)); max-width: 1320px; background: var(--sf-bg); }
.sf-viewer .sf-dialog-head, .sf-dialog--viewer .sf-dialog-head { padding: 15px 21px; background: var(--sf-bg); }
.sf-viewer .sf-dialog-head h2, .sf-dialog--viewer .sf-dialog-head h2 { font-size: 15px; letter-spacing: -.02em; }
.sf-viewer-stage { position: relative; display: flex; justify-content: center; align-items: center; min-height: 260px; height: min(69dvh,820px); overflow: auto; background: var(--sf-viewer-bg); padding: 12px; }
.sf-viewer-stage > img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; cursor: zoom-in; }
.sf-viewer-stage.is-zoomed { align-items: flex-start; justify-content: flex-start; }
.sf-viewer-stage.is-zoomed > img { max-width: none; max-height: none; width: auto; height: auto; min-width: 100%; cursor: zoom-out; }
.sf-viewer-stage > video, .sf-viewer-stage > audio { max-width: 100%; max-height: 100%; width: 100%; }
.sf-viewer-stage > video { height: 100%; object-fit: contain; }
.sf-viewer-stage .sam-linked-player { width: 100%; max-height: 100%; margin: 0; }
.sf-viewer-stage .sam-linked-player-stage { width: 100%; height: min(53dvh,650px); aspect-ratio: 16 / 9; }
.sf-viewer-stage .sam-linked-player-stage iframe { width: 100%; height: 100%; border: 0; }
.sf-viewer-stage .sam-linked-player-footer { padding: 10px 13px; display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 9px; color: var(--sf-player-meta); font-size: 11px; }
.sf-viewer-stage .sam-linked-player-footer button { border: 1px solid var(--sf-line-strong); border-radius: 99px; background: transparent; padding: 7px 12px; min-height: 35px; font: inherit; color: var(--sf-text); }
.sf-viewer-stage .sam-linked-player-footer p { flex-basis: 100%; }
.sf-viewer-stage .sf-media-error { max-width: 480px; text-align: center; padding: 30px; font-size: 13px; color: var(--sf-muted); }
.sf-media-error a { display: inline-block; margin-top: 12px; color: var(--sf-accent); text-decoration: underline; text-underline-offset: 4px; }
.sf-viewer-caption { padding: 15px 22px 4px; }
.sf-viewer-caption p { font-size: 12px; line-height: 1.6; color: var(--sf-caption-text); }
.sf-viewer-caption p + p { margin-top: 8px; }
.sf-viewer-nav { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 20px; }
.sf-viewer-nav button { min-height: 40px; min-width: 84px; font-size: 11px; border: 1px solid var(--sf-line-strong); border-radius: 999px; background: transparent; padding: 9px 14px; color: var(--sf-text); }
.sf-viewer-nav button:hover { border-color: var(--sf-accent); color: var(--sf-accent); }
.sf-viewer-nav span { font-size: 11px; color: var(--sf-muted); font-variant-numeric: tabular-nums; }
.sf-filmstrip { display: flex; justify-content: center; gap: 7px; padding: 1px 20px 19px; max-width: 100%; overflow-x: auto; scrollbar-width: thin; }
.sf-filmstrip button { display: flex; align-items: center; justify-content: center; flex: 0 0 49px; width: 49px; height: 61px; border-radius: 8px; border: 2px solid transparent; padding: 0; overflow: hidden; background: var(--sf-photo-break-bg); color: var(--sf-muted); font-size: 9px; line-height: 1.3; }
.sf-filmstrip img { width: 100%; height: 100%; object-fit: cover; }
.sf-filmstrip button[aria-current="true"] { border-color: var(--sf-accent); color: var(--sf-text); }
.sf-status { position: fixed; z-index: 100010; left: 50%; bottom: max(20px,env(safe-area-inset-bottom)); transform: translate(-50%,12px); width: max-content; max-width: min(460px,calc(100vw - 28px)); padding: 12px 18px; border: 1px solid rgba(var(--sf-accent-rgb),.3); border-radius: 14px; background: var(--sf-status-bg); color: var(--sf-text); box-shadow: 0 12px 45px rgba(0,0,0,.28); font: 550 12px/1.55 var(--sf-font); text-align: center; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s,transform .3s var(--sf-ease),visibility .2s; }
.sf-status.is-visible { opacity: 1; transform: translate(-50%,0); visibility: visible; }
html.sf-dialog-open, body.sf-dialog-open { overflow: hidden; }

/* Discovery retains comparison behavior; only a portfolio-opened dialog is themed. */
.sam-r138-dialog.sf-native-comparison { --sf-font: Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; background: var(--sf-bg); color: var(--sf-text); border-color: rgba(var(--sf-accent-rgb),.25); border-radius: 25px; font-family: var(--sf-font); color-scheme: dark; box-shadow: 0 35px 100px #0008; }
.sam-r138-dialog.sf-native-comparison::backdrop { background: #08090ed9; }
.sam-r138-dialog.sf-native-comparison :is(h2,h3) { color: var(--sf-text) !important; font-family: var(--sf-font); font-weight: 580; letter-spacing: -.045em; }
.sam-r138-dialog.sf-native-comparison h2 { font-size: clamp(27px,3vw,40px); line-height: 1.15; }
.sam-r138-dialog.sf-native-comparison th h3 { font-size: 23px; }
.sam-r138-dialog.sf-native-comparison :is(p,[data-r138-live],.sam-r138-dialog__foot) { color: var(--sf-muted); font-family: var(--sf-font); }
.sam-r138-dialog.sf-native-comparison .sam-r138-eyebrow { color: var(--sf-copper); font-family: var(--sf-font); }
.sam-r138-dialog.sf-native-comparison .sam-r138-compare-tools { border-color: #ffffff1f; font-family: var(--sf-font); }
.sam-r138-dialog.sf-native-comparison input { accent-color: var(--sf-accent); }
.sam-r138-dialog.sf-native-comparison button:not([data-r138-close]) { border-color: #ffffff38; background: transparent; color: var(--sf-accent); border-radius: 10px; font-family: var(--sf-font); min-height: 44px; }
.sam-r138-dialog.sf-native-comparison [data-r138-close] { border-color: #ffffff38; color: var(--sf-text); }
.sam-r138-dialog.sf-native-comparison button.sam-r138-project-button { background: var(--sf-accent); color: var(--sf-comparison-ink); border-color: var(--sf-accent); }
.sam-r138-dialog.sf-native-comparison .sam-r138-table-scroll { border-color: #ffffff1f; }
.sam-r138-dialog.sf-native-comparison table { background: var(--sf-surface); }
.sam-r138-dialog.sf-native-comparison :is(th,td) { border-color: #ffffff1a; color: var(--sf-comparison-text); font-family: var(--sf-font); }
.sam-r138-dialog.sf-native-comparison tr > th:first-child { background: var(--sf-surface-2); color: var(--sf-muted); font-family: var(--sf-font); }
.sam-r138-dialog.sf-native-comparison th img { object-fit: contain; background: var(--sf-bg); }
.sam-r138-dialog.sf-native-comparison a { color: var(--sf-accent); }
.sam-r138-dialog.sf-native-comparison :is(button,a,input,[tabindex]):focus-visible { outline-color: var(--sf-accent); }

/* Native renderer structure: shared visual system, role-specific content. */
.sf-brand { display: inline-flex; align-items: baseline; gap: 8px; margin-bottom: 19px; }
.sf-brand > span { font-size: 8px; font-weight: 650; letter-spacing: .23em; color: var(--sf-muted); }
.sf-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 11px; margin-top: 25px; }
.sf-hero-actions .sf-work-link { border: 0; background: transparent; padding-inline: 3px; }
.sf-hero-bottom { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 23px; margin-top: 27px; border-top: 1px solid var(--sf-line); padding-top: 20px; }
.sf-hero-bottom .sf-readiness { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; }
.sf-hero-bottom .sf-readiness > span { color: var(--sf-muted); font-size: 10px; line-height: 1.4; }
.sf-hero-bottom .sf-readiness > strong { color: var(--sf-accent); font-size: 14px; font-weight: 650; line-height: 1.2; }
.sf-hero-bottom .sf-readiness > progress { grid-column: 1 / -1; height: 4px; }
.sf-hero-bottom > .sf-action { border: 0; padding-inline: 0; min-height: 42px; font-size: 11px; }
.sf-brand-mark { position: absolute; pointer-events: none; user-select: none; font-weight: 850; font-size: clamp(90px,11vw,175px); line-height: .8; letter-spacing: -.13em; color: rgba(255,255,255,.14); z-index: 1; right: 6%; bottom: 6%; }
.sf-hero-media > .sf-brand-mark { right: 8%; bottom: 5%; font-size: clamp(100px,10vw,165px); color: rgba(255,255,255,.19); }
.sf-photo-tag, .sf-tile-counter { position: absolute; left: 12px; bottom: 12px; z-index: 2; display: inline-flex; align-items: center; gap: 9px; color: #fff; padding: 6px 10px; border: 1px solid rgba(255,255,255,.25); border-radius: 99px; background: rgba(var(--sf-bg-rgb),.74); font-size: 10px; line-height: 1.4; pointer-events: none; }
.sf-photo-tag svg, .sf-tile-counter svg { width: 13px; height: 13px; }
.sf-tile-counter { left: auto; right: 12px; }
.sf-photo-empty { position: relative; grid-column: 1 / -1; grid-row: 1 / 3; min-height: 300px; width: 100%; border-radius: 20px; border: 1px solid var(--sf-line); background: var(--sf-empty-photo-bg); display: flex; align-items: flex-end; padding: 24px; overflow: hidden; }
.sf-photo-empty p { position: relative; z-index: 2; color: var(--sf-muted); font-size: 12px; }
.sf-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin-block: 18px !important; padding-block: 14px; }
.sf-facts > div { padding: 7px 22px; border-left: 1px solid var(--sf-line); }
.sf-facts > div:first-child { padding-left: 0; border-left: 0; }
.sf-facts .is-enabled { color: #bce1ce; }
.sf-facts .is-disabled { color: var(--sf-fact-disabled); }
.sf-text-button { appearance: none; min-height: 30px; padding: 0; border: 0; background: none; color: inherit; text-align: left; font-weight: inherit; font-size: inherit; }
.sf-text-button:hover { color: var(--sf-accent); }
.sf-follow { display: inline-flex; align-items: center; gap: 7px; }
.sf-follow [data-sc-followers] { font-size: 10px; color: var(--sf-muted); }
.sf-nav { display: flex; align-items: center; gap: 27px; min-height: 61px; overflow-x: auto; scrollbar-width: none; overscroll-behavior-inline: contain; }
.sf-nav::-webkit-scrollbar { display: none; }
.sf-nav > button { appearance: none; display: inline-flex; align-items: center; padding: 0; min-height: 60px; flex: none; border: 0; background: none; font-size: 12px; font-weight: 600; color: var(--sf-muted); }
.sf-nav > button:hover { color: var(--sf-accent); }
.sf-nav small { color: var(--sf-nav-meta); padding-left: 6px; font-size: 9px; }
.sf-accent { color: var(--sf-accent); }
.sf-section-note { color: var(--sf-muted); max-width: 340px; font-size: 12px; line-height: 1.6; }
.sf-work-controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.sf-filters small { color: var(--sf-filter-meta); font-size: 9px; padding-left: 2px; font-variant-numeric: tabular-nums; }
.sf-layout { display: flex; align-items: center; gap: 4px; flex: none; }
.sf-layout button { appearance: none; min-width: 40px; min-height: 40px; display: grid; place-items: center; border: 1px solid transparent; border-radius: 11px; background: none; color: var(--sf-muted); padding: 9px; }
.sf-layout button[aria-pressed="true"] { color: var(--sf-accent); border-color: rgba(var(--sf-accent-rgb),.35); background: var(--sf-active-bg); }
.sf-layout svg { width: 18px; height: 18px; }
.sf-tile > figcaption { padding: 12px 14px; }
.sf-tile > figcaption strong { display: block; color: var(--sf-caption-title); font-weight: 600; font-size: 11px; }
.sf-tile > figcaption p { color: var(--sf-muted); font-size: 11px; line-height: 1.6; margin-top: 5px; }
.sf-tile > figcaption small { display: block; color: var(--sf-filter-meta); font-size: 10px; margin-top: 7px; }
.sf-gallery-footer { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 17px; margin-top: 25px; }
.sf-gallery-footer p { color: var(--sf-muted); font-size: 11px; }
.sf-section.sf-identity-teaser { grid-template-columns: minmax(0,.84fr) minmax(0,1.16fr); gap: clamp(24px,4vw,58px); padding: 0; margin-block: 12px 20px; border: 1px solid var(--sf-line); background: var(--sf-surface); overflow: hidden; }
.sf-identity-teaser > .sf-photo-break { display: block; height: 100%; min-height: 330px; aspect-ratio: 1.1; margin: 0; border-radius: 0; }
.sf-identity-teaser > .sf-photo-break img { height: 100%; object-fit: cover; transform: none; }
.sf-identity-teaser > div { padding: 35px 35px 35px 0; min-width: 0; }
.sf-field-chips { margin-top: 20px; }
.sf-field-chips h3 { font-size: 10px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; color: var(--sf-field-label); margin: 0 0 10px; }
.sf-field-chips ul { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; list-style: none; }
.sf-field-chips li { padding: 5px 9px; border: 1px solid var(--sf-line); border-radius: 999px; color: var(--sf-field-value); font-size: 10px; line-height: 1.4; }
.sf-fit-list { margin-top: 24px !important; }
.sf-fit-photo { display: block; aspect-ratio: 1.18; min-height: 300px; margin: 0; }
.sf-fit-photo > img { height: 100%; transform: none; object-fit: cover; }
.sf-fit-copy > .sf-small-note { color: var(--sf-fit-note); font-size: 11px; line-height: 1.65; margin-top: 17px; }
.sf-small-note { color: var(--sf-muted); font-size: 11px; line-height: 1.65; }
.sf-section.sf-rate { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr) auto; align-items: center; gap: 30px; padding: 30px 35px; margin-block: 10px 25px; border: 1px solid rgba(var(--sf-accent-rgb),.22); border-radius: var(--sf-radius); }
.sf-rate h2 { font-size: clamp(24px,2.5vw,34px); margin-top: 9px; }
.sf-rate .sf-rate-value { display: block; margin: 0; font-size: inherit; }
.sf-rate-value > strong { display: block; color: var(--sf-rate-value); font-size: clamp(24px,2.6vw,36px); font-weight: 580; letter-spacing: -.05em; line-height: 1.2; }
.sf-rate .sf-rate-value p { color: var(--sf-rate-detail); font-size: 11px; line-height: 1.7; letter-spacing: 0; font-weight: 400; margin-top: 9px; }
.sf-rate .sf-button { margin-top: 0; }
.sf-section.sf-ads { display: block; }
.sf-ad-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.sf-ad > div { padding: 23px; }
.sf-ad > div > strong { display: block; margin-top: 12px; color: var(--sf-accent); font-size: 13px; font-weight: 600; }
.sf-ad > div > .sf-action { margin-top: 15px; }
.sf-reviews { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.sf-reviews h2 { font-size: clamp(27px,3.3vw,44px); font-weight: 560; margin-top: 9px; }
.sf-reviews p:not(.sf-eyebrow) { color: var(--sf-muted); font-size: 12px; margin-top: 11px; }
.sf-reviews .sf-review-rating { color: var(--sf-review-rating); font-size: 20px; font-weight: 570; letter-spacing: -.035em; margin-top: 16px; }
.sf-review-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.sf-footer { border-top: 1px solid var(--sf-line); padding-top: 25px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 17px; color: var(--sf-muted); font-size: 10px; }
.sf-footer .sf-brand { margin: 0; color: var(--sf-text); }
.sf-footer a:last-child { display: inline-flex; min-height: 44px; align-items: center; }
.sf-mobile-dock { display: none; }
.sf-client-status { font-size: 11px; max-width: 560px; }
.sf-client-status:empty { display: none; }
.sf-client-status p { margin-top: 12px; color: var(--sf-client-meta); font-size: 11px; line-height: 1.6; }
.sf-client-status :is(button,a) { min-height: 36px; margin-top: 9px; padding: 7px 12px; }
.sf-comparison-status { margin-block: 12px; }
.sf-comparison-status button { margin-top: 9px; }
.sf-preview-note, .sf-feedback, .sf-noscript { padding: 13px 18px; margin: 0 0 18px !important; border: 1px solid rgba(var(--sf-accent-rgb),.28); border-radius: 13px; background: var(--sf-feedback-bg); color: var(--sf-feedback-text); font-size: 12px; line-height: 1.65; }
.sf-noscript { margin: 20px !important; }
.sf-noscript a { text-decoration: underline; }
.sf-projects { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; margin-top: 28px; }
.sf-project { display: grid; grid-template-columns: minmax(90px,.45fr) minmax(0,1fr); align-items: stretch; gap: 20px; background: var(--sf-project-bg); padding: 0; border: 1px solid var(--sf-line); border-radius: 17px; overflow: hidden; color: var(--sf-text); text-align: left; }
.sf-project > img, .sf-project > .sf-video-cover { width: 100%; height: 100%; min-height: 150px; aspect-ratio: 1; object-fit: cover; }
.sf-project > span { padding: 20px 20px 20px 0; font-size: 11px; color: var(--sf-muted); align-self: center; }
.sf-project small { display: block; font-size: 9px; color: var(--sf-accent); letter-spacing: .12em; text-transform: uppercase; }
.sf-project strong { display: block; font-size: 20px; letter-spacing: -.04em; font-weight: 580; color: var(--sf-text); margin: 8px 0; }
.sf-project-media { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 12px; margin: 23px 0; }
.sf-project-media button { padding: 0; border: 0; background: var(--sf-project-media-bg); color: var(--sf-text); border-radius: 12px; overflow: hidden; min-height: 100px; }
.sf-project-media img { width: 100%; height: auto; }
.sf-film-cover { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 4 / 5; min-height: 180px; overflow: hidden; background: var(--sf-film-bg); color: var(--sf-text); }
.sf-film-cover > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: .78; }
.sf-film-label { position: relative; display: flex; flex-direction: column; align-items: center; gap: 9px; padding: 15px 18px; border-radius: 15px; background: rgba(var(--sf-bg-rgb),.72); color: white; }
.sf-film-label > svg { width: 25px; height: 25px; }
.sf-film-label strong { font-size: 12px; font-weight: 650; }
.sf-film-label small { color: var(--sf-film-meta); font-size: 10px; }
.sf-gallery[data-layout="focus"] .sf-film-cover { aspect-ratio: 16 / 10; }
.sf-project > .sf-film-cover { aspect-ratio: 1; min-height: 150px; height: 100%; }
.sf-dialog-head > div { min-width: 0; }
.sf-dialog-head h2, .sf-tile figcaption, .sf-project strong { overflow-wrap: anywhere; }
.sf-contributors { list-style: none; padding: 0; }
.sf-contributors li { display: flex; justify-content: space-between; gap: 15px; padding-block: 11px; border-bottom: 1px solid var(--sf-line); font-size: 12px; }
.sf-contributors span { color: var(--sf-muted); }
.sf-viewer-video-cover { width: 100%; height: 100%; position: relative; display: flex; align-items: center; justify-content: center; background: var(--sf-video-viewer-bg); overflow: hidden; }
.sf-viewer-video-cover img { max-width: 100%; max-height: 100%; height: 100%; width: 100%; object-fit: contain; opacity: .8; }
.sf-viewer-video-cover button { position: absolute; z-index: 1; left: 50%; top: 50%; transform: translate(-50%,-50%); }
.sf-viewer-video-cover button:hover { transform: translate(-50%,-50%); }
.sf-identity-intro { display: flex; align-items: center; gap: 20px; padding: 26px 28px 10px; }
.sf-identity-intro figure { width: 78px; height: 94px; border-radius: 14px; overflow: hidden; flex: none; }
.sf-identity-intro img { height: 100%; width: 100%; object-fit: cover; }
.sf-identity-intro h3 { font-size: 25px; font-weight: 580; letter-spacing: -.05em; }
.sf-identity-intro p { font-size: 12px; color: var(--sf-muted); margin-block: 7px 9px; }
.sf-identity-group { padding: 20px 28px 8px; }
.sf-identity-group h3 { color: var(--sf-identity-heading); font-size: 15px; font-weight: 650; letter-spacing: -.02em; margin-bottom: 7px; }
.sf-identity-group > p { color: var(--sf-muted); font-size: 13px; line-height: 1.8; }
.sf-identity-group article { padding-block: 15px; border-bottom: 1px solid var(--sf-line); }
.sf-service-detail h4 { font-size: 14px; line-height: 1.4; letter-spacing: -.02em; }
.sf-service-detail p { font-size: 12px; color: var(--sf-muted); line-height: 1.8; margin-top: 9px; }
.sf-service-detail p strong { color: var(--sf-service-label); font-weight: 600; }
.sf-dialog-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 15px; padding: 24px 28px; border-top: 1px solid var(--sf-line); margin-top: 25px; }
.sf-dialog-foot p { color: var(--sf-muted); max-width: 340px; font-size: 11px; line-height: 1.65; }
.sf-readiness-dialog { padding-bottom: 28px; }
.sf-readiness-dialog > p, .sf-readiness-dialog > progress { margin: 18px 28px 0; width: calc(100% - 56px); }
.sf-readiness-dialog > p { font-size: 12px; line-height: 1.75; color: var(--sf-muted); }
.sf-readiness-dialog > .sf-readiness-value { font-size: 62px; line-height: 1.2; font-weight: 550; letter-spacing: -.07em; color: var(--sf-accent); margin-top: 24px; }
.sf-readiness-value small { font-size: 24px; padding-left: 3px; }
.sf-readiness-dialog progress { height: 6px; border: 0; accent-color: var(--sf-accent); border-radius: 99px; overflow: hidden; background: var(--sf-metric-track); }
.sf-readiness-dialog progress::-webkit-progress-bar { background: var(--sf-metric-track); }
.sf-readiness-dialog progress::-webkit-progress-value { background: var(--sf-accent); }
.sf-readiness-dialog progress::-moz-progress-bar { background: var(--sf-accent); }
.sf-metric { padding: 22px 0 0; margin: 0 28px; }
.sf-metric > div { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 9px; font-size: 12px; color: var(--sf-metric-text); }
.sf-metric strong { font-weight: 600; color: var(--sf-accent); }
.sf-metric progress { width: 100%; }
.sf-metric p { color: var(--sf-muted); font-size: 11px; margin-top: 8px; }
.sf-dialog[data-sf-dialog="share"] > :is(p,label,button) { margin: 20px 26px; max-width: calc(100% - 52px); }
.sf-dialog[data-sf-dialog="share"] > p { color: var(--sf-muted); font-size: 12px; }
.sf-dialog[data-sf-dialog="share"] > label { display: block; }
.sf-card-dialog { width: min(960px,calc(100vw - 32px)); }
.sf-card-dialog .sf-talent-card { display: block; padding: 26px 28px; }
.sf-talent-card > header { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 25px; }
.sf-talent-card > header .sf-brand { margin: 0; }
.sf-talent-card > header > span:last-child { color: var(--sf-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.sf-card-identity { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr) 100px; gap: 24px; align-items: start; }
.sf-card-identity > figure { min-width: 0; width: 100%; overflow: hidden; border-radius: 15px; }
.sf-card-identity > figure img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.sf-card-identity h2 { font-size: clamp(27px,4vw,42px); font-weight: 580; letter-spacing: -.06em; line-height: 1.05; }
.sf-card-identity p { font-size: 12px; color: var(--sf-muted); margin: 9px 0 12px; }
.sf-card-identity .sf-details { gap: 0 18px; }
.sf-card-identity .sf-details > div { padding-block: 10px; }
.sf-qr { min-width: 0; }
.sf-qr [data-sf-qr] { padding: 6px; background: white; border-radius: 7px; }
.sf-qr svg { display: block; width: 100%; height: auto; }
.sf-qr a { display: block; font-size: 10px; line-height: 1.5; color: var(--sf-muted); margin-top: 9px; text-align: center; }
.sf-card-work { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 7px; margin-top: 24px; align-items: start; }
.sf-card-work figure { min-width: 0; border-radius: 7px; overflow: hidden; }
.sf-card-work img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.sf-card-fields { color: var(--sf-muted); font-size: 11px; margin-top: 20px !important; line-height: 1.8; }
.sf-card-fields strong { color: var(--sf-card-label); font-weight: 600; }
.sf-talent-card > footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 25px; padding-top: 18px; border-top: 1px solid var(--sf-line); color: var(--sf-muted); font-size: 10px; line-height: 1.5; overflow-wrap: anywhere; }
.sf-reviews-dialog [data-sf-reviews-content], .sf-project-dialog [data-sf-project-content] { padding: 24px 26px; }
.sf-review-content .sam-tr-modal-box { width: 100%; max-height: none; padding: 0; overflow: visible; border: 0; border-radius: 0; box-shadow: none; background: none; color: var(--sf-text); }
.sf-review-content h2 { font: 570 25px/1.2 var(--sf-font); letter-spacing: -.04em; }
.sf-review-content .sam-tr-kicker { color: var(--sf-copper); font-weight: 650; font-size: 9px; }
.sf-review-content .sam-tr-summary-grid { gap: 9px; }
.sf-review-content .sam-tr-summary-grid > div { border-color: var(--sf-line); background: var(--sf-review-stat-bg); border-radius: 15px; padding: 15px; }
.sf-review-content .sam-tr-summary-grid strong { color: var(--sf-accent); font-size: 29px; font-weight: 560; letter-spacing: -.04em; }
.sf-review-content .sam-tr-summary-grid span { font-weight: 550; font-size: 9px; letter-spacing: .06em; }
.sf-review-content .sam-tr-tabs button, .sf-review-content .sam-tr-gold { font: 620 11px/1.4 var(--sf-font); letter-spacing: 0; text-transform: none; background: var(--sf-status-bg); border-color: rgba(var(--sf-accent-rgb),.3); }
.sf-review-content .sam-tr-tabs button.is-active, .sf-review-content .sam-tr-gold { background: var(--sf-accent); color: var(--sf-button-ink); border-color: var(--sf-accent); }
.sf-review-content .sam-tr-review-card { border-radius: 17px; background: var(--sf-review-card-bg); }
.sf-review-content .sam-tr-stars .is-on { color: var(--sf-accent); text-shadow: none; }
.sf-review-content .sam-tr-empty { border-radius: 17px; background: var(--sf-review-empty-bg); border-color: rgba(var(--sf-accent-rgb),.25); padding: 26px; }
.sf-review-content .sam-tr-empty > div { background: var(--sf-review-empty-icon-bg); border-color: rgba(var(--sf-accent-rgb),.25); }
.sf-review-content .sam-tr-form-message { color: var(--sf-accent); font-weight: 550; }
.sf-booking-dialog > p { color: var(--sf-muted); font-size: 13px; line-height: 1.7; padding: 22px 26px 0; }
.sf-booking-dialog form { padding: 0 26px 26px; }
.sf-booking-dialog form > label { margin-top: 17px; }
.sf-booking-dialog [data-sf-booking-context] { color: var(--sf-accent); font-size: 11px; line-height: 1.7; margin: 13px 0 18px; }
.sf-booking-dialog [data-sf-selected-service] { color: var(--sf-booking-context); font-size: 12px; background: var(--sf-booking-context-bg); border: 1px solid var(--sf-line); border-radius: 11px; padding: 11px 13px; margin: 0 0 18px; }
.sf-booking-dialog .sf-brief-details { margin-top: 20px; }
.sf-brief-details summary { min-height: 40px; font-size: 12px; }
.sf-brief-details summary > span { margin-left: 8px; font-size: 10px; color: var(--sf-brief-meta); }
.sf-form-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.sf-form-options label { display: flex; align-items: center; gap: 10px; font-size: 12px; }
.sf-form-options label input { margin: 0; }
.sf-form-foot { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; gap: 13px; margin-top: 23px; border-top: 1px solid var(--sf-line); padding-top: 22px; }
.sf-form-foot > p { flex-basis: 100%; }
.sf-pairs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 25px; }
.sf-pair { display: block; width: 100%; min-width: 0; padding: 0; border: 1px solid var(--sf-line); border-radius: 17px; background: var(--sf-pair-bg); color: var(--sf-text); overflow: hidden; text-align: left; }
.sf-pair > span { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 3px; }
.sf-pair img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.sf-pair > strong { display: block; padding: 17px 19px 0; font-size: 17px; font-weight: 600; letter-spacing: -.035em; }
.sf-pair > small { display: block; padding: 5px 19px 18px; color: var(--sf-muted); font-size: 11px; }
.sf-pair-modes { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 19px; }
.sf-pair-side { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.sf-pair-side figure { min-width: 0; }
.sf-pair-side img { width: 100%; height: auto; max-height: 65vh; object-fit: contain; border-radius: 12px; }
.sf-pair-side figcaption { margin-top: 10px; color: var(--sf-muted); font-size: 11px; }
.sf-pair-reveal-stage { position: relative; width: 100%; max-height: 65vh; aspect-ratio: 1; overflow: hidden; border-radius: 13px; background: var(--sf-bg); }
.sf-pair-reveal-stage > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.sf-pair-reveal-after { clip-path: inset(0 calc(100% - var(--sf-pair-position,50%)) 0 0); }
.sf-pair-divider { position: absolute; left: var(--sf-pair-position,50%); top: 0; bottom: 0; width: 2px; background: var(--sf-accent); pointer-events: none; }
.sf-pair-range { display: block; margin-top: 17px; color: var(--sf-muted); font-size: 11px; }
.sf-dialog .sf-pair-range input[type="range"] { padding: 0; border: 0; background: transparent; width: 100%; min-height: 36px; accent-color: var(--sf-accent); cursor: ew-resize; }
.sf-photo-break[data-sf-parallax] > img { height: 112%; transform: translate3d(0,calc(-5% + var(--sf-parallax,0px)),0); }

/* Motion is bounded and decorative. No section is hidden waiting for JavaScript. */
.sam-folio [data-sf-reveal] { opacity: 1; }
.sam-folio .sf-entering { animation: sf-section-in .72s var(--sf-ease) both; animation-delay: var(--sf-enter-delay,0ms); }
.sf-hero-copy { animation: sf-hero-in .82s var(--sf-ease) both; }
.sf-hero-media { animation: sf-photo-in .95s var(--sf-ease) both; animation-delay: 90ms; }
.sf-hero-media .sf-hero-shot:not(.sf-hero-shot--main) { animation: sf-photo-in .95s var(--sf-ease) both; animation-delay: 180ms; }
.sam-folio [data-sf-float].sf-in-view { animation: sf-float 8s ease-in-out infinite; }
@keyframes sf-hero-in { from { opacity: .35; transform: translate3d(0,14px,0); } to { opacity: 1; transform: none; } }
@keyframes sf-photo-in { from { opacity: .4; transform: translate3d(0,19px,0) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes sf-section-in { from { opacity: .45; transform: translate3d(0,20px,0); } to { opacity: 1; transform: none; } }
@keyframes sf-gallery-in { from { opacity: .55; transform: translate3d(0,7px,0); } to { opacity: 1; transform: none; } }
@keyframes sf-dialog-in { from { opacity: .35; transform: translate3d(0,13px,0) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes sf-float { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(0,-6px,0); } }

@media (min-width:1600px) { .sf-wrap { width: min(1440px,calc(100% - 112px)); } }
@media (max-width:1100px) {
  .sf-wrap { width: calc(100% - 40px); }
  .sf-hero { gap: 24px; padding: 28px; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); }
  .sf-hero-media { min-height: 360px; gap: 9px; }
  .sf-name { font-size: clamp(40px,5.8vw,62px); }
  .sf-facts { gap: 15px 22px; margin-block: 19px !important; }
  .sf-action { font-size: 10px; padding: 9px 11px; }
  .sf-ads { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:800px) {
  .sam-folio { padding-top: 13px; }
  .sf-wrap { width: calc(100% - 28px); }
  .sf-hero { grid-template-columns: 1fr; gap: 22px; padding: 25px; border-radius: 25px; }
  .sf-hero-copy { padding: 0; }
  .sf-name { font-size: clamp(42px,8vw,66px); max-width: 100%; margin-top: 10px !important; }
  .sf-profession { font-size: 15px; margin-top: 10px !important; }
  .sf-meta { margin-top: 11px; }
  .sf-facts { padding-block: 13px; margin-block: 16px !important; }
  .sf-hero-media { grid-template-columns: 1.5fr 1fr; width: 100%; min-height: 0; height: clamp(290px,57vw,470px); max-height: none; gap: 10px; }
  .sf-hero-shot { border-radius: 14px; }
  .sf-hero-shot--main { border-radius: 17px; }
  .sf-hero-media[data-count="1"] { height: min(90vw,490px); }
  .sf-hero-media[data-count="1"] .sf-hero-shot { max-width: none; }
  .sf-hero-media[data-count="2"] .sf-hero-shot:not(.sf-hero-shot--main) { margin-top: 28px; margin-bottom: 10px; }
  .sf-nav { margin-top: 18px; }
  .sf-nav > .sf-wrap, .sf-nav-inner { gap: 23px; min-height: 55px; }
  .sf-nav a { min-height: 54px; font-size: 11px; }
  .sf-nav .sf-button { font-size: 10px; }
  .sf-section { padding-block: 35px; }
  .sf-section-head { margin-bottom: 20px; gap: 13px; }
  .sf-section-head h2 { font-size: 32px; }
  .sf-section-head p:not(.sf-eyebrow) { font-size: 12px; }
  .sf-gallery { columns: 2; column-gap: 11px; }
  .sf-tile { border-radius: 14px; margin-bottom: 11px; }
  .sf-tile > :is(a,button) > img, .sf-tile-open > img { aspect-ratio: auto; }
  .sf-gallery[data-layout="focus"] { grid-template-columns: 1fr; gap: 18px; }
  .sf-gallery[data-layout="focus"] .sf-tile { grid-column: auto !important; }
  .sf-gallery[data-layout="focus"] .sf-tile > :is(a,button) > img, .sf-gallery[data-layout="focus"] .sf-tile-open > img { aspect-ratio: auto !important; max-height: none; }
  .sf-tile-meta { font-size: 10px; padding: 10px 11px; gap: 7px; }
  .sf-tile-kind { left: 8px; bottom: 8px; font-size: 9px; padding: 5px 8px; }
  .sf-gallery-toolbar { gap: 10px; }
  .sf-filters { gap: 4px; }
  .sf-filters button { padding: 8px 11px; font-size: 11px; }
  .sf-information { grid-template-columns: 1fr; gap: 12px; }
  .sf-identity-teaser { padding: 24px; grid-template-columns: minmax(0,1fr) minmax(85px,.34fr); gap: 15px; }
  .sf-fit { grid-template-columns: 1fr; gap: 22px; }
  .sf-fit-copy h2 { font-size: 34px; }
  .sf-photo-break { aspect-ratio: 2.1; min-height: 160px; border-radius: 18px; }
  .sf-similar-track { grid-auto-columns: minmax(170px,calc((100% - 26px)/3)); gap: 13px; }
  .sf-similar-card img { border-radius: 14px; }
  .sf-dialog { max-height: calc(100dvh - 28px); width: calc(100vw - 24px); border-radius: 21px; }
  .sf-dialog-head { padding: 18px 20px; }
  .sf-dialog-head h2 { font-size: 20px; }
  .sf-dialog-body { padding: 22px 20px; }
  .sf-viewer-stage { height: min(64dvh,700px); padding: 7px; }
  .sf-viewer-stage .sam-linked-player-stage { height: min(48dvh,600px); }
}
@media (max-width:480px) {
  .sf-wrap { width: calc(100% - 24px); }
  .sf-hero { padding: 20px 17px 17px; border-radius: 23px; gap: 18px; }
  .sf-eyebrow { font-size: 9px; letter-spacing: .17em; }
  .sf-name { font-size: clamp(38px,10vw,52px); }
  .sf-verified { padding: 4px 7px; font-size: 10px; }
  .sf-meta { font-size: 11px; gap: 7px 12px; }
  .sf-facts { gap: 13px 20px; }
  .sf-facts dd { font-size: 12px; }
  .sf-facts dt { font-size: 9px; }
  .sf-actions { gap: 7px; }
  .sf-actions > .sf-button--primary { flex: 1 1 auto; }
  .sf-button { padding: 11px 16px; min-height: 44px; font-size: 11px; }
  .sf-actions--secondary { gap: 6px; margin-top: 8px; }
  .sf-action, .sf-actions .sc-avatar-button { min-height: 42px; padding: 9px 11px; font-size: 10px; }
  .sf-hero-media { height: clamp(260px,72vw,345px); }
  .sf-nav > .sf-wrap, .sf-nav-inner { gap: 22px; }
  .sf-nav .sf-button { display: none; }
  .sf-section-head h2 { font-size: 29px; }
  .sf-gallery-toolbar { align-items: flex-start; }
  .sf-layout-switch { margin-left: auto; }
  .sf-layout-switch button { min-height: 35px; padding-inline: 9px; }
  .sf-tile-play { width: 42px; height: 42px; }
  .sf-tile-play svg { width: 17px; height: 17px; }
  .sf-tile-meta { padding: 9px 10px; }
  .sf-gallery-foot { padding-top: 22px; flex-direction: column; gap: 10px; }
  .sf-identity-teaser { grid-template-columns: minmax(0,1fr) 88px; padding: 21px 18px; }
  .sf-identity-teaser h2, .sf-identity-teaser h3 { font-size: 25px; }
  .sf-identity-teaser p:not(.sf-eyebrow) { font-size: 12px; }
  .sf-identity-teaser > img, .sf-identity-photo { min-height: 180px; border-radius: 13px; }
  .sf-identity-teaser .sf-button { padding-inline: 13px; }
  .sf-rate { padding: 23px 21px; }
  .sf-ads { grid-template-columns: 1fr; }
  .sf-similar-track { grid-auto-columns: minmax(160px,72%); gap: 12px; }
  .sf-similar-card h3 { font-size: 16px; }
  .sf-photo-break { min-height: 145px; }
  .sf-photo-break figcaption { left: 13px; bottom: 13px; font-size: 10px; }
  .sf-endmark { align-items: flex-start; flex-wrap: wrap; gap: 12px; }
  .sf-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 19px; }
  .sf-dialog-head { padding: 15px 17px; }
  .sf-dialog-head h2 { font-size: 18px; }
  .sf-dialog-body { padding: 20px 17px; }
  .sf-close { min-width: 40px; min-height: 40px; padding: 9px 12px; font-size: 10px; }
  .sf-details { gap: 0 17px; }
  .sf-details dd { font-size: 12px; }
  .sf-dialog .sf-form-grid { grid-template-columns: 1fr; }
  .sf-dialog .sf-field-wide { grid-column: auto; }
  .sf-talent-card { grid-template-columns: 1fr; }
  .sf-talent-card > img { max-height: 340px; }
  .sf-talent-card .sf-details { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sf-viewer-stage { height: 61dvh; }
  .sf-viewer .sf-dialog-head h2, .sf-dialog--viewer .sf-dialog-head h2 { font-size: 13px; }
  .sf-viewer-caption { padding-inline: 16px; }
  .sf-viewer-nav { padding: 12px 14px; gap: 8px; }
  .sf-viewer-nav button { min-width: 77px; padding: 8px 11px; }
  .sf-filmstrip { justify-content: flex-start; padding-inline: 14px; }
  .sf-filmstrip button { flex-basis: 42px; width: 42px; height: 53px; }
}
@media (hover:none), (pointer:coarse) {
  .sf-tile, .sf-hero-shot, .sf-photo-break { --sf-tilt-x: 0deg !important; --sf-tilt-y: 0deg !important; }
  .sf-tile:hover, .sf-button:hover, .sf-action:hover, .sf-ad:hover { transform: none; box-shadow: none; }
  .sf-tile:hover > :is(a,button) > img, .sf-tile:hover .sf-tile-open > img, .sf-hero-shot:hover img, .sf-similar-card:hover img { transform: none; }
}
@media (prefers-reduced-motion:reduce) {
  .sam-folio *, .sam-folio *::before, .sam-folio *::after,
  .sf-dialog *, .sf-dialog *::before, .sf-dialog *::after,
  .sf-dialog { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .sam-folio [data-sf-reveal], .sam-folio .sf-entering { opacity: 1 !important; }
  .sam-folio [data-sf-parallax] { --sf-parallax: 0px !important; }
  .sf-tile { --sf-tilt-x: 0deg !important; --sf-tilt-y: 0deg !important; }
}
@media (max-width:1100px) {
  .sf-section.sf-rate { grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); gap: 18px 27px; padding: 28px; }
  .sf-section.sf-rate > .sf-button { grid-column: 2; justify-self: start; }
  .sf-identity-teaser > div { padding: 27px 27px 27px 0; }
  .sf-ad-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sf-card-identity { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr) 85px; gap: 19px; }
}
@media (max-width:800px) {
  .sf-hero-bottom { margin-top: 20px; padding-top: 17px; gap: 20px; }
  .sf-hero-actions { margin-top: 19px; }
  .sf-facts { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin-block: 15px !important; }
  .sf-facts > div { padding: 6px 12px; }
  .sf-facts dd { font-size: 12px; }
  .sf-nav { gap: 23px; min-height: 55px; }
  .sf-nav > button { min-height: 54px; font-size: 11px; }
  .sf-section.sf-identity-teaser { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 24px; padding: 0; }
  .sf-identity-teaser > .sf-photo-break { min-height: 320px; height: 100%; aspect-ratio: auto; border-radius: 0; }
  .sf-identity-teaser > div { padding: 25px 23px 25px 0; }
  .sf-fit-photo { min-height: 260px; aspect-ratio: 1.5; }
  .sf-section.sf-rate { padding: 25px; margin-block: 10px 20px; }
  .sf-rate .sf-rate-value > strong { font-size: 28px; }
  .sf-projects { gap: 12px; }
  .sf-project { grid-template-columns: 1fr; gap: 0; }
  .sf-project > img { aspect-ratio: 1.6; min-height: 0; height: auto; }
  .sf-project > span { padding: 16px; }
  .sf-project strong { font-size: 18px; }
  .sf-reviews { align-items: flex-start; }
  .sf-review-actions { flex-direction: column; align-items: stretch; }
  .sf-card-identity { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 20px; }
  .sf-card-identity .sf-qr { grid-column: 2; width: 85px; }
  .sf-identity-intro { padding-inline: 22px; }
  .sf-identity-group { padding-inline: 22px; }
  .sf-dialog-foot { padding-inline: 22px; }
  .sf-card-dialog .sf-talent-card { padding: 22px; }
}
@media (max-width:600px) {
  .sam-folio { padding-bottom: calc(92px + env(safe-area-inset-bottom)); }
  .sf-facts { grid-template-columns: repeat(2,minmax(0,1fr)); padding-block: 6px; margin-block: 15px !important; }
  .sf-facts > div { padding: 11px 15px; }
  .sf-facts > div:nth-child(odd) { padding-left: 0; border-left: 0; }
  .sf-facts > div:nth-child(n+3) { border-top: 1px solid var(--sf-line); }
  .sf-facts dt { font-size: 10px; }
  .sf-facts dd { font-size: 12px; }
  .sf-work-controls { align-items: flex-start; flex-wrap: wrap; gap: 9px; }
  .sf-layout { margin-left: auto; }
  .sf-layout button { min-height: 36px; min-width: 36px; }
  .sf-tile > figcaption { padding: 10px 11px; }
  .sf-tile > figcaption p { font-size: 10px; }
  .sf-tile-counter { right: 8px; bottom: 8px; font-size: 9px; padding: 5px 8px; }
  .sf-photo-tag { left: 9px; bottom: 9px; font-size: 9px; padding: 5px 9px; }
  .sf-gallery-footer { margin-top: 20px; gap: 12px; }
  .sf-section.sf-identity-teaser { grid-template-columns: 1fr; gap: 0; margin-top: 6px; border-radius: 22px; }
  .sf-identity-teaser > .sf-photo-break { min-height: 0; aspect-ratio: 1.65; width: 100%; height: auto; }
  .sf-identity-teaser > div { padding: 25px 22px 27px; }
  .sf-identity-teaser h2 { font-size: 29px; }
  .sf-identity-teaser .sf-field-chips { margin-top: 17px; }
  .sf-fit-photo { aspect-ratio: 1.4; min-height: 240px; }
  .sf-section.sf-rate { grid-template-columns: 1fr; gap: 20px; padding: 25px 22px; }
  .sf-section.sf-rate > .sf-button { grid-column: auto; justify-self: start; }
  .sf-rate .sf-rate-value > strong { font-size: 32px; }
  .sf-ad-grid { grid-template-columns: 1fr; }
  .sf-ad > div { padding: 22px; }
  .sf-reviews { flex-direction: column; align-items: flex-start; gap: 20px; }
  .sf-review-actions { flex-direction: row; align-items: center; }
  .sf-projects { grid-template-columns: 1fr; }
  .sf-pairs { grid-template-columns: 1fr; }
  .sf-project { grid-template-columns: 100px 1fr; }
  .sf-project > img { height: 100%; aspect-ratio: 4 / 5; }
  .sf-project > span { padding: 17px; }
  .sf-mobile-dock { position: fixed; z-index: 32; bottom: 0; left: 0; right: 0; display: flex; align-items: center; gap: 10px; padding: 11px 13px calc(11px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(var(--sf-accent-rgb),.22); background: rgba(var(--sf-hero-rgb),.97); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
  .sf-mobile-dock > span { display: block; min-width: 0; flex: 1; }
  .sf-mobile-dock strong { display: block; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 12px; line-height: 1.4; font-weight: 650; }
  .sf-mobile-dock small { display: block; color: var(--sf-muted); font-size: 9px; margin-top: 3px; }
  .sf-mobile-dock .sf-button { min-height: 43px; padding: 10px 17px; flex: none; font-size: 11px; }
  .sf-mobile-dock .sf-action { min-height: 43px; min-width: 43px; padding: 10px; flex: none; }
  .sf-status { bottom: calc(85px + env(safe-area-inset-bottom)); }
  .sf-identity-intro { padding: 22px 18px 6px; gap: 15px; }
  .sf-identity-intro figure { width: 68px; height: 84px; }
  .sf-identity-intro h3 { font-size: 23px; }
  .sf-identity-group { padding: 20px 18px 7px; }
  .sf-dialog-foot { padding: 20px 18px; margin-top: 20px; }
  .sf-readiness-dialog > p, .sf-readiness-dialog > progress { margin-inline: 19px; width: calc(100% - 38px); }
  .sf-metric { margin-inline: 19px; }
  .sf-dialog[data-sf-dialog="share"] > :is(p,label,button) { margin-inline: 18px; max-width: calc(100% - 36px); }
  .sf-card-dialog .sf-talent-card { padding: 20px 18px; }
  .sf-card-identity { grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: 16px; }
  .sf-card-identity h2 { font-size: 26px; }
  .sf-card-identity p { font-size: 11px; }
  .sf-card-identity .sf-details { grid-template-columns: 1fr; }
  .sf-card-identity .sf-details > div { padding-block: 8px; }
  .sf-card-identity .sf-qr { grid-column: 1; grid-row: 2; width: 80px; margin-top: -10px; }
  .sf-card-work { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .sf-card-work figure { border-radius: 9px; }
  .sf-talent-card > header { margin-bottom: 22px; }
  .sf-card-fields { font-size: 10px; }
  .sf-reviews-dialog [data-sf-reviews-content], .sf-project-dialog [data-sf-project-content] { padding: 20px 17px; }
  .sf-review-content .sam-tr-summary-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
  .sf-review-content .sam-tr-summary-grid > div { padding: 13px 10px; border-radius: 12px; }
  .sf-review-content .sam-tr-summary-grid strong { font-size: 25px; }
  .sf-review-content .sam-tr-summary-grid span { font-size: 8px; line-height: 1.5; letter-spacing: 0; }
  .sf-review-content .sam-tr-tabs button { flex: 1; width: auto; min-width: 110px; }
  .sf-review-content .sam-tr-review-card { padding: 18px; }
  .sf-review-content .sam-tr-empty { padding: 23px 18px; }
  .sf-review-content .sam-tr-empty h3 { font-size: 22px; }
  .sf-booking-dialog > p { padding: 20px 18px 0; font-size: 12px; }
  .sf-booking-dialog form { padding: 0 18px 22px; }
  .sf-dialog .sf-form-grid { grid-template-columns: 1fr; gap: 15px; }
  .sf-form-options { grid-template-columns: 1fr; }
}
@media (max-width:360px) {
  .sf-hero { padding-inline: 15px; }
  .sf-hero-bottom { grid-template-columns: 1fr; gap: 9px; }
  .sf-hero-bottom > .sf-action { justify-self: start; }
  .sf-hero-actions .sf-work-link { min-height: 35px; }
  .sf-mobile-dock .sf-action { display: none; }
}

/* r175. Compact engagement stays beside the work; deeper tools open on intent. */
.sf-engagement-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.sf-engagement-actions > :is(button,a) { min-height: 44px; }
.sf-work-tabs { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--sf-line); }
.sf-work-tabs > button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 11px 2px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: var(--sf-muted); font: 650 12px/1.4 var(--sf-font); }
.sf-work-tabs > button[aria-selected="true"] { color: var(--sf-accent); border-bottom-color: var(--sf-accent); }
.sf-work-tabs > button:hover { color: var(--sf-text); }
.sf-media-actions { display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 5px; padding: 5px 8px 7px; border-top: 1px solid var(--sf-line); }
:is(.sam-folio,.sf-dialog) :is(.sf-media-action,.sf-media-like,.sf-media-reference) { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; min-width: 44px; max-width: 100%; padding: 8px 10px; border: 1px solid transparent; border-radius: 999px; background: transparent; color: var(--sf-muted); font: 600 11px/1.35 var(--sf-font); text-align: center; transition: color .2s,background .2s,border-color .2s; }
:is(.sf-media-action,.sf-media-like,.sf-media-reference) svg { display: block; width: 18px; height: 18px; flex: none; }
.sf-media-action > [aria-hidden="true"] { font-size: 20px; line-height: 1; }
:is(.sf-media-action,.sf-media-like,.sf-media-reference) [data-sf-like-count] { min-width: 1ch; font-variant-numeric: tabular-nums; }
:is(.sf-media-action,.sf-media-like,.sf-media-reference):hover { color: var(--sf-text); background: var(--sf-surface-2); }
:is(.sf-media-action,.sf-media-like,.sf-media-reference):is(.is-appreciated,.is-saved,[aria-pressed="true"]) { color: var(--sf-accent); background: var(--sf-pressed-bg); border-color: rgba(var(--sf-accent-rgb),.45); }
:is(.sf-media-action,.sf-media-like,.sf-media-reference).is-appreciated svg, :is(.sf-media-action,.sf-media-like,.sf-media-reference).is-saved svg { fill: currentColor; }
:is(.sf-media-action,.sf-media-like,.sf-media-reference).is-pending { cursor: progress; }
:is(.sf-media-action,.sf-media-like,.sf-media-reference):disabled { opacity: .65; }
.sf-viewer .sf-media-actions { border-top: 0; border-bottom: 1px solid var(--sf-line); padding: 7px 20px; }
.sf-viewer-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 14px; padding: 7px 20px; border-bottom: 1px solid var(--sf-line); }
.sf-viewer-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; min-width: 0; }
.sf-viewer-toolbar .sf-media-actions { border: 0; padding: 0; }
.sf-viewer-toolbar > [data-sf-zoom-toggle] { flex: 0 0 auto; min-height: 44px; margin-left: auto; }
.sf-engagement-status { min-height: 1.6em; margin-top: 10px !important; color: var(--sf-muted); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.sf-engagement-status:empty { display: none; }
.sf-engagement-empty { padding: 24px; border: 1px dashed var(--sf-line-strong); border-radius: 16px; color: var(--sf-muted); font-size: 13px; line-height: 1.7; text-align: center; }
.sf-engagement-empty > :is(button,a) { margin-top: 12px; }
.sf-dialog :is(.sf-reference-content,.sf-reference-items,[data-sf-project-picker],.sf-support-content,[data-sf-support-content],.sf-support-loading) { padding: 24px 26px; }
:is(.sf-references-dialog,.sf-projects-dialog) > .sf-small-note { padding: 22px 26px 0; }
.sf-reference-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-block: 15px 20px; }
.sf-reference-summary { color: var(--sf-muted); font-size: 12px; line-height: 1.65; }
:is(.sf-reference-board,.sf-reference-items) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.sf-reference-item { min-width: 0; padding: 12px; border: 1px solid var(--sf-line); border-radius: 17px; background: var(--sf-tile-bg); }
.sf-reference-item > a { display: block; min-width: 0; }
.sf-reference-item img { display: block; width: 100%; height: 180px; object-fit: contain; border-radius: 10px; background: var(--sf-bg); }
.sf-reference-item :is(h3,p,span) { overflow-wrap: anywhere; }
.sf-reference-item h3 { font-size: 14px; margin-top: 12px; }
.sf-reference-item p { color: var(--sf-muted); font-size: 11px; margin-top: 7px; }
.sf-reference-item > :is(button,.sf-action) { min-height: 44px; margin-top: 9px; }
.sf-reference-item > .sf-reference-preview { display: block; width: 100%; min-width: 0; margin-top: 0; padding: 0; border: 0; border-radius: 10px; background: var(--sf-bg); color: var(--sf-text); text-align: left; overflow: hidden; }
.sf-reference-placeholder { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 180px; padding: 15px; color: var(--sf-muted); font-size: 12px; text-align: center; }
:is(.sf-reference-board,.sf-reference-items,.sf-world-grid,.sf-world-items) > :is(.sf-engagement-empty,.sf-engagement-status) { grid-column: 1 / -1; }
.sf-project-options { display: grid; gap: 12px; }
.sf-project-option { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; padding: 17px; border: 1px solid var(--sf-line); border-radius: 16px; background: var(--sf-project-bg); }
.sf-project-option-label { display: block; flex: 1 1 160px; min-width: 0; color: var(--sf-text); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.sf-project-option-label :is(small,span) { display: block; color: var(--sf-muted); font-size: 11px; margin-top: 5px; }
.sf-project-option > .sf-action { flex: 0 0 auto; min-height: 44px; }
:is(.sf-world-grid,.sf-world-items) { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; align-items: start; }
.sf-world-panel > .sf-small-note { margin-bottom: 18px; }
.sf-world-panel > [data-sf-world-more] { margin-top: 24px; }
.sf-world-card { min-width: 0; overflow: hidden; border: 1px solid var(--sf-line); border-radius: 20px; background: var(--sf-tile-bg); }
.sf-world-media { position: relative; display: block; width: 100%; min-width: 0; background: var(--sf-viewer-bg); }
.sf-world-media:is(img,video), .sf-world-media :is(img,video) { display: block; width: 100%; height: auto; max-height: 580px; object-fit: contain; }
.sf-world-media .sf-world-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 48px; min-width: 48px; max-width: calc(100% - 24px); padding: 12px 16px; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; background: rgba(var(--sf-bg-rgb),.9); color: var(--sf-text); font: 650 12px/1.4 var(--sf-font); }
.sf-world-media .sf-world-play:hover { transform: translate(-50%,-50%); border-color: var(--sf-accent); }
.sf-world-play svg { width: 20px; height: 20px; flex: none; }
.sf-world-media:not(:has(img)) .sf-world-play { position: relative; top: auto; left: auto; transform: none; margin: 65px 16px; }
.sf-world-media:not(:has(img)) .sf-world-play:hover { transform: none; }
.sf-world-media-nav { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 12px; border-top: 1px solid var(--sf-line); color: var(--sf-muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.sf-world-media-nav button { min-width: 44px; min-height: 44px; padding: 9px 13px; border: 1px solid var(--sf-line); border-radius: 999px; background: transparent; color: var(--sf-text); font: 600 11px/1.35 var(--sf-font); }
.sf-world-media-nav button:hover { background: var(--sf-surface-2); border-color: var(--sf-accent); }
.sf-world-author { display: inline-flex; align-items: center; min-height: 44px; color: var(--sf-accent); font-size: 12px; font-weight: 650; }
.sf-world-copy { padding: 17px; }
.sf-world-copy h3 { font-size: 17px; line-height: 1.3; letter-spacing: -.025em; }
.sf-world-copy :is(p,small) { display: block; color: var(--sf-muted); font-size: 12px; line-height: 1.65; margin-top: 8px; overflow-wrap: anywhere; }
.sf-world-copy > a { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; color: var(--sf-accent); font-size: 12px; font-weight: 650; }
:is(.sf-support-content,[data-sf-support-content]) { min-width: 0; overflow-wrap: anywhere; }
:is(.sf-support-content,[data-sf-support-content]) :is(img,video,iframe) { max-width: 100%; }
:is(.sf-support-content,[data-sf-support-content]) :is(button,a,input,select,textarea) { scroll-margin-block: 80px; }
.sf-support-loading { color: var(--sf-muted); font-size: 13px; line-height: 1.65; }
.sf-similar-card :is(.sf-actions,.sf-similar-actions) { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 11px; }
.sf-similar-card :is(.sf-actions,.sf-similar-actions) :is(button,a) { min-height: 44px; }
.sf-similar-card :is(.sf-actions,.sf-similar-actions) > :is(button,a) { flex: 1 1 auto; justify-content: center; font-size: 11px; }
.sf-similar-card .sf-similar-portfolio { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-top: 5px; color: var(--sf-accent); font-size: 12px; font-weight: 650; }
.sf-similar-card h3, .sf-similar-card p { overflow-wrap: anywhere; }
@media (max-width:900px) {
  :is(.sf-world-grid,.sf-world-items) { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
}
@media (max-width:600px) {
  :is(.sf-world-grid,.sf-world-items) { grid-template-columns: 1fr; gap: 14px; }
  .sf-dialog :is(.sf-reference-content,.sf-reference-items,[data-sf-project-picker],.sf-support-content,[data-sf-support-content],.sf-support-loading) { padding: 20px 18px calc(20px + env(safe-area-inset-bottom)); }
  :is(.sf-reference-board,.sf-reference-items) { gap: 10px; }
  .sf-reference-item { padding: 9px; border-radius: 13px; }
  .sf-reference-item img { height: 145px; }
  .sf-reference-placeholder { min-height: 145px; }
  :is(.sf-references-dialog,.sf-projects-dialog) > .sf-small-note { padding: 20px 18px 0; }
  .sf-reference-tools > :is(button,a) { flex: 1 1 auto; }
  .sf-viewer .sf-media-actions { padding-inline: 13px; }
  .sf-viewer-toolbar { padding-inline: 13px; }
  .sf-viewer-toolbar .sf-media-actions { padding: 0; }
  .sf-engagement-actions { gap: 6px; }
}
@media (max-width:360px) {
  :is(.sf-reference-board,.sf-reference-items) { grid-template-columns: 1fr; }
}
