/*
Theme Name: Omar ShibatAlhamd Experience Theme
Theme URI: https://oshibatalhamd.com
Author: BIG Creative Boutique
Author URI: https://go-big.agency
Description: Interactive Full Site Editing portfolio theme for Omar ShibatAlhamd with editable showreel, logo explorer, journey timeline, awards, portfolio, offerings, adaptive contact form, and identity-accurate colors.
Version: 1.0.9
Requires at least: 6.3
Tested up to: 6.8
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: omar-sh
Tags: full-site-editing, portfolio, block-patterns, custom-colors, custom-logo, editor-style
*/

:root{
  --osh-charcoal:#1E1E1E;
  --osh-blue:#1B406E;
  --osh-green:#529A69;
  --osh-gray:#D1D1D1;
  --osh-black:#000000;
  --osh-red:#EF3F2F;
  --osh-orange:#EF952F;
  --osh-white:#FFFFFF;

  --osh-font:"Changa", system-ui, sans-serif;
  --osh-radius:32px;
  --osh-radius-lg:44px;
  --osh-shadow:0 24px 80px rgba(0,0,0,.18);
  --osh-line:rgba(30,30,30,.14);
  --osh-motion:cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--osh-font);
  background:var(--wp--style--color--background, var(--osh-gray));
  color:var(--osh-charcoal);
  overflow-x:hidden;
}
body, button, input, textarea, select{font-family:var(--osh-font)}
a{text-underline-offset:.18em}
::selection{background:var(--osh-orange);color:var(--osh-black)}
.wp-site-blocks{min-height:100vh;overflow-x:hidden}

