/* Shared menu-style action language, loaded after the page layouts. */
:root{--action-fill:#fff5da;--action-hover:#242a1e;--action-text:#fff5da}
:is(.feature,.intent,.about-section,.contact-section,.project-details){--action-fill:#242a1e;--action-hover:#fff5da;--action-text:#242a1e}
:is(.portfolio-header,.portfolio-footer,.video-shell,.bts-dialog){--action-fill:#fff5da;--action-hover:#242a1e;--action-text:#fff5da}
.site-action,.site-action-row{position:relative;isolation:isolate;overflow:hidden;cursor:pointer;background-image:linear-gradient(var(--action-fill),var(--action-fill))!important;background-repeat:no-repeat!important;background-position:right center!important;background-size:0 100%!important;color:var(--action-text)!important;text-decoration:none!important;transition:background-size .38s cubic-bezier(.77,0,.18,1),color .28s ease,border-color .28s ease!important}
.site-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;padding:12px 14px!important;border:0!important;border-bottom:1px solid color-mix(in srgb,var(--action-text) 45%,transparent)!important;border-radius:0!important;background-color:transparent!important;font:400 11px/1.45 Arial,Helvetica,sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase;white-space:normal;text-align:center}
.site-action::before{content:none!important}
.site-action:is(:hover,:focus-visible),.site-action-row:is(:hover,:focus-visible){color:var(--action-hover)!important;border-color:var(--action-fill)!important;background-position:left center!important;background-size:100% 100%!important}
.site-action:focus-visible,.site-action-row:focus-visible{outline:2px solid var(--action-fill)!important;outline-offset:5px}
.site-action:active{background-size:100% 100%!important}
.site-action:disabled{opacity:.55;cursor:wait;background-size:0 100%!important;color:var(--action-text)!important}
.site-action-row{padding-inline:14px}
.portfolio .play-button.site-action{background-color:rgba(20,24,17,.88)!important;min-width:150px;white-space:nowrap;border:1px solid rgba(255,245,218,.45)!important}
.play-button.site-action span{margin:0;font-size:10px}
.portfolio-header .site-action{padding:9px 6px!important;letter-spacing:.06em!important}
.traction-press ul{gap:8px 16px}
.project-actions{gap:12px}
.press-row.site-action-row{grid-template-columns:1fr 2fr}
.project-card a .card-caption{transition:color .28s ease,border-color .28s ease}
.project-card a:is(:hover,:focus-visible) .card-caption{color:var(--paper);border-color:var(--paper)}
.project-card a h3{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:left bottom;background-size:0 1px;transition:background-size .38s cubic-bezier(.77,0,.18,1)}
.project-card a:is(:hover,:focus-visible) h3{background-size:100% 1px}
/* Gallery controls retain their useful directional symbols with the same sweep. */
.bts-dialog :is(.bts-close,.bts-previous,.bts-next){background-image:linear-gradient(var(--paper),var(--paper));background-size:0 100%;background-repeat:no-repeat;background-position:right center;transition:background-size .38s cubic-bezier(.77,0,.18,1),color .28s ease,transform .2s ease}
.bts-dialog :is(.bts-close,.bts-previous,.bts-next):is(:hover,:focus-visible){background-position:left center;background-size:100% 100%;color:var(--ink)}
.hero-scroll{transition:background .28s ease,transform .28s ease}
.hero-scroll:is(:hover,:focus-visible){transform:translateY(3px)}
@media(max-width:700px){.site-action{padding:10px 12px!important;font-size:10px!important}.portfolio-header .site-action{padding:9px 4px!important;font-size:10px!important}.project-actions{gap:10px}.press-row.site-action-row{grid-template-columns:1fr}.press-row.site-action-row>span:last-of-type:not(.sr-only){grid-column:auto;grid-row:auto}}
@media(prefers-reduced-motion:reduce){.site-action,.site-action-row,.project-card a h3,.bts-dialog button,.hero-scroll{transition:none!important}.hero-scroll:is(:hover,:focus-visible){transform:none}}

/* Hero credits animate individually; the contact title retains its large type. */
.hero-credit-buttons{align-items:center;flex-wrap:wrap;border-top:0;padding-top:0}
.hero-credit-buttons .site-action{flex:0 1 auto}
.contact-heading-link{display:inline-block;padding:0;max-width:100%;vertical-align:top}

/* Unified editorial interactions, site-wide.
   Preserve .video-led-hero .hero-credit / Latest Project completely. */
:root { --ui-ease:cubic-bezier(.2,.75,.2,1);--ui-speed:.23s }
.portfolio .portfolio-header:not(.video-top-nav) {
  position:fixed!important;top:0;left:0;right:0;z-index:90;
  width:100%;background:transparent!important;background-image:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  box-shadow:none!important;padding:10px 5%;min-height:60px;
}
.portfolio .portfolio-header:not(.video-top-nav) nav {
  display:flex;align-items:center;justify-content:flex-end;gap:clamp(12px,2.1vw,32px);
  max-width:none;flex-wrap:nowrap;overflow:visible;
}
/* Secondary content pages have light paper backgrounds; comedy's dark lead retains cream links. */
.portfolio .portfolio-header:not(.video-top-nav) {--nav-ink:var(--ink)}
.portfolio.comedy-business .portfolio-header:not(.video-top-nav) {--nav-ink:var(--paper)}
.portfolio .portfolio-header:not(.video-top-nav) .small-wordmark {color:var(--nav-ink)}
.portfolio .portfolio-header:not(.video-top-nav) nav>a.site-action {
  display:inline-flex;position:relative;isolation:isolate;overflow:visible;
  padding:11px 8px!important;min-height:42px;border:0!important;border-radius:999px!important;
  background:none!important;background-image:none!important;background-size:0!important;
  color:var(--nav-ink)!important;font:500 clamp(11px,1vw,14px)/1.2 Arial,Helvetica,sans-serif!important;
  letter-spacing:0!important;text-transform:none;
  transition:transform var(--ui-speed) var(--ui-ease),color var(--ui-speed) ease!important;
}
.portfolio .portfolio-header:not(.video-top-nav) nav>a.site-action::after {
  content:"";position:absolute;left:8px;right:8px;bottom:7px;height:1px;
  background:currentColor;transform:scaleX(0);
  transition:transform var(--ui-speed) var(--ui-ease);
}
.portfolio .portfolio-header:not(.video-top-nav) nav>a.site-action:is(:hover,:focus-visible,[aria-current])::after {transform:scaleX(1)}
.portfolio .portfolio-header:not(.video-top-nav) nav>a.site-action:last-child {padding:11px 19px!important}
.portfolio .portfolio-header:not(.video-top-nav) nav>a.site-action:last-child::before {
  content:""!important;display:block;position:absolute;inset:0;z-index:-1;
  border-radius:999px;background:var(--nav-ink);transform:scale(.82);opacity:0;
  transition:transform var(--ui-speed) var(--ui-ease),opacity var(--ui-speed) ease;
}
.portfolio .portfolio-header:not(.video-top-nav) nav>a.site-action:last-child:is(:hover,:focus-visible)::before {opacity:1;transform:scale(1)}
.portfolio .portfolio-header:not(.video-top-nav) nav>a.site-action:last-child:is(:hover,:focus-visible) {color:var(--paper)!important}
.portfolio.comedy-business .portfolio-header:not(.video-top-nav) nav>a.site-action:last-child:is(:hover,:focus-visible) {color:var(--olive)!important}
.portfolio .portfolio-header:not(.video-top-nav) nav>a.site-action:last-child::after {display:none}
.portfolio .portfolio-header:not(.video-top-nav) nav>a.site-action:active {transform:translateY(1px)}
.portfolio .portfolio-header:not(.video-top-nav) nav>a.site-action:focus-visible {outline:2px solid var(--nav-ink)!important;outline-offset:3px}
.portfolio :is(.collection-intro,.project-page,.comedy-intro) {scroll-margin-top:72px}
/* Editorial navigation to work categories and related projects: line, not filled block. */
.portfolio :is(.section-links,.project-actions,.project-details,.collection-intro,.collection-grid) a.site-action:not(.play-button):not(.contact-button),
.portfolio a.back-link.site-action,
.portfolio .cinema-project-link.site-action {
  position:relative;overflow:visible;isolation:isolate;min-height:42px;
  padding:10px 2px!important;border:0!important;border-radius:0!important;
  background:none!important;background-image:none!important;
  background-size:0!important;color:inherit!important;
  transition:opacity var(--ui-speed) ease!important;
}
.portfolio :is(.section-links,.project-actions,.project-details,.collection-intro,.collection-grid) a.site-action:not(.play-button):not(.contact-button)::after,
.portfolio a.back-link.site-action::after,
.portfolio .cinema-project-link.site-action::after {
  content:"";position:absolute;bottom:7px;left:2px;right:2px;height:1px;
  background:currentColor;transform:scaleX(0);
  transition:transform var(--ui-speed) var(--ui-ease);
}
.portfolio :is(.section-links,.project-actions,.project-details,.collection-intro,.collection-grid) a.site-action:is(:hover,:focus-visible)::after,
.portfolio a.back-link.site-action:is(:hover,:focus-visible)::after,
.portfolio .cinema-project-link.site-action:is(:hover,:focus-visible)::after {transform:scaleX(1)}
/* Press rows keep their full-row hit target and restraint; no large background wipes. */
.portfolio .press-row.site-action-row {
  background:none!important;background-image:none!important;color:inherit!important;
  transition:opacity var(--ui-speed) ease!important;
}
.portfolio .press-row.site-action-row:hover {opacity:.72}
/* Primary conversion actions, including comedy booking and contact submission, retain a restrained pill. */
.portfolio a.contact-button.site-action,.portfolio button.contact-button.site-action {
  border:1px solid currentColor!important;border-radius:999px!important;
  background-image:none!important;transition:color var(--ui-speed) ease,background-color var(--ui-speed) ease,transform var(--ui-speed) var(--ui-ease)!important;
}
.portfolio a.contact-button.site-action:is(:hover,:focus-visible),.portfolio button.contact-button.site-action:is(:hover,:focus-visible) {
  color:var(--paper)!important;background-color:var(--olive)!important;
}
.portfolio .contact-button.site-action:active {transform:scale(.98)}
@media(max-width:700px) {
 .portfolio .portfolio-header:not(.video-top-nav) {padding:7px 16px!important}
 .portfolio .portfolio-header:not(.video-top-nav) nav {gap:clamp(3px,1vw,9px)}
 .portfolio .portfolio-header:not(.video-top-nav) nav>a.site-action {font-size:11px!important;padding:9px 5px!important}
 .portfolio .portfolio-header:not(.video-top-nav) nav>a.site-action:last-child {padding:10px 13px!important}
}
@media(prefers-reduced-motion:reduce) {
 .portfolio .portfolio-header:not(.video-top-nav) nav>a.site-action,
 .portfolio .portfolio-header:not(.video-top-nav) nav>a.site-action::after,
 .portfolio .portfolio-header:not(.video-top-nav) nav>a.site-action::before,
 .portfolio :is(.section-links,.project-actions,.project-details,.collection-intro,.collection-grid) a.site-action,
 .portfolio :is(.section-links,.project-actions,.project-details,.collection-intro,.collection-grid) a.site-action::after,
 .portfolio .press-row.site-action-row,.portfolio .contact-button.site-action {transition:none!important}
}

/* Secondary pages use the same cream-on-transparent nav as the homepage.
   This overrides earlier per-page dark-ink nav styles without touching Latest Project. */
.portfolio .portfolio-header:not(.video-top-nav) {--nav-ink:var(--paper)!important}
.portfolio .portfolio-header:not(.video-top-nav) .small-wordmark {color:var(--paper)!important}
.portfolio .portfolio-header:not(.video-top-nav) nav>a.site-action {color:var(--paper)!important}
.portfolio .portfolio-header:not(.video-top-nav) nav>a.site-action:last-child:is(:hover,:focus-visible) {color:var(--olive)!important}
.portfolio .portfolio-header:not(.video-top-nav) nav>a.site-action:last-child::before {background:var(--paper)}
/* Related-work destinations: animate the same rounded pill as Contact. */
.portfolio .section-links a.site-action {border:0!important;border-radius:999px!important;padding:11px 18px!important;isolation:isolate;overflow:visible;transition:color var(--ui-speed) ease,transform var(--ui-speed) var(--ui-ease)!important}
.portfolio .section-links a.site-action::after {display:none!important}
.portfolio .section-links a.site-action::before {content:""!important;display:block!important;position:absolute;inset:0;z-index:-1;border-radius:999px;background:currentColor;opacity:0;transform:scale(.82);transition:opacity var(--ui-speed) ease,transform var(--ui-speed) var(--ui-ease)}
.portfolio .section-links a.site-action:is(:hover,:focus-visible)::before {opacity:.16;transform:scale(1)}
.portfolio .section-links a.site-action:active {transform:scale(.97)}
@media(prefers-reduced-motion:reduce){.portfolio .section-links a.site-action,.portfolio .section-links a.site-action::before{transition:none!important}}