.osh-header{
  position:sticky;
  top:0;
  z-index:100;
  padding:18px 28px;
}
.admin-bar .osh-header{top:32px}
.osh-header-shell{
  min-height:86px;
  border-radius:999px;
  background:rgba(0,0,0,.92);
  color:var(--osh-white);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--osh-shadow);
  backdrop-filter:blur(18px);
}
.osh-header-shell .wp-block-site-logo img{
  max-height:62px;
  width:auto;
  object-fit:contain;
  display:block;
}
.osh-header-shell .wp-block-navigation a{
  color:var(--osh-white);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.osh-header-shell .wp-block-navigation-item__content:hover{
  color:var(--osh-orange)!important;
}
.osh-header-shell .wp-block-navigation__submenu-container{
  border-radius:24px!important;
  overflow:hidden!important;
  padding:10px!important;
  background:rgba(0,0,0,.96)!important;
  border:1px solid rgba(239,149,47,.45)!important;
  box-shadow:0 30px 80px rgba(0,0,0,.35)!important;
}
.osh-header-shell .wp-block-navigation__submenu-container a{
  padding:12px 14px!important;
  border-radius:14px;
}
.osh-header-shell .wp-block-navigation__submenu-container a:hover{
  background:var(--osh-orange)!important;
  color:var(--osh-black)!important;
}

.osh-fullbleed{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
.hero-video-section{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  min-height:auto;
  overflow:hidden;
  display:flex;
  align-items:center;
  padding:80px 7vw;
  background:#111111;
}
.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  pointer-events:none;
  transform:none;
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(17,17,17,.72) 0%,rgba(17,17,17,.45) 42%,rgba(17,17,17,.08) 100%),
    linear-gradient(0deg,rgba(17,17,17,.22),rgba(17,17,17,.22));
  z-index:1;
}
.hero-content{
  position:relative;
  z-index:2;
  max-width:780px;
  color:#ffffff;
  font-family:var(--osh-font);
  background:transparent;
}
.hero-kicker{
  color:var(--osh-orange);
  font-size:14px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin:0 0 18px;
  background:transparent;
}
.hero-title{
  margin:0;
  padding:0;
  background:transparent!important;
  box-shadow:none!important;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
}
.hero-title > span{
  display:block;
  margin:0;
  padding:0;
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
  font-size:clamp(52px,7vw,122px);
  line-height:.86;
  letter-spacing:-.07em;
  text-transform:uppercase;
  font-weight:900;
  color:#ffffff;
}
.hero-copy{
  margin:24px 0 0;
  max-width:620px;
  font-size:clamp(18px,1.6vw,26px);
  line-height:1.35;
  font-weight:700;
  color:rgba(255,255,255,.82);
  background:transparent;
}
.hero-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:34px;
}
.hero-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:15px 24px;
  font-size:14px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  transition:.2s ease;
}
.hero-btn.primary{background:var(--osh-orange);color:#111111;border:2px solid var(--osh-orange)}
.hero-btn.secondary{background:transparent;color:#ffffff;border:2px solid #ffffff}
.hero-btn:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:8px 8px 0 var(--osh-orange)}
.hero-btn.primary:hover{background:#ffffff;border-color:#ffffff}

.osh-section{
  position:relative;
  padding:96px 28px;
}
.osh-section-inner{
  max-width:1240px;
  margin:0 auto;
}
.osh-section-title{
  font-size:clamp(42px,7vw,110px);
  font-weight:900;
  line-height:.82;
  letter-spacing:-.075em;
  text-transform:uppercase;
  margin:0;
}
.osh-section-kicker{
  color:var(--osh-orange);
  font-size:13px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin:0 0 16px;
}
.osh-section-copy{
  max-width:760px;
  font-size:clamp(19px,2vw,30px);
  line-height:1.35;
  font-weight:650;
  color:rgba(30,30,30,.76);
}

.osh-logo-explorer{
  position:relative;
  min-height:100vh;
  display:grid;
  place-items:center;
  background:var(--osh-charcoal);
  color:var(--osh-white);
  overflow:hidden;
  padding:80px 28px;
}
.osh-logo-explorer:before{
  content:"";
  position:absolute;
  inset:-20%;
  background:
    radial-gradient(circle at 28% 38%, rgba(239,149,47,.24), transparent 22%),
    radial-gradient(circle at 80% 70%, rgba(27,64,110,.35), transparent 28%),
    radial-gradient(circle at 18% 88%, rgba(82,154,105,.22), transparent 22%);
  animation:oshAura 12s ease-in-out infinite alternate;
}
.osh-logo-stage{
  width:min(92vw,1200px);
  aspect-ratio:1200/675;
  position:relative;
  z-index:2;
}
.osh-logo-stage img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 34px 70px rgba(0,0,0,.45));
}
.osh-hotspot{
  position:absolute;
  border:0;
  background:rgba(239,149,47,.08);
  border:1px solid rgba(239,149,47,.14);
  border-radius:999px;
  cursor:pointer;
  transition:transform .22s var(--osh-motion), background .22s var(--osh-motion), border-color .22s var(--osh-motion);
}
.osh-hotspot:after{
  content:"";
  position:absolute;
  inset:12%;
  border-radius:inherit;
  border:2px solid rgba(239,149,47,.65);
  animation:oshPulse 2.1s ease-in-out infinite;
}
.osh-hotspot:hover,
.osh-hotspot:focus{
  transform:scale(1.08);
  background:rgba(239,149,47,.22);
  border-color:var(--osh-orange);
  outline:none;
}
.osh-logo-popup{
  position:absolute;
  z-index:5;
  width:min(440px,80vw);
  padding:26px;
  border-radius:28px;
  background:rgba(255,255,255,.96);
  color:var(--osh-charcoal);
  border:1px solid rgba(209,209,209,.8);
  box-shadow:0 30px 90px rgba(0,0,0,.35);
  opacity:0;
  transform:translateY(16px) scale(.96);
  pointer-events:none;
  transition:.22s var(--osh-motion);
  backdrop-filter:blur(18px);
}
.osh-logo-popup.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
.osh-logo-popup h3{
  margin:0 0 6px;
  font-size:32px;
  line-height:.9;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.osh-logo-popup strong{
  display:block;
  color:var(--osh-orange);
  font-size:14px;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.osh-logo-popup p{
  margin:0 0 18px;
  line-height:1.45;
  font-weight:550;
  color:rgba(30,30,30,.76);
}
.osh-popup-link{
  display:inline-flex;
  border-radius:999px;
  background:var(--osh-black);
  color:var(--osh-white);
  padding:10px 16px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  text-decoration:none;
}
.osh-logo-actions{
  position:absolute;
  z-index:3;
  bottom:34px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
}
.osh-logo-actions a,
.osh-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  border-radius:999px;
  padding:10px 16px;
  background:rgba(255,255,255,.08);
  color:var(--osh-white);
  border:1px solid rgba(255,255,255,.18);
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(14px);
  transition:.2s var(--osh-motion);
}
.osh-logo-actions a:hover,
.osh-pill:hover{
  background:var(--osh-orange);
  color:var(--osh-black);
  border-color:var(--osh-orange);
  transform:translateY(-3px);
}

.osh-timeline{
  position:relative;
  padding:40px 0 40px;
}
.osh-timeline:before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  bottom:40px;
  width:4px;
  background:linear-gradient(var(--osh-orange),var(--osh-blue),var(--osh-green));
  transform:translateX(-50%);
  border-radius:999px;
}
.osh-timeline:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:20px;
  width:0;height:0;
  border-left:16px solid transparent;
  border-right:16px solid transparent;
  border-top:26px solid var(--osh-green);
  transform:translateX(-50%);
}
.osh-timeline-item{
  position:relative;
  width:50%;
  padding:0 42px 54px;
}
.osh-timeline-item:nth-child(odd){left:0;text-align:right}
.osh-timeline-item:nth-child(even){left:50%;text-align:left}
.osh-timeline-card{
  background:var(--osh-white);
  border:1px solid var(--osh-line);
  border-radius:28px;
  padding:24px;
  box-shadow:0 18px 60px rgba(0,0,0,.07);
}
.osh-timeline-dot{
  position:absolute;
  top:24px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--osh-orange);
  border:5px solid var(--osh-white);
  box-shadow:0 0 0 4px var(--osh-charcoal);
}
.osh-timeline-item:nth-child(odd) .osh-timeline-dot{right:-11px}
.osh-timeline-item:nth-child(even) .osh-timeline-dot{left:-11px}
.osh-company-logo{
  max-width:110px;
  max-height:60px;
  object-fit:contain;
  margin-bottom:16px;
}
.osh-timeline-item:nth-child(odd) .osh-company-logo{margin-left:auto}
.osh-timeline-date{
  color:var(--osh-orange);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.osh-timeline-title{
  margin:6px 0 8px;
  font-size:26px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
}
.osh-timeline-role{
  margin:0;
  color:rgba(30,30,30,.68);
  font-weight:700;
}

.osh-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.osh-card{
  background:var(--osh-white);
  border:1px solid var(--osh-line);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 18px 60px rgba(0,0,0,.07);
  transition:transform .22s var(--osh-motion),box-shadow .22s var(--osh-motion);
}
.osh-card:hover{
  transform:translateY(-8px) rotate(-.3deg);
  box-shadow:0 30px 90px rgba(0,0,0,.15);
}
.osh-card-media{
  aspect-ratio:16/10;
  background:var(--osh-gray);
  overflow:hidden;
}
.osh-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.55s ease;
}
.osh-card:hover .osh-card-media img{
  transform:scale(1.07);
}
.osh-card-body{padding:24px}
.osh-card-title{
  margin:0 0 10px;
  font-size:28px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.osh-card-meta{
  margin:0 0 12px;
  color:var(--osh-orange);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:12px;
}
.osh-card-excerpt{
  color:rgba(30,30,30,.7);
  font-weight:550;
  line-height:1.45;
}
.osh-portfolio-wall{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:18px;
}
.osh-portfolio-wall .osh-card:nth-child(6n+1){grid-column:span 7}
.osh-portfolio-wall .osh-card:nth-child(6n+2){grid-column:span 5}
.osh-portfolio-wall .osh-card:nth-child(6n+3){grid-column:span 4}
.osh-portfolio-wall .osh-card:nth-child(6n+4){grid-column:span 4}
.osh-portfolio-wall .osh-card:nth-child(6n+5){grid-column:span 4}
.osh-portfolio-wall .osh-card:nth-child(6n+6){grid-column:span 12}

.osh-offerings{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.osh-offering{
  position:relative;
  min-height:320px;
  border-radius:32px;
  padding:28px;
  border:1px solid var(--osh-line);
  overflow:hidden;
  background:var(--osh-charcoal);
  color:var(--osh-white);
}
.osh-offering:nth-child(2){background:var(--osh-blue)}
.osh-offering:nth-child(3){background:var(--osh-green)}
.osh-offering:nth-child(4){background:var(--osh-black)}
.osh-offering h3{
  margin:0 0 14px;
  font-size:44px;
  line-height:.9;
  letter-spacing:-.05em;
  text-transform:uppercase;
}
.osh-offering p{max-width:640px;color:rgba(255,255,255,.78);font-weight:550}
.osh-offering ul{padding-left:20px;color:rgba(255,255,255,.8)}
.osh-offering li{margin-bottom:8px}
.osh-offering a{color:var(--osh-white)}
.osh-offering:after{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-80px;
  width:240px;
  height:240px;
  border-radius:50%;
  background:var(--osh-orange);
  opacity:.85;
}

.osh-contact-shell{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:36px;
  align-items:start;
}
.osh-contact-panel{
  background:var(--osh-charcoal);
  color:var(--osh-white);
  border-radius:36px;
  padding:32px;
  position:sticky;
  top:140px;
}
.osh-form{
  background:var(--osh-white);
  border:1px solid var(--osh-line);
  border-radius:36px;
  padding:32px;
  box-shadow:var(--osh-shadow);
}
.osh-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.osh-field{display:flex;flex-direction:column;gap:8px}
.osh-field.full{grid-column:1/-1}
.osh-field label{
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
}
.osh-field input,
.osh-field textarea,
.osh-field select{
  width:100%;
  border:2px solid rgba(30,30,30,.18);
  border-radius:18px;
  min-height:54px;
  padding:13px 14px;
  font-size:16px;
  font-weight:600;
  background:#fff;
  color:var(--osh-charcoal);
}
.osh-field textarea{min-height:150px;resize:vertical}
.osh-field input:focus,
.osh-field textarea:focus,
.osh-field select:focus{
  outline:none;
  border-color:var(--osh-orange);
  box-shadow:0 0 0 4px rgba(239,149,47,.16);
}
.osh-form button{
  border:0;
  border-radius:999px;
  background:var(--osh-orange);
  color:var(--osh-black);
  min-height:56px;
  padding:0 24px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  cursor:pointer;
}
.osh-form button:hover{filter:brightness(.97);transform:translateY(-2px)}
.osh-hidden{display:none!important}
.osh-success{
  border:1px solid var(--osh-green);
  background:rgba(82,154,105,.12);
  color:var(--osh-green);
  padding:14px 16px;
  border-radius:18px;
  font-weight:800;
  margin-bottom:18px;
}
.osh-error{
  border:1px solid var(--osh-red);
  background:rgba(239,63,47,.1);
  color:var(--osh-red);
  padding:14px 16px;
  border-radius:18px;
  font-weight:800;
  margin-bottom:18px;
}

.osh-reveal{
  opacity:0;
  transform:translateY(28px);
}
.osh-reveal.is-visible{
  animation:oshReveal .75s var(--osh-motion) forwards;
}
.osh-char{
  display:inline-block;
  transform:translateY(105%) rotate(5deg);
  animation:oshChar .72s var(--osh-motion) forwards;
  animation-delay:calc(var(--i,0) * 24ms);
}

@keyframes oshAura{0%{transform:scale(1) rotate(0)}100%{transform:scale(1.08) rotate(6deg)}}
@keyframes oshPulse{0%,100%{transform:scale(.85);opacity:.35}50%{transform:scale(1.1);opacity:1}}
@keyframes oshReveal{to{opacity:1;transform:translateY(0)}}
@keyframes oshChar{to{transform:translateY(0) rotate(0)}}

@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .osh-reveal{opacity:1;transform:none}
}
@media (max-width:900px){
  .osh-header{padding:14px}
  .osh-header-shell{border-radius:28px;min-height:auto}
  .hero-video-section{aspect-ratio:16/9;padding:40px 24px}
  .hero-overlay{background:rgba(17,17,17,.68)}
  .hero-title > span{font-size:clamp(38px,12vw,68px)}
  .hero-copy{font-size:18px}
  .hero-buttons{flex-direction:column;align-items:flex-start}
  .osh-section{padding:70px 22px}
  .osh-grid{grid-template-columns:1fr}
  .osh-portfolio-wall{grid-template-columns:1fr}
  .osh-portfolio-wall .osh-card{grid-column:span 1!important}
  .osh-offerings{grid-template-columns:1fr}
  .osh-contact-shell{grid-template-columns:1fr}
  .osh-contact-panel{position:relative;top:auto}
  .osh-form-grid{grid-template-columns:1fr}
  .osh-timeline:before,.osh-timeline:after{left:14px}
  .osh-timeline-item,
  .osh-timeline-item:nth-child(even),
  .osh-timeline-item:nth-child(odd){
    width:100%;
    left:0;
    text-align:left;
    padding-left:46px;
    padding-right:0;
  }
  .osh-timeline-item:nth-child(odd) .osh-timeline-dot,
  .osh-timeline-item:nth-child(even) .osh-timeline-dot{
    left:3px;
    right:auto;
  }
  .osh-timeline-item:nth-child(odd) .osh-company-logo{margin-left:0}
}


/* === v1.0.4.1 STABLE CONTROL PATCH === */
:root{
  --osh-page-bg:#D1D1D1;
  --osh-header-bottom-gap:0px;
  --osh-first-section-top:32px;
  --osh-section-top:96px;
  --osh-section-bottom:96px;

  --osh-hero-desktop-aspect:16 / 9;
  --osh-hero-desktop-padding-y:80px;
  --osh-hero-desktop-padding-x:7vw;
  --osh-hero-mobile-height:68svh;
  --osh-hero-mobile-padding-top:44px;
  --osh-hero-mobile-padding-x:24px;
  --osh-hero-mobile-padding-bottom:56px;
  --osh-hero-title-desktop:clamp(52px, 7vw, 122px);
  --osh-hero-title-mobile:clamp(34px, 10vw, 48px);
  --osh-hero-title-line-height:.86;
  --osh-hero-title-letter-spacing:-.07em;
  --osh-hero-copy-desktop:clamp(18px, 1.6vw, 26px);
  --osh-hero-copy-mobile:17px;
  --osh-hero-overlay-1:rgba(17,17,17,.72);
  --osh-hero-overlay-2:rgba(17,17,17,.45);
  --osh-hero-overlay-3:rgba(17,17,17,.08);
  --osh-hero-overlay-flat:rgba(17,17,17,.22);

  --osh-logo-explorer-height:100vh;
  --osh-logo-stage-width:min(92vw, 1200px);
  --osh-hotspot-opacity:.08;
  --osh-hotspot-border-opacity:.14;
  --osh-hotspot-pulse-display:block;
  --osh-logo-actions-display:flex;
  --osh-popup-width:min(440px, 80vw);
  --osh-popup-radius:28px;

  --osh-client-logo-columns:5;
  --osh-client-logo-box-width:150px;
  --osh-client-logo-box-height:82px;
  --osh-client-logo-card-height:140px;
  --osh-client-logo-image-fit:contain;

  --osh-timeline-line-color:#EF952F;
  --osh-timeline-line-color-2:#1B406E;
  --osh-timeline-line-color-3:#529A69;
  --osh-timeline-line-width:4px;
  --osh-timeline-dot-color:#EF952F;
  --osh-timeline-dot-border-color:#FFFFFF;
  --osh-timeline-dot-outer-color:#1E1E1E;
  --osh-timeline-start-color:#EF952F;
  --osh-timeline-end-color:#529A69;
  --osh-timeline-start-display:block;
  --osh-timeline-end-display:block;
  --osh-timeline-start-radius:999px;
}

body{
  background:var(--wp--style--color--background, var(--osh-page-bg))!important;
}
.wp-site-blocks{background:transparent}

.osh-header{margin-bottom:var(--osh-header-bottom-gap)!important}
.osh-header + .wp-block-group,
.osh-header + .osh-section,
.osh-header + main,
.wp-site-blocks > .wp-block-group:first-of-type:not(.osh-header),
.wp-site-blocks > .osh-section:first-of-type{
  margin-top:0!important;
  padding-top:var(--osh-first-section-top)!important;
}
.osh-section{
  padding-top:var(--osh-section-top);
  padding-bottom:var(--osh-section-bottom);
}

.hero-video-section{
  aspect-ratio:var(--osh-hero-desktop-aspect);
  padding:var(--osh-hero-desktop-padding-y) var(--osh-hero-desktop-padding-x);
}
.hero-overlay{
  background:
    linear-gradient(90deg,var(--osh-hero-overlay-1) 0%,var(--osh-hero-overlay-2) 42%,var(--osh-hero-overlay-3) 100%),
    linear-gradient(0deg,var(--osh-hero-overlay-flat),var(--osh-hero-overlay-flat))!important;
}
.hero-title > span{
  font-size:var(--osh-hero-title-desktop)!important;
  line-height:var(--osh-hero-title-line-height)!important;
  letter-spacing:var(--osh-hero-title-letter-spacing)!important;
}
.hero-title .osh-char{
  display:inline-block!important;
  font-size:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  font-weight:inherit!important;
  color:inherit!important;
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
}
.hero-copy{font-size:var(--osh-hero-copy-desktop)}

.osh-logo-explorer{min-height:var(--osh-logo-explorer-height)}
.osh-logo-stage{width:var(--osh-logo-stage-width)}
.osh-hotspot{
  background:rgba(239,149,47,var(--osh-hotspot-opacity))!important;
  border-color:rgba(239,149,47,var(--osh-hotspot-border-opacity))!important;
}
.osh-hotspot:after{display:var(--osh-hotspot-pulse-display)!important}
.osh-logo-actions{display:var(--osh-logo-actions-display)!important}
.osh-logo-popup{
  width:var(--osh-popup-width);
  border-radius:var(--osh-popup-radius);
}
body.osh-hide-logo-actions .osh-logo-actions,
.osh-logo-explorer.osh-hide-logo-actions .osh-logo-actions{display:none!important}
body.osh-hide-logo-highlights .osh-hotspot,
.osh-logo-explorer.osh-hide-logo-highlights .osh-hotspot{background:transparent!important;border-color:transparent!important}
body.osh-hide-logo-highlights .osh-hotspot:after,
.osh-logo-explorer.osh-hide-logo-highlights .osh-hotspot:after{display:none!important}
body.osh-hide-logo-explore-links .osh-popup-link,
.osh-logo-explorer.osh-hide-logo-explore-links .osh-popup-link{display:none!important}

.osh-timeline:before{
  width:var(--osh-timeline-line-width)!important;
  background:linear-gradient(var(--osh-timeline-line-color),var(--osh-timeline-line-color-2),var(--osh-timeline-line-color-3))!important;
}
.osh-timeline:after{
  display:var(--osh-timeline-end-display)!important;
  border-top-color:var(--osh-timeline-end-color)!important;
}
.osh-timeline-dot{
  background:var(--osh-timeline-dot-color)!important;
  border-color:var(--osh-timeline-dot-border-color)!important;
  box-shadow:0 0 0 4px var(--osh-timeline-dot-outer-color)!important;
}
.osh-timeline{padding-top:58px!important}
.osh-timeline .osh-timeline-item:first-child:before{
  content:"";
  position:absolute;
  z-index:2;
  top:-36px;
  width:26px;
  height:26px;
  border-radius:var(--osh-timeline-start-radius);
  background:var(--osh-timeline-start-color);
  display:var(--osh-timeline-start-display);
  box-shadow:0 0 0 5px var(--osh-white);
}
.osh-timeline .osh-timeline-item:nth-child(odd):first-child:before{right:-13px}
.osh-timeline .osh-timeline-item:nth-child(even):first-child:before{left:-13px}

.osh-client-logos-section{
  margin-top:56px;
  padding:42px 0 0;
  border-top:1px solid var(--osh-line);
}
.osh-client-logos-head{margin-bottom:26px}
.osh-client-logos-head h2{
  margin:0;
  font-size:clamp(32px,4vw,58px);
  line-height:.9;
  letter-spacing:-.045em;
  text-transform:uppercase;
  font-weight:900;
}
.osh-client-logos-grid{
  display:grid;
  grid-template-columns:repeat(var(--osh-client-logo-columns), minmax(0, 1fr))!important;
  gap:14px;
}
.osh-client-logo-card{
  min-height:var(--osh-client-logo-card-height)!important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:18px;
  border:1px solid var(--osh-line);
  border-radius:22px;
  background:var(--osh-white);
  color:var(--osh-charcoal);
  text-decoration:none;
  box-shadow:0 14px 40px rgba(0,0,0,.05);
}
.osh-client-logo-media{
  width:var(--osh-client-logo-box-width);
  height:var(--osh-client-logo-box-height);
  display:flex;
  align-items:center;
  justify-content:center;
}
.osh-client-logo-media img,
.osh-client-logo-card img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:var(--osh-client-logo-image-fit)!important;
  object-position:center!important;
}
.osh-client-logo-card span{
  font-weight:900;
  text-align:center;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.osh-client-logo-card small{color:rgba(30,30,30,.58);font-weight:700}

@media(max-width:1000px){
  .osh-client-logos-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:768px){
  .osh-header + .wp-block-group,
  .osh-header + .osh-section,
  .osh-header + main,
  .wp-site-blocks > .wp-block-group:first-of-type:not(.osh-header),
  .wp-site-blocks > .osh-section:first-of-type{
    padding-top:calc(var(--osh-first-section-top) * .75)!important;
  }
  .hero-video-section{
    width:100%;
    aspect-ratio:auto;
    min-height:var(--osh-hero-mobile-height);
    padding:var(--osh-hero-mobile-padding-top) var(--osh-hero-mobile-padding-x) var(--osh-hero-mobile-padding-bottom);
    align-items:center;
    overflow:hidden;
  }
  .hero-video{position:absolute;inset:0;width:100%;height:100%;transform:none}
  .hero-content{max-width:calc(100vw - (var(--osh-hero-mobile-padding-x) * 2));width:100%;margin:0}
  .hero-kicker{display:none}
  .hero-title{max-width:100%}
  .hero-title > span{
    font-size:var(--osh-hero-title-mobile)!important;
    line-height:.92!important;
    letter-spacing:-.055em!important;
    max-width:100%;
    white-space:normal;
  }
  .hero-copy{margin-top:18px;max-width:320px;font-size:var(--osh-hero-copy-mobile);line-height:1.3}
  .hero-buttons{margin-top:24px;gap:10px;flex-direction:row;align-items:center}
  .hero-btn{padding:12px 16px;font-size:11px;letter-spacing:.06em}
  .hero-btn:hover{transform:none;box-shadow:none}
}
@media(max-width:640px){
  .osh-client-logos-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* v1.0.4.2 Client Logos visibility fix */
.osh-client-logos-section{
  display:block!important;
  visibility:visible!important;
}
.osh-client-logos-grid{
  display:grid!important;
}
.osh-client-logo-card{
  visibility:visible!important;
}


/* === v1.0.4.3 CLIENT LOGOS SAFE-FRAME FIX === */
:root{
  --osh-client-logo-columns:5;
  --osh-client-logo-card-height:170px;
  --osh-client-logo-box-width:100%;
  --osh-client-logo-box-height:100%;
  --osh-client-logo-safe-padding:24px;
  --osh-client-logo-card-radius:26px;
  --osh-client-logo-image-fit:contain;
}

.osh-client-logos-grid{
  display:grid!important;
  grid-template-columns:repeat(var(--osh-client-logo-columns), minmax(0, 1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
}

.osh-client-logo-card{
  position:relative!important;
  min-height:var(--osh-client-logo-card-height)!important;
  aspect-ratio:1 / 1!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  border:1px solid rgba(30,30,30,.08)!important;
  border-radius:var(--osh-client-logo-card-radius)!important;
  background:#FFFFFF!important;
  overflow:hidden!important;
  box-shadow:0 20px 55px rgba(0,0,0,.08)!important;
  text-decoration:none!important;
}

.osh-client-logo-media{
  position:absolute!important;
  inset:var(--osh-client-logo-safe-padding)!important;
  width:auto!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}

.osh-client-logo-media img,
.osh-client-logo-card img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:var(--osh-client-logo-image-fit)!important;
  object-position:center!important;
  transform:none!important;
}

.osh-client-logo-card > span,
.osh-client-logo-card > small{
  display:none!important;
}

body.osh-show-client-logo-names .osh-client-logo-card{
  padding-bottom:34px!important;
}

body.osh-show-client-logo-names .osh-client-logo-card > span{
  display:block!important;
  position:absolute!important;
  left:12px!important;
  right:12px!important;
  bottom:18px!important;
  text-align:center!important;
  font-size:11px!important;
  line-height:1.1!important;
  font-weight:900!important;
  color:rgba(30,30,30,.72)!important;
}

body.osh-show-client-logo-sector .osh-client-logo-card{
  padding-bottom:48px!important;
}

body.osh-show-client-logo-sector .osh-client-logo-card > small{
  display:block!important;
  position:absolute!important;
  left:12px!important;
  right:12px!important;
  bottom:10px!important;
  text-align:center!important;
  font-size:10px!important;
  line-height:1.1!important;
  color:rgba(30,30,30,.48)!important;
}

@media(max-width:1100px){
  .osh-client-logos-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr))!important;
  }
}

@media(max-width:640px){
  .osh-client-logos-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
    gap:14px!important;
  }

  .osh-client-logo-card{
    min-height:140px!important;
  }

  .osh-client-logo-media{
    inset:18px!important;
  }
}


/* === v1.0.4.4 CLIENT LOGOS BACKGROUND + HOVER COLOR FIX === */
:root{
  --osh-client-logo-card-background:transparent;
  --osh-client-logo-card-border:transparent;
  --osh-client-logo-card-shadow:none;
  --osh-client-logo-default-filter:grayscale(1) brightness(2.2) contrast(.85);
  --osh-client-logo-hover-filter:none;
  --osh-client-logo-default-opacity:.88;
  --osh-client-logo-hover-opacity:1;
}

.osh-client-logo-card{
  background:var(--osh-client-logo-card-background)!important;
  border-color:var(--osh-client-logo-card-border)!important;
  box-shadow:var(--osh-client-logo-card-shadow)!important;
}

.osh-client-logo-card:hover{
  background:var(--osh-client-logo-card-background)!important;
  border-color:var(--osh-client-logo-card-border)!important;
  box-shadow:var(--osh-client-logo-card-shadow)!important;
  transform:translateY(-3px)!important;
}

.osh-client-logo-media img,
.osh-client-logo-card img{
  filter:var(--osh-client-logo-default-filter)!important;
  opacity:var(--osh-client-logo-default-opacity)!important;
  transition:filter .25s ease, opacity .25s ease, transform .25s ease!important;
}

.osh-client-logo-card:hover .osh-client-logo-media img,
.osh-client-logo-card:hover img{
  filter:var(--osh-client-logo-hover-filter)!important;
  opacity:var(--osh-client-logo-hover-opacity)!important;
  transform:scale(1.04)!important;
}

/* === v1.0.5 FUNCTIONAL FIXES: spacing, mobile nav, timeline cards, portfolio embeds === */
:root{
  --osh-section-side-padding:28px;
  --osh-section-inner-width:1240px;
  --osh-section-content-gap:34px;
  --osh-block-gap:24px;
  --osh-card-gap:22px;
  --osh-columns-gap:24px;
  --osh-page-template-top:90px;
  --osh-page-template-bottom:120px;
  --osh-footer-top:70px;
  --osh-footer-bottom:90px;

  --osh-timeline-card-background:#FFFFFF;
  --osh-timeline-card-border-color:rgba(30,30,30,.14);
  --osh-timeline-card-border-width:1px;
  --osh-timeline-card-radius:28px;
  --osh-timeline-card-padding:24px;
  --osh-timeline-card-shadow:0 18px 60px rgba(0,0,0,.07);
  --osh-timeline-card-min-height:auto;
  --osh-timeline-card-max-width:100%;
  --osh-timeline-date-color:#EF952F;
  --osh-timeline-title-color:#1E1E1E;
  --osh-timeline-title-size:26px;
  --osh-timeline-role-color:rgba(30,30,30,.68);
  --osh-timeline-text-color:rgba(30,30,30,.70);
  --osh-timeline-logo-width:110px;
  --osh-timeline-logo-height:60px;
}

.osh-section{
  padding-left:var(--osh-section-side-padding)!important;
  padding-right:var(--osh-section-side-padding)!important;
}
.osh-section-inner{max-width:var(--osh-section-inner-width)!important;margin-left:auto!important;margin-right:auto!important}
.osh-section-copy{margin-bottom:var(--osh-section-content-gap)}
.wp-site-blocks{gap:var(--osh-block-gap)}
.osh-grid,.osh-portfolio-wall,.osh-offerings,.osh-client-logos-grid{gap:var(--osh-card-gap)!important}
.wp-block-columns{gap:var(--osh-columns-gap)!important}
.wp-site-blocks > .wp-block-group:not(.osh-header):not(.osh-section):not(.has-osh-black-background-color){padding-top:var(--osh-page-template-top)!important;padding-bottom:var(--osh-page-template-bottom)!important}
footer.wp-block-group, .wp-site-blocks > footer.wp-block-group{padding-top:var(--osh-footer-top)!important;padding-bottom:var(--osh-footer-bottom)!important}

.osh-timeline-card{
  width:100%;
  max-width:var(--osh-timeline-card-max-width)!important;
  min-height:var(--osh-timeline-card-min-height)!important;
  background:var(--osh-timeline-card-background)!important;
  border-color:var(--osh-timeline-card-border-color)!important;
  border-width:var(--osh-timeline-card-border-width)!important;
  border-style:solid!important;
  border-radius:var(--osh-timeline-card-radius)!important;
  padding:var(--osh-timeline-card-padding)!important;
  box-shadow:var(--osh-timeline-card-shadow)!important;
}
.osh-timeline-date{color:var(--osh-timeline-date-color)!important}
.osh-timeline-title{color:var(--osh-timeline-title-color)!important;font-size:var(--osh-timeline-title-size)!important}
.osh-timeline-role{color:var(--osh-timeline-role-color)!important}
.osh-timeline .osh-card-excerpt{color:var(--osh-timeline-text-color)!important}
.osh-company-logo{max-width:var(--osh-timeline-logo-width)!important;max-height:var(--osh-timeline-logo-height)!important}

.osh-portfolio-media-block{margin:34px 0 42px}
.osh-video-embed{position:relative;overflow:hidden;border-radius:32px;background:#111;aspect-ratio:16/9;box-shadow:0 24px 80px rgba(0,0,0,.18)}
.osh-video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.osh-portfolio-video-link{margin:14px 0 0;font-weight:900;text-transform:uppercase;letter-spacing:.07em;font-size:12px}
.osh-portfolio-video-link a{color:var(--osh-charcoal)}
.osh-portfolio-external-link{display:block;position:relative;overflow:hidden;border-radius:32px;background:#111;color:#fff;text-decoration:none;box-shadow:0 24px 80px rgba(0,0,0,.18)}
.osh-portfolio-external-link img,.osh-portfolio-cover-only{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:32px}
.osh-portfolio-external-link span{position:absolute;left:24px;bottom:24px;display:inline-flex;border-radius:999px;background:var(--osh-orange);color:#111;padding:12px 18px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.osh-card.has-video .osh-card-media{position:relative}
.osh-card.has-video .osh-card-media:after{content:"▶";position:absolute;right:18px;bottom:18px;width:52px;height:52px;border-radius:999px;display:grid;place-items:center;background:var(--osh-orange);color:#111;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.22)}

/* === v1.0.6 NAVIGATION REPAIR: desktop restored + mobile true full-screen === */
.osh-header{
  isolation:isolate;
  z-index:1000;
}
.osh-header-shell{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
  overflow:visible!important;
  gap:18px!important;
}
.osh-header-shell .wp-block-site-logo{
  flex:0 0 auto!important;
  max-width:60%!important;
}
.osh-header-shell .wp-block-navigation{
  flex:1 1 auto!important;
  min-width:0!important;
}
.osh-header-shell .wp-block-navigation__responsive-container-close{
  display:none!important;
}

@media (min-width:769px){
  .osh-header{
    padding:18px 28px!important;
  }
  .admin-bar .osh-header{
    top:32px!important;
  }
  .osh-header-shell{
    min-height:86px!important;
    border-radius:999px!important;
    padding-top:12px!important;
    padding-right:24px!important;
    padding-bottom:12px!important;
    padding-left:24px!important;
    flex-wrap:nowrap!important;
  }
  .osh-header-shell .wp-block-site-logo img{
    max-height:62px!important;
    max-width:190px!important;
  }
  .osh-header-shell .wp-block-navigation{
    display:flex!important;
    justify-content:flex-end!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container-open,
  .osh-header-shell .wp-block-navigation__responsive-container-close{
    display:none!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container:not(.is-menu-open){
    display:flex!important;
    position:relative!important;
    inset:auto!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    color:inherit!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-content{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:100%!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:auto!important;
    gap:28px!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item{
    width:auto!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container:not(.is-menu-open) a{
    display:inline-flex!important;
    width:auto!important;
    padding:0!important;
    background:transparent!important;
    border-radius:0!important;
    font-size:inherit!important;
    line-height:inherit!important;
    color:var(--osh-white)!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container{
    position:absolute!important;
    top:100%!important;
    left:0!important;
    width:max-content!important;
    min-width:220px!important;
    margin:0!important;
    padding:10px!important;
    background:rgba(0,0,0,.96)!important;
    border:1px solid rgba(239,149,47,.45)!important;
    border-radius:24px!important;
    box-shadow:0 30px 80px rgba(0,0,0,.35)!important;
    overflow:hidden!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container a{
    display:flex!important;
    width:100%!important;
    padding:12px 14px!important;
    border-radius:14px!important;
  }
}

@media (max-width:768px){
  html.has-modal-open,
  body.has-modal-open{
    overflow:hidden!important;
  }
  .osh-header{
    padding:12px!important;
    z-index:100000!important;
  }
  .admin-bar .osh-header{
    top:0!important;
  }
  .osh-header-shell{
    min-height:70px!important;
    border-radius:999px!important;
    padding:10px 14px!important;
    flex-wrap:nowrap!important;
  }
  .osh-header-shell .wp-block-site-logo img{
    max-height:46px!important;
    max-width:190px!important;
  }
  .osh-header-shell .wp-block-navigation{
    flex:0 0 auto!important;
    min-width:auto!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container-open{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:46px!important;
    height:46px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.2)!important;
    padding:0!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container-open svg{
    fill:currentColor!important;
    stroke:currentColor!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container:not(.is-menu-open){
    display:none!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container.is-menu-open{
    position:fixed!important;
    inset:0!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    z-index:999999!important;
    width:100vw!important;
    max-width:none!important;
    height:100vh!important;
    height:100dvh!important;
    margin:0!important;
    padding:92px 24px 32px!important;
    background:#000!important;
    color:#fff!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  .admin-bar .osh-header-shell .wp-block-navigation__responsive-container.is-menu-open{
    top:0!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
  .osh-header-shell .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    display:flex!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    width:100%!important;
    padding:0!important;
    margin:0!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    width:100%!important;
    gap:12px!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
    width:100%!important;
    align-items:stretch!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container.is-menu-open a{
    display:flex!important;
    width:100%!important;
    min-height:58px!important;
    align-items:center!important;
    justify-content:space-between!important;
    border-radius:20px!important;
    padding:17px 20px!important;
    background:rgba(255,255,255,.06)!important;
    color:#fff!important;
    font-size:clamp(20px,7vw,34px)!important;
    line-height:1!important;
    letter-spacing:.04em!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{
    position:static!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:8px 0 0!important;
    padding:8px!important;
    background:rgba(255,255,255,.06)!important;
    border:1px solid rgba(255,255,255,.1)!important;
    border-radius:20px!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a{
    font-size:clamp(16px,5vw,24px)!important;
    min-height:48px!important;
    padding:14px 16px!important;
    background:transparent!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{
    display:flex!important;
    position:fixed!important;
    top:18px!important;
    right:18px!important;
    z-index:1000000!important;
    width:54px!important;
    height:54px!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.12)!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.18)!important;
    padding:0!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg{
    display:none!important;
  }
  .osh-header-shell .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:before{
    content:"×";
    display:block;
    font-size:42px;
    line-height:1;
    font-weight:400;
    transform:translateY(-2px);
  }
  .wp-site-blocks > .wp-block-group:not(.osh-header):not(.osh-section):not(.has-osh-black-background-color){
    padding-top:calc(var(--osh-page-template-top) * .7)!important;
    padding-bottom:calc(var(--osh-page-template-bottom) * .75)!important;
  }
  .osh-section-inner > .osh-client-logos-section:first-child{
    margin-top:0!important;
    padding-top:0!important;
    border-top:0!important;
    margin-bottom:56px!important;
  }
}

@media(max-width:420px){
  .osh-header-shell .wp-block-site-logo img{max-width:150px!important}
  .hero-title > span{font-size:clamp(30px,9.2vw,42px)!important;letter-spacing:-.06em!important}
  .hero-copy{max-width:290px!important;font-size:15px!important}
  .hero-btn{padding:11px 13px!important;font-size:10px!important}
}
.osh-section-inner > .osh-client-logos-section:first-child{margin-top:0!important;padding-top:0!important;border-top:0!important;margin-bottom:56px!important}
body{background:var(--osh-page-bg)!important}

/* === v1.0.7 PORTFOLIO FILTERS + INLINE VIDEO PLAYBACK === */
.osh-portfolio-controls{
  margin:34px 0 28px;
  padding:20px;
  border-radius:28px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(30,30,30,.12);
  box-shadow:0 18px 60px rgba(0,0,0,.06);
  backdrop-filter:blur(12px);
}
.osh-portfolio-filter-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.osh-portfolio-control{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.osh-portfolio-control span{
  color:var(--osh-charcoal);
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  line-height:1;
  text-transform:uppercase;
}
.osh-portfolio-control select{
  width:100%;
  min-height:48px;
  border:1px solid rgba(30,30,30,.14);
  border-radius:18px;
  background:#fff;
  color:var(--osh-charcoal);
  padding:0 14px;
  font-weight:800;
  outline:none;
}
.osh-portfolio-control select:focus{
  border-color:var(--osh-orange);
  box-shadow:0 0 0 3px rgba(239,149,47,.18);
}
.osh-portfolio-filter-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.osh-portfolio-filter-actions button,
.osh-portfolio-filter-actions a,
.osh-card-actions button,
.osh-card-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  border-radius:999px;
  padding:10px 16px;
  border:1px solid rgba(30,30,30,.16);
  background:var(--osh-charcoal);
  color:#fff;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .2s var(--osh-motion), background .2s var(--osh-motion), color .2s var(--osh-motion), border-color .2s var(--osh-motion);
}
.osh-portfolio-filter-actions a,
.osh-card-actions a{
  background:transparent;
  color:var(--osh-charcoal);
}
.osh-portfolio-filter-actions button:hover,
.osh-portfolio-filter-actions a:hover,
.osh-card-actions button:hover,
.osh-card-actions a:hover{
  transform:translateY(-2px);
  background:var(--osh-orange);
  color:var(--osh-black);
  border-color:var(--osh-orange);
}
.osh-card-media.osh-portfolio-play{
  display:block;
  width:100%;
  padding:0;
  border:0;
  border-radius:0;
  text-align:left;
  cursor:pointer;
}
.osh-card-media.osh-portfolio-play img{
  display:block;
}
.osh-card.has-video .osh-card-media:after{
  content:"▶";
  position:absolute;
  right:18px;
  bottom:18px;
  z-index:2;
  width:52px;
  height:52px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--osh-orange);
  color:#111;
  font-weight:900;
  box-shadow:0 10px 30px rgba(0,0,0,.22);
}
.osh-play-label{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:38px;
  border-radius:999px;
  padding:9px 13px;
  background:rgba(0,0,0,.72);
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
  backdrop-filter:blur(12px);
}
.osh-card-title a{
  color:inherit;
  text-decoration:none;
}
.osh-card-title a:hover{
  color:var(--osh-orange);
}
.osh-card-production-house{
  margin:0 0 10px;
  color:rgba(30,30,30,.66);
  font-size:13px;
  font-weight:800;
  letter-spacing:.02em;
}
.osh-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.osh-inline-play{
  font-family:var(--osh-font);
}
.osh-portfolio-empty{
  grid-column:1/-1;
  margin:0;
  padding:26px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(30,30,30,.12);
  font-weight:800;
}
.osh-portfolio-modal{
  position:fixed;
  inset:0;
  z-index:1000001;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.osh-portfolio-modal.is-visible{
  display:flex;
}
body.osh-portfolio-modal-open{
  overflow:hidden;
}
.osh-portfolio-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.82);
  backdrop-filter:blur(8px);
}
.osh-portfolio-modal-dialog{
  position:relative;
  z-index:1;
  width:min(1120px, 94vw);
  aspect-ratio:16/9;
  border-radius:32px;
  background:#000;
  box-shadow:0 30px 90px rgba(0,0,0,.45);
  overflow:hidden;
}
.osh-portfolio-modal-dialog iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.osh-portfolio-modal-close{
  position:absolute;
  top:14px;
  right:14px;
  z-index:2;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  background:rgba(0,0,0,.64);
  color:#fff;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 0 4px;
}
.osh-portfolio-modal-close:hover{
  background:var(--osh-orange);
  color:#111;
}
@media(max-width:1100px){
  .osh-portfolio-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .osh-portfolio-controls{padding:16px;border-radius:24px}
  .osh-portfolio-filter-grid{grid-template-columns:1fr}
  .osh-play-label{display:none}
  .osh-portfolio-modal{padding:12px}
  .osh-portfolio-modal-dialog{width:100%;border-radius:20px}
  .osh-portfolio-modal-close{top:10px;right:10px;width:42px;height:42px;font-size:30px}
}

.osh-portfolio-details{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:28px 0 34px;
}
.osh-portfolio-details div{
  padding:16px 18px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(30,30,30,.12);
}
.osh-portfolio-details dt{
  margin:0 0 6px;
  color:var(--osh-orange);
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  line-height:1;
  text-transform:uppercase;
}
.osh-portfolio-details dd{
  margin:0;
  color:var(--osh-charcoal);
  font-size:18px;
  font-weight:900;
  line-height:1.1;
}
@media(max-width:760px){
  .osh-portfolio-details{grid-template-columns:1fr}
}


/* === v1.0.9 PORTFOLIO INLINE SORT/FILTER BAR === */
.osh-portfolio-compact-controls{
  margin:18px 0 34px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:12px!important;
}
.osh-portfolio-toolbar{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
}
.osh-portfolio-compact-controls .osh-portfolio-control{
  min-width:auto!important;
  width:auto!important;
  display:block!important;
}
.osh-portfolio-compact-controls .osh-portfolio-control span{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.osh-portfolio-compact-controls .osh-portfolio-control select{
  width:auto!important;
  min-width:150px!important;
  max-width:260px!important;
  min-height:48px!important;
  border-radius:999px!important;
  padding:0 42px 0 18px!important;
  border:1px solid rgba(30,30,30,.22)!important;
  background:#fff!important;
  color:var(--osh-charcoal)!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
}
.osh-portfolio-compact-controls .osh-portfolio-filter-value-control select{
  min-width:190px!important;
}
.osh-portfolio-compact-controls .osh-portfolio-control select:disabled{
  opacity:.48!important;
  cursor:not-allowed!important;
}
.osh-portfolio-compact-controls .osh-portfolio-control select:focus{
  border-color:var(--osh-orange)!important;
  box-shadow:0 0 0 4px rgba(239,149,47,.16)!important;
}
.osh-portfolio-compact-controls .osh-portfolio-filter-actions{
  margin:0!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
}
.osh-portfolio-compact-controls .osh-portfolio-filter-actions button,
.osh-portfolio-compact-controls .osh-portfolio-filter-actions a{
  min-height:48px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  font-size:11px!important;
  letter-spacing:.06em!important;
}
.osh-portfolio-compact-controls .osh-portfolio-filter-actions button{
  background:var(--osh-charcoal)!important;
  color:#fff!important;
}
.osh-portfolio-compact-controls .osh-portfolio-filter-actions a{
  background:transparent!important;
  color:var(--osh-charcoal)!important;
}
.osh-portfolio-compact-controls .osh-portfolio-filter-actions button:hover,
.osh-portfolio-compact-controls .osh-portfolio-filter-actions a:hover{
  background:var(--osh-orange)!important;
  color:var(--osh-black)!important;
  border-color:var(--osh-orange)!important;
}
@media(max-width:900px){
  .osh-portfolio-compact-controls{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    padding-bottom:4px!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .osh-portfolio-toolbar{
    flex-wrap:nowrap!important;
  }
  .osh-portfolio-compact-controls .osh-portfolio-control select{
    min-width:160px!important;
  }
  .osh-portfolio-compact-controls .osh-portfolio-filter-value-control select{
    min-width:200px!important;
  }
  .osh-portfolio-compact-controls .osh-portfolio-filter-actions{
    flex:0 0 auto!important;
  }
}
