/*
  AIGA Orange County design system v3 (shared by the prototype and the WordPress plugin)
  THESIS: a poster wall for Orange County's creative community. Full-bleed warm film photography
          alternates with flat orange, black and white type posters.
  TYPE:   Archivo condensed for display, navigation, buttons and labels. Newsreader for reading.
          No extended widths anywhere.
  GRID:   8pt soft grid. Every space, size and line height lands on a multiple of 8 (4 for hairline detail).
  FORM:   square corners, 1.5px rules, one accent (orange).
  Markup mirrors Elementor (e-con containers, elementor-widget wrappers) so one stylesheet serves both.
*/
:root{
  /* color */
  --orange:#FFA300;
  --orange-deep:#CC8200;
  --black:#16120F;
  --white:#FFFFFF;
  --stone:#5E5852;
  --ash:#ABA49E;
  --rule-light:#E5E0DA;
  --rule-dark:#2E2925;
  --fill-start:#D3CCC5;
  --label-bg:#CFE9FF;
  --label-fg:#0A3A5E;
  --nav-scrim:rgba(22,18,15,.85);

  /* type families */
  --font-sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --font-serif:"Newsreader","Iowan Old Style","Times New Roman",Georgia,serif;
  --cond-display:62%;
  --cond-ui:72%;

  /* 8pt spacing scale */
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:40px; --s6:48px; --s7:56px; --s8:64px; --s10:80px; --s12:96px; --s16:128px; --s20:160px;

  /* type scale (display sizes are fluid, body sizes fixed to the grid) */
  --fs-mega:clamp(3.5rem,9vw,10rem);
  --fs-xl:clamp(2.75rem,6.4vw,7rem);
  --fs-l:clamp(2rem,4.2vw,4rem);
  --fs-m:clamp(1.5rem,2.2vw,2rem);
  --fs-s:1.25rem;
  --fs-statement:clamp(1.75rem,3.4vw,3rem);
  --fs-lead:clamp(1.125rem,1.4vw,1.3125rem);
  --fs-body:1.0625rem;
  --fs-small:.9375rem;
  --fs-ui:.875rem;
  --fs-label:.8125rem;

  /* layout */
  --gutter:16px;
  --frame:1440px;
  --band:var(--s10);
  --header-h:72px;
  --btn-h:48px;
  --btn-h-sm:40px;
  --rule:1.5px;

  /* motion */
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-inout:cubic-bezier(.65,0,.35,1);
  --dur-fast:.25s;
  --dur:.6s;
  --dur-reveal:1s;
  color-scheme:light;
}
@media (min-width:768px){:root{--gutter:32px;--band:var(--s12)}}
@media (min-width:1200px){:root{--gutter:64px;--band:var(--s16)}}

/* ---------- base ---------- */
.oc-site{background:var(--white);color:var(--black);font-family:var(--font-serif);font-size:var(--fs-body);font-weight:500;line-height:1.55;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variation-settings:'opsz' 16}
.oc-site *,.oc-site *::before,.oc-site *::after{box-sizing:border-box}
.oc-site img,.oc-site video{max-width:100%;display:block}
.oc-site a{color:inherit}
.oc-site :focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.oc-site .elementor-widget{margin:0}
.oc-site .elementor-widget-container{padding:0;margin:0}
.oc-site .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;position:relative;min-width:0}
.oc-site .elementor-heading-title{font-family:var(--font-sans);color:inherit;margin:0;text-wrap:balance}
.oc-site .elementor-widget-text-editor{color:inherit;font-family:var(--font-serif)}
.oc-site .elementor-widget-text-editor p{margin:0 0 var(--s2);max-width:62ch}
.oc-site .elementor-widget-text-editor p:last-child{margin-bottom:0}
.oc-site .elementor-widget-text-editor ul,.oc-site .elementor-widget-text-editor ol{margin:0;padding-left:var(--s3)}

/* ---------- frame + bands ---------- */
.oc-site .e-con.oc-band{width:100%;padding-block:var(--band);padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px));display:block}
.oc-site .e-con.oc-band--tight{padding-block:var(--s8)}
.oc-site .e-con.oc-frame{max-width:var(--frame);margin-inline:auto;width:100%;display:block}
.oc-site .is-black{background:var(--black);color:var(--white)}
.oc-site .is-orange{background:var(--orange);color:var(--black)}
.oc-site .is-white{background:var(--white);color:var(--black)}
.oc-site .is-mist{background:#F4F2EF;color:var(--black)}
.oc-site .e-con.oc-stackv{display:flex;flex-direction:column;gap:var(--s3)}
.oc-site .e-con.oc-stackv--lg{gap:var(--s5)}
.oc-site .e-con.oc-row{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}
.oc-site .e-con.oc-grid2{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s5) var(--s4);align-items:start}
.oc-site .e-con.oc-grid2 > .oc-span4{grid-column:span 4}
.oc-site .e-con.oc-grid2 > .oc-span5{grid-column:span 5}
.oc-site .e-con.oc-grid2 > .oc-span6{grid-column:span 6}
.oc-site .e-con.oc-grid2 > .oc-span7{grid-column:span 7}
.oc-site .e-con.oc-grid2 > .oc-span8{grid-column:span 8}
.oc-site .e-con.oc-grid2 > .oc-push1.oc-span4{grid-column:9 / span 4}
.oc-site .e-con.oc-grid2 > .oc-push1.oc-span5{grid-column:8 / span 5}
.oc-site .e-con.oc-grid2 > .oc-push1.oc-span6{grid-column:7 / span 6}
.oc-site .e-con.oc-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.oc-site .e-con.oc-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}
@media (max-width:1024px){.oc-site .e-con.oc-grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .oc-site .e-con.oc-grid2{grid-template-columns:minmax(0,1fr)}
  .oc-site .e-con.oc-grid2 > *{grid-column:auto!important}
  .oc-site .e-con.oc-grid3{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){.oc-site .e-con.oc-grid4{grid-template-columns:minmax(0,1fr)}}

/* ---------- type ---------- */
.oc-site .t-mega .elementor-heading-title{font-size:var(--fs-mega);font-stretch:var(--cond-display);font-weight:800;text-transform:uppercase;line-height:.88;letter-spacing:-.005em}
.oc-site .t-xl .elementor-heading-title{font-size:var(--fs-xl);font-stretch:var(--cond-display);font-weight:800;text-transform:uppercase;line-height:.9;letter-spacing:-.005em}
.oc-site .t-l .elementor-heading-title{font-size:var(--fs-l);font-stretch:var(--cond-display);font-weight:800;text-transform:uppercase;line-height:.95}
.oc-site .t-m .elementor-heading-title{font-size:var(--fs-m);font-stretch:68%;font-weight:750;line-height:1.05;text-transform:uppercase}
.oc-site .t-s .elementor-heading-title{font-size:var(--fs-s);font-stretch:var(--cond-ui);font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.01em}
.oc-site .t-lead{font-size:var(--fs-lead);line-height:1.45;font-weight:500;letter-spacing:-.012em;font-variation-settings:'opsz' 24}
.oc-site .t-lead p{max-width:46ch}
.oc-site .t-statement .elementor-heading-title,.oc-site .t-statement p{font-family:var(--font-serif);font-weight:500;font-variation-settings:'opsz' 72;font-size:var(--fs-statement);line-height:1.12;letter-spacing:-.022em;text-transform:none;max-width:22ch}
.oc-site .t-muted{color:var(--stone)}
.oc-site .is-black .t-muted{color:var(--ash)}
.oc-site .t-small{font-size:var(--fs-small)}
.oc-site .t-kicker .elementor-heading-title,.oc-site .t-kicker p{font-family:var(--font-sans);font-size:var(--fs-label);font-stretch:var(--cond-ui);font-weight:700;text-transform:uppercase;letter-spacing:.06em;line-height:1.25}

/* draft and placeholder labels: light blue, all caps (Michael's standing rule) */
.oc-site .oc-label{align-self:flex-start;width:fit-content}
.oc-site .elementor-widget.oc-label p{display:inline-block;background:var(--label-bg);color:var(--label-fg);font-family:var(--font-sans);font-size:.75rem;font-stretch:var(--cond-ui);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:var(--s1) 12px;line-height:1;margin:0;max-width:none}
.oc-site .oc-lorem p{opacity:.8}

/* ---------- buttons: one component, two sizes, three styles ---------- */
.oc-site .oc-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--s1);height:var(--btn-h);padding:0 var(--s4);min-width:var(--s20);background:var(--orange);color:var(--black);font-family:var(--font-sans);font-size:var(--fs-ui);font-stretch:var(--cond-ui);font-weight:700;text-transform:uppercase;letter-spacing:.06em;line-height:1;border:var(--rule) solid var(--orange);border-radius:0;text-decoration:none;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}
.oc-site .oc-btn .elementor-button:hover{background:var(--black);border-color:var(--black);color:var(--white)}
.oc-site .is-black .oc-btn .elementor-button:hover,.oc-site .oc-onimage .oc-btn .elementor-button:hover{background:var(--white);border-color:var(--white);color:var(--black)}
.oc-site .oc-btn--line .elementor-button{background:transparent;color:currentColor;border-color:currentColor;border-width:1px}
.oc-site .oc-btn--line .elementor-button:hover{background:var(--black);color:var(--white);border-color:var(--black)}
.oc-site .is-black .oc-btn--line .elementor-button:hover,.oc-site .oc-onimage .oc-btn--line .elementor-button:hover{background:var(--white);color:var(--black);border-color:var(--white)}
.oc-site .is-orange .oc-btn .elementor-button{background:var(--black);border-color:var(--black);color:var(--white)}
.oc-site .is-orange .oc-btn .elementor-button:hover{background:var(--white);border-color:var(--white);color:var(--black)}
.oc-site .is-orange .oc-btn--line .elementor-button{background:transparent;color:var(--black);border-color:var(--black);border-width:1px}
.oc-site .oc-btn--sm .elementor-button{height:var(--btn-h-sm);padding:0 var(--s3);min-width:0}
.oc-site .oc-btn--text .elementor-button{height:auto;min-width:0;background:none;border:0;padding:var(--s1) 0 6px;color:currentColor;border-bottom:var(--rule) solid var(--orange)}
.oc-site .oc-btn--text .elementor-button:hover{background:none;color:currentColor;border-color:currentColor}
.oc-site .is-orange .oc-btn--text .elementor-button{border-color:var(--black)}
.oc-site .oc-btn.is-disabled .elementor-button{background:transparent;color:var(--ash);border-color:var(--ash);cursor:not-allowed}

/* ---------- images ---------- */
.oc-site .oc-img{position:relative;overflow:hidden;background:#1a1816}
.oc-site .oc-img img{width:100%;height:100%;object-fit:cover}
.oc-site .ar-land img{aspect-ratio:3/2}
.oc-site .ar-port img{aspect-ratio:4/5}
.oc-site .ar-wide img{aspect-ratio:16/9}
.oc-site .ar-sq img{aspect-ratio:1/1}
.oc-site .oc-cover{position:absolute!important;inset:0;width:100%;height:100%;overflow:hidden;z-index:0}
.oc-site .oc-cover img,.oc-site .oc-cover video{width:100%;height:100%;object-fit:cover;max-width:none;will-change:transform}
.oc-site .oc-pos-top img{object-position:50% 16%}
.oc-site .oc-cover .elementor-wrapper,.oc-site .oc-cover .elementor-widget-container{height:100%}
.oc-site .oc-caption p{font-family:var(--font-sans);font-size:var(--fs-label);font-stretch:var(--cond-ui);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--stone);margin-top:var(--s1)}

/* replacement tags (prototype review aid) */
.oc-tag{position:absolute;top:var(--s1);left:var(--s1);z-index:5;font:700 11px/1 var(--font-sans);font-stretch:var(--cond-ui);letter-spacing:.06em;text-transform:uppercase;background:var(--label-bg);color:var(--label-fg);padding:6px var(--s1);pointer-events:none;white-space:nowrap}
.oc-tag b{font-weight:800;color:#000;margin-right:6px}
body.oc-hide-tags .oc-tag{display:none}

/* ---------- icons: Phosphor outline at 16 / 24 / 32 only ---------- */
.oc-icon{display:inline-block;flex:none;vertical-align:middle;fill:currentColor}
.oc-icon--16{width:16px;height:16px}
.oc-icon--24{width:24px;height:24px}
.oc-icon--32{width:32px;height:32px}
.oc-site .oc-iconw{line-height:0}
.oc-site .oc-iconw--accent{color:var(--orange)}
.oc-site .is-orange .oc-iconw--accent{color:var(--black)}
/* On white and mist bands, orange stays a fill. Thin orange marks on light grounds read too faint. */
.oc-site .is-white .oc-iconw--accent,.oc-site .is-mist .oc-iconw--accent{color:var(--black)}
.oc-site .is-white .oc-steps li::before,.oc-site .is-mist .oc-steps li::before{color:var(--black);text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:4px;text-underline-offset:8px}
.oc-site .is-white .oc-faq summary::after,.oc-site .is-mist .oc-faq summary::after{color:var(--black)}

/* ---------- header: sticky, scrim after the hero, sliding underline ---------- */
.oc-header{position:fixed;top:0;left:0;right:0;z-index:50;padding-top:env(safe-area-inset-top,0px);color:var(--white);font-family:var(--font-sans);background:transparent;transition:background-color .4s var(--ease-out)}
/* no backdrop blur: blurring a moving film or photo every frame is what made scroll effects stutter */
.oc-header.is-solid{background:var(--nav-scrim)}
.oc-header__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);height:var(--header-h);max-width:var(--frame);margin-inline:auto;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
.oc-logo{display:inline-flex;align-items:center;text-decoration:none;color:inherit;position:relative;line-height:1}
.oc-logo img{height:32px;width:auto;display:block}
.oc-logo .oc-tag{top:auto;bottom:-24px;left:0}
.oc-nav{position:relative;display:flex;align-items:center;gap:var(--s3)}
.oc-nav a{position:relative;font-size:var(--fs-label);font-stretch:var(--cond-ui);font-weight:650;text-transform:uppercase;letter-spacing:.07em;text-decoration:none;line-height:var(--s5);display:inline-block}
.oc-nav__bar{position:absolute;left:0;bottom:2px;height:2px;width:0;background:var(--orange);pointer-events:none;opacity:0;transition:transform .45s var(--ease-out),width .45s var(--ease-out),opacity .25s}
.oc-nav .oc-nav__join{height:var(--s4);line-height:var(--s4);padding:0 var(--s4);min-width:var(--s12);text-align:center;background:var(--orange);color:var(--black);margin-left:var(--s1);transition:background var(--dur-fast),color var(--dur-fast)}
.oc-nav .oc-nav__join:hover{background:var(--white)}
.oc-burger{display:none;align-items:center;gap:var(--s1);background:none;border:0;color:inherit;font:700 var(--fs-ui)/1 var(--font-sans);font-stretch:var(--cond-ui);text-transform:uppercase;letter-spacing:.06em;padding:var(--s1) 0;cursor:pointer}
@media (max-width:980px){.oc-nav{display:none}.oc-burger{display:inline-flex}}

/* ---------- main menu panels: Rendara's mega menu interaction in AIGA OC styling ----------
   Timing is Rendara's: 70ms hover intent, 220ms close delay, .95s measured-height slide, .8s item rise
   staggered 35ms per column and 55ms per item, .32s item hover, .9s scrim. All on cubic-bezier(.19,1,.22,1). */
.oc-nav a:not(.oc-nav__join){transition:color .2s ease}
.oc-nav a:not(.oc-nav__join):hover,.oc-nav a[aria-expanded="true"]{color:var(--orange)}
.oc-nav__bar{transition:transform .28s cubic-bezier(.4,0,.2,1),width .28s cubic-bezier(.4,0,.2,1),opacity .2s ease}
.oc-header.is-mega{background:var(--black)}
.oc-mega{position:absolute;left:0;right:0;top:100%;height:0;overflow:hidden;background:var(--black);color:var(--white);border-bottom:0 solid var(--rule-dark);transition:height .95s cubic-bezier(.19,1,.22,1),padding .95s cubic-bezier(.19,1,.22,1)}
.oc-mega.is-open{padding-top:var(--s5);padding-bottom:var(--s6);border-bottom-width:1px}
.oc-mega__frame{max-width:var(--frame);margin-inline:auto;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
.oc-mega__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4)}
.oc-mega__cols > *,.oc-mega__cols > * > *{opacity:0;transform:translateY(6px);transition:opacity .8s cubic-bezier(.19,1,.22,1),transform .8s cubic-bezier(.19,1,.22,1);transition-delay:0ms}
.oc-mega.is-open .oc-mega__cols > *,.oc-mega.is-open .oc-mega__cols > * > *{opacity:1;transform:translateY(0)}
.oc-mega__intro{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s2);padding-right:var(--s4)}
.oc-mega__head{margin:0;font-size:clamp(2rem,2.8vw,2.5rem);font-stretch:var(--cond-display);font-weight:800;text-transform:uppercase;line-height:.92;letter-spacing:-.005em}
.oc-mega__lead{margin:0;font-family:var(--font-serif);font-size:var(--fs-small);font-weight:500;line-height:1.5;color:var(--ash);max-width:32ch}
.oc-mega__foot{margin-top:var(--s1);font-size:var(--fs-label);font-stretch:var(--cond-ui);font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--white);padding-bottom:6px;border-bottom:var(--rule) solid var(--orange);transition:color .32s cubic-bezier(.22,1,.36,1),border-color .32s cubic-bezier(.22,1,.36,1)}
.oc-mega__foot:hover{color:var(--orange)}
.oc-mega__col{display:flex;flex-direction:column;align-items:flex-start}
.oc-mega__label{display:block;margin:0 0 var(--s1);font-size:.75rem;font-stretch:var(--cond-ui);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ash)}
.oc-mega__item{display:flex;flex-direction:column;gap:2px;padding:var(--s1) 0;text-decoration:none;color:inherit}
.oc-mega__title{font-size:1.125rem;font-stretch:var(--cond-ui);font-weight:650;letter-spacing:.01em;line-height:1.3;color:#E9E5E1}
.oc-mega__desc{font-family:var(--font-serif);font-size:var(--fs-ui);font-weight:500;line-height:1.45;color:var(--ash)}
.oc-mega.is-open .oc-mega__item:hover,.oc-mega.is-open .oc-mega__item:focus-visible{transform:translateY(0) translateX(4px);transition:transform .32s cubic-bezier(.22,1,.36,1),color .32s cubic-bezier(.22,1,.36,1)}
.oc-mega.is-open .oc-mega__item:hover .oc-mega__title,.oc-mega.is-open .oc-mega__item:focus-visible .oc-mega__title{color:var(--orange);transition:color .32s cubic-bezier(.22,1,.36,1)}
.oc-mega__spot{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.oc-mega__img{display:block;overflow:hidden;aspect-ratio:3/2;background:var(--rule-dark)}
.oc-mega__img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.19,1,.22,1)}
.oc-mega__spot .oc-mega__label{margin:var(--s2) 0 var(--s1)}
.oc-mega__spottitle{font-size:var(--fs-s);font-stretch:var(--cond-ui);font-weight:700;line-height:1.15;text-transform:uppercase;letter-spacing:.01em;color:var(--white);transition:color .32s cubic-bezier(.22,1,.36,1)}
.oc-mega__spot:hover .oc-mega__img img{transform:scale(1.04)}
.oc-mega__spot:hover .oc-mega__spottitle{color:var(--orange)}
.oc-scrim{position:fixed;inset:0;z-index:45;background:rgba(22,18,15,.55);opacity:0;pointer-events:none;transition:opacity .9s cubic-bezier(.19,1,.22,1)}
.oc-scrim.is-visible{opacity:1;pointer-events:auto}
@media (max-width:1180px){.oc-mega__cols{gap:var(--s3)}.oc-mega__intro{padding-right:0}.oc-mega__title{font-size:1rem}}
@media (max-width:980px){.oc-mega,.oc-scrim{display:none!important}}
@media (prefers-reduced-motion:reduce){
  .oc-mega,.oc-scrim,.oc-nav__bar{transition:none}
  .oc-mega__cols > *,.oc-mega__cols > * > *{transition:none;opacity:1;transform:none}
}
.oc-menu{font-family:var(--font-sans);position:fixed;inset:0;z-index:60;background:var(--orange);color:var(--black);display:flex;flex-direction:column;justify-content:space-between;gap:var(--s4);overflow:auto;padding:calc(env(safe-area-inset-top,0px) + var(--s2)) max(var(--gutter),env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + var(--s4)) max(var(--gutter),env(safe-area-inset-left,0px));clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .7s var(--ease-inout),visibility 0s .7s}
.oc-menu.is-open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .7s var(--ease-inout),visibility 0s}
.oc-menu__top{display:flex;justify-content:space-between;align-items:center;height:var(--s7)}
.oc-menu__links{display:flex;flex-direction:column;gap:0}
.oc-menu__links a{font-size:clamp(2.5rem,12vw,5rem);font-stretch:var(--cond-display);font-weight:800;text-transform:uppercase;line-height:1;text-decoration:none}
.oc-menu__more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s1) var(--s3)}
.oc-menu__more a,.oc-menu__foot a{font-size:var(--fs-ui);font-stretch:var(--cond-ui);font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-decoration:none}
.oc-menu__foot{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3)}

/* ---------- home hero ---------- */
.oc-site .e-con.oc-hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;background:var(--orange);overflow:hidden;color:var(--white)}
.oc-site .oc-hero__media{position:absolute!important;inset:0;z-index:0;overflow:hidden;background:#111;will-change:transform}
.oc-site .oc-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,0) 26%,rgba(0,0,0,.1) 50%,rgba(0,0,0,.74) 100%);pointer-events:none;z-index:1}
.oc-site .e-con.oc-hero__content{position:relative;z-index:2;width:100%;max-width:var(--frame);margin-inline:auto;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px));padding-bottom:var(--s10);padding-top:calc(var(--header-h) + var(--s5));display:flex;flex-direction:column;align-items:flex-start;gap:var(--s4)}
.oc-site .oc-hero .t-mega .elementor-heading-title{max-width:none}
.oc-site .oc-hero__content .t-lead p{max-width:44ch;margin:0}
.oc-site .oc-hero__content .oc-row{margin-top:0}
/* the orange frame sits above the content; pointer-events off so buttons stay clickable */
.oc-site .oc-hero__frame{position:absolute;inset:0;z-index:4;pointer-events:none;--fw:32px}
.oc-site .oc-hero__bar{position:absolute;display:block;background:var(--orange);will-change:transform;transform:scale(0)}
.oc-site .oc-hero__bar--t{top:0;left:0;right:0;height:var(--fw);transform-origin:50% 0;transform:scaleY(0)}
.oc-site .oc-hero__bar--b{bottom:0;left:0;right:0;height:var(--fw);transform-origin:50% 100%;transform:scaleY(0)}
.oc-site .oc-hero__bar--l{top:0;bottom:0;left:0;width:var(--fw);transform-origin:0 50%;transform:scaleX(0)}
.oc-site .oc-hero__bar--r{top:0;bottom:0;right:0;width:var(--fw);transform-origin:100% 50%;transform:scaleX(0)}
@media (max-width:900px){.oc-site .oc-hero__frame{--fw:12px}}
.oc-site .oc-line{display:block;overflow:hidden;padding-bottom:.04em;margin-bottom:-.04em}
.oc-site .oc-line > span{display:block}

/* ---------- inner page heroes ---------- */
.oc-site .e-con.oc-pagehero{position:relative;min-height:72vh;min-height:72svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;color:var(--white);background:#111}
.oc-site .oc-pagehero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,.25) 55%,rgba(0,0,0,.8) 100%);z-index:1;pointer-events:none}
.oc-site .e-con.oc-pagehero__content{position:relative;z-index:2;width:100%;max-width:var(--frame);margin-inline:auto;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px));padding-bottom:var(--s10);padding-top:calc(var(--header-h) + var(--s8));display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3)}
.oc-site .oc-pagehero .t-xl .elementor-heading-title{max-width:16ch}
.oc-site .e-con.oc-texthero{padding-top:calc(var(--header-h) + var(--s12));padding-bottom:var(--s10)}
.oc-site .oc-texthero .t-xl .elementor-heading-title{max-width:16ch}
.oc-site .oc-crumb p{font-family:var(--font-sans);margin:0}
.oc-site .oc-crumb a{font-size:var(--fs-label);font-stretch:var(--cond-ui);font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-bottom:2px solid var(--orange);padding-bottom:2px}

/* ---------- sub navigation under page heroes ---------- */
.oc-site .e-con.oc-subnav{position:sticky;top:var(--header-h);z-index:30;border-bottom:1px solid var(--rule-light);background:var(--white)}
.oc-subnav__list{max-width:var(--frame);margin-inline:auto;display:flex;gap:var(--s4);overflow-x:auto;scrollbar-width:none;padding:0 max(var(--gutter),env(safe-area-inset-right,0px)) 0 max(var(--gutter),env(safe-area-inset-left,0px))}
.oc-subnav__list::-webkit-scrollbar{display:none}
.oc-subnav__list a{flex:none;font-family:var(--font-sans);font-size:var(--fs-ui);font-stretch:var(--cond-ui);font-weight:700;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;line-height:var(--s7);border-bottom:2px solid transparent;color:var(--stone)}
.oc-subnav__list a:hover{color:var(--black)}
.oc-subnav__list a[aria-current="page"]{color:var(--black);border-color:var(--orange)}

/* ---------- word fill manifesto ---------- */
.oc-site .oc-wordfill__text p{font-family:var(--font-serif);font-variation-settings:'opsz' 72;font-size:clamp(2rem,4.4vw,4.25rem);font-weight:600;line-height:1.08;letter-spacing:-.028em;max-width:21ch;margin:0 0 var(--s3)}
.oc-site .oc-wordfill__text p:last-child{margin-bottom:0}
/* words start black and turn orange one by one as you scroll */
.oc-site .oc-wordfill .w{color:var(--black)}

/* ---------- stacked cards (Five and Done style) ---------- */
.oc-site .e-con.oc-stack{display:flex;flex-direction:column;gap:var(--s4);padding-bottom:var(--s4)}
.oc-site .e-con.oc-stack__card{position:sticky;top:calc(var(--header-h) + var(--s2) + var(--i,0) * var(--s2));display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:min(72vh,680px);background:var(--black);color:var(--white);overflow:hidden;transform-origin:50% 0%;will-change:transform}
.oc-site .oc-stack__card:nth-child(2){--i:1}
.oc-site .oc-stack__card:nth-child(3){--i:2}
.oc-site .oc-stack__card:nth-child(4){--i:3}
.oc-site .oc-stack__card .oc-img{height:100%;min-height:320px}
.oc-site .oc-stack__card .oc-img img{height:100%;aspect-ratio:auto}
.oc-site .e-con.oc-stack__text{padding:var(--s8);display:flex;flex-direction:column;justify-content:flex-start;gap:var(--s5)}
.oc-ilist{list-style:none;margin:0;padding:0;display:grid;gap:12px;font-family:var(--font-serif);font-size:var(--fs-lead);font-weight:500;line-height:1.3;letter-spacing:-.012em}
.oc-ilist li{display:flex;align-items:center;gap:12px}
.oc-ilist .oc-icon{color:var(--orange)}
.oc-site .oc-sectionnote{margin-top:var(--s8)}
.oc-site .oc-stack__card .t-xl .elementor-heading-title{font-size:clamp(2.5rem,5.6vw,6rem)}
.oc-site .oc-stack__card.is-white{background:var(--white);color:var(--black)}
@media (max-width:900px){
  /* phones keep the stack: one column, each card pins under the header a 10px step below the last */
  .oc-site .e-con.oc-stack{gap:var(--s2);padding-bottom:0}
  .oc-site .e-con.oc-stack__card{grid-template-columns:minmax(0,1fr);min-height:0;top:calc(var(--header-h) + var(--s1) + var(--i,0) * 10px)}
  .oc-site .oc-stack__card .oc-img{min-height:0}
  .oc-site .oc-stack__card .oc-img img{aspect-ratio:16/9}
  .oc-site .e-con.oc-stack__text{padding:var(--s3);gap:var(--s3)}
  .oc-site .oc-stack__card .oc-ilist{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px;font-size:1rem}
}

/* ---------- cards ---------- */
.oc-site .e-con.oc-card{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s4);border:var(--rule) solid currentColor;min-height:100%}
.oc-site .e-con.oc-card.is-filled{border-color:var(--black);background:var(--black);color:var(--white)}
.oc-site .e-con.oc-card.is-orange{border-color:var(--orange);background:var(--orange);color:var(--black)}
.oc-site .oc-card .oc-card__push{margin-top:auto;padding-top:var(--s2)}
.oc-site .oc-chip p{display:inline-block;font-family:var(--font-sans);border:var(--rule) solid currentColor;padding:6px var(--s1);font-size:.75rem;font-stretch:var(--cond-ui);font-weight:700;text-transform:uppercase;letter-spacing:.06em;line-height:1;margin:0}
.oc-site .oc-meta p{font-family:var(--font-sans);font-size:var(--fs-small);font-stretch:var(--cond-ui);font-weight:650;letter-spacing:.02em;display:flex;align-items:center;gap:var(--s1);margin:0}

/* ---------- media card (image, label, title, text) ---------- */
.oc-site .e-con.oc-path{display:flex;flex-direction:column;gap:var(--s2)}
.oc-site .oc-path .oc-img img{aspect-ratio:4/5;transition:transform 1s var(--ease-out)}
.oc-site .oc-path:hover .oc-img img{transform:scale(1.03)}
.oc-site .oc-path .oc-img{margin-bottom:var(--s1)}

/* ---------- horizontal archive rail ---------- */
.oc-site .e-con.oc-hscroll{overflow:hidden}
.oc-site .e-con.oc-hscroll__track{display:flex;flex-wrap:nowrap;gap:var(--s3);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px));padding-bottom:var(--s1);align-items:flex-start}
.oc-site .oc-hscroll__track::-webkit-scrollbar{display:none}
.oc-site .oc-hscroll__track.is-dragging{scroll-snap-type:none;user-select:none}
.oc-site .oc-hscroll__track.is-dragging img{pointer-events:none}
.oc-site .e-con.oc-hcard{width:clamp(264px,30vw,440px);flex:0 0 auto;display:flex;flex-direction:column;gap:var(--s2)}
.oc-site .oc-hcard:nth-child(even){margin-top:var(--s8)}
.oc-site .oc-hcard .oc-img img{aspect-ratio:4/5}
.oc-site .e-con.oc-hscroll__head{max-width:var(--frame);margin-inline:auto;width:100%;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px));margin-bottom:var(--s8);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--s3)}
@media (max-width:900px){.oc-site .e-con.oc-hcard{scroll-snap-align:start;width:min(78vw,336px)}.oc-site .oc-hcard:nth-child(even){margin-top:0}}
.oc-cursor{position:fixed;left:0;top:0;z-index:45;width:96px;height:96px;border-radius:50%;background:var(--orange);color:var(--black);display:flex;align-items:center;justify-content:center;font:800 var(--fs-ui)/1 var(--font-sans);font-stretch:var(--cond-ui);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;transform:translate(-50%,-50%) scale(0);transition:transform .35s var(--ease-out)}
.oc-cursor.is-on{transform:translate(-50%,-50%) scale(1)}
/* ---------- back to top: a quiet square that shows after the first screen ---------- */
.oc-totop{position:fixed;right:max(var(--s3),env(safe-area-inset-right,0px));bottom:calc(var(--s3) + env(safe-area-inset-bottom,0px));z-index:44;display:flex;align-items:center;justify-content:center;width:var(--s6);height:var(--s6);padding:0;background:var(--white);color:var(--black);border:var(--rule) solid var(--black);border-radius:0;cursor:pointer;opacity:0;visibility:hidden;translate:0 var(--s1);transition:opacity .4s var(--ease-out),translate .4s var(--ease-out),visibility 0s linear .4s,color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}
.oc-totop.is-on{opacity:1;visibility:visible;translate:0 0;transition:opacity .4s var(--ease-out),translate .4s var(--ease-out),visibility 0s,color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}
.oc-totop .oc-icon{transition:translate var(--dur-fast) var(--ease-out)}
.oc-totop:hover{color:var(--orange);border-color:var(--orange)}
.oc-totop:hover .oc-icon{translate:0 -2px}
.oc-totop:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
@media (max-width:900px){.oc-totop{right:max(var(--s2),env(safe-area-inset-right,0px));bottom:calc(var(--s2) + env(safe-area-inset-bottom,0px));width:var(--s5);height:var(--s5)}}
@media (prefers-reduced-motion:reduce){.oc-totop,.oc-totop.is-on{translate:none;transition:opacity .2s linear,visibility 0s}.oc-totop .oc-icon{transition:none}}

.oc-site .oc-hscroll.is-drag .oc-hscroll__track{cursor:none}

/* ---------- parallax gallery (Bridge style) ---------- */
.oc-site .e-con.oc-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);align-items:start}
.oc-site .e-con.oc-gallery__col{display:flex;flex-direction:column;gap:var(--s3);will-change:transform}
.oc-site .oc-gallery__col:nth-child(2){margin-top:var(--s16)}
.oc-site .oc-gallery__col:nth-child(3){margin-top:var(--s8)}
@media (max-width:700px){.oc-site .e-con.oc-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.oc-site .oc-gallery__col:nth-child(3){display:none}.oc-site .oc-gallery__col:nth-child(2){margin-top:var(--s8)}}

/* ---------- OC places collage ---------- */
.oc-site .e-con.oc-worlds{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s3);align-items:start}
.oc-site .e-con.oc-world{display:flex;flex-direction:column;gap:var(--s1);will-change:transform}
.oc-site .oc-world--a{grid-column:1 / span 7}
.oc-site .oc-world--b{grid-column:9 / span 4;margin-top:var(--s16)}
.oc-site .oc-world--c{grid-column:2 / span 4}
.oc-site .oc-world--d{grid-column:7 / span 6;margin-top:var(--s8)}
.oc-site .oc-world--e{grid-column:1 / span 5;margin-top:var(--s8)}
.oc-site .oc-world--f{grid-column:7 / span 3;margin-top:var(--s16)}
.oc-site .oc-world--g{grid-column:10 / span 3}
.oc-site .oc-world--h{grid-column:3 / span 6;margin-top:var(--s8)}
.oc-site .oc-world .oc-img img{transition:transform 1.2s var(--ease-out)}
.oc-site .oc-world:hover .oc-img img{transform:scale(1.03)}
@media (max-width:800px){
  .oc-site .e-con.oc-worlds{grid-template-columns:repeat(2,minmax(0,1fr))}
  .oc-site .e-con.oc-worlds > .oc-world{grid-column:auto!important;margin-top:0!important}
  .oc-site .oc-world--a,.oc-site .oc-world--d,.oc-site .oc-world--h{grid-column:1 / -1!important}
}

/* ---------- full-bleed photo band ---------- */
.oc-site .e-con.oc-fullbleed{position:relative;min-height:88vh;min-height:88svh;display:flex;align-items:flex-end;overflow:hidden;color:var(--white);background:#111}
.oc-site .oc-fullbleed::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.66) 100%);z-index:1;pointer-events:none}
.oc-site .oc-fullbleed .oc-cover img{height:120%;margin-top:-10%}
.oc-site .e-con.oc-fullbleed__content{position:relative;z-index:2;width:100%;max-width:var(--frame);margin-inline:auto;padding:0 max(var(--gutter),env(safe-area-inset-right,0px)) var(--s10) max(var(--gutter),env(safe-area-inset-left,0px));display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3)}

/* ---------- section heads ---------- */
.oc-site .e-con.oc-head{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);margin-bottom:var(--s8);max-width:64rem}
.oc-site .e-con.oc-head--split{max-width:none;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--s3) var(--s6)}

/* ---------- value rows with hover image ---------- */
.oc-site .e-con.oc-valuelist{border-top:2px solid var(--black)}
.oc-site .e-con.oc-valuerow{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--s3) var(--s6);align-items:center;padding:var(--s4) 0;border-bottom:2px solid var(--black)}
.oc-site .oc-valuerow .t-l .elementor-heading-title{transition:color var(--dur-fast)}
.oc-site .oc-valuerow:hover .t-l .elementor-heading-title{color:var(--orange)}
.oc-site .oc-valuerow .oc-img{display:none}
.oc-float{position:fixed;left:0;top:0;width:clamp(200px,22vw,320px);aspect-ratio:4/5;z-index:40;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .3s var(--ease-out)}
.oc-float img{width:100%;height:100%;object-fit:cover}
.oc-float.is-on{opacity:1}
@media (max-width:900px){.oc-site .e-con.oc-valuerow{grid-template-columns:minmax(0,1fr)}}

/* ---------- board ---------- */
.oc-site .e-con.oc-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:var(--black);border:2px solid var(--black)}
.oc-site .e-con.oc-member{background:var(--white);display:flex;flex-direction:column}
.oc-site .oc-member__plate{position:relative;aspect-ratio:4/5;background:var(--black);color:var(--white);display:flex;align-items:flex-end;padding:var(--s2);overflow:hidden}
.oc-site .oc-member__plate .oc-initial{font-family:var(--font-sans);font-size:clamp(4rem,9vw,8rem);font-stretch:var(--cond-display);font-weight:800;line-height:.8;text-transform:uppercase;color:var(--orange)}
.oc-site .e-con.oc-member--join{display:none}
.oc-site .oc-member--join .oc-member__plate{background:var(--orange)}
.oc-site .oc-member--join .oc-member__plate .oc-initial{color:var(--black);font-size:clamp(6rem,14vw,10rem)}
.oc-site .oc-member--join .t-s .elementor-heading-title{color:var(--black)}
@media (max-width:1024px){.oc-site .e-con.oc-board--5 > .e-con.oc-member--join{display:flex}}
.oc-site .e-con.oc-member__text{padding:var(--s2) var(--s2) var(--s3);display:flex;flex-direction:column;gap:var(--s1)}
.oc-site .oc-member.is-open .oc-member__plate{background:var(--orange)}
.oc-site .oc-member.is-open .oc-member__plate .oc-initial{color:var(--black)}
@media (max-width:1024px){.oc-site .e-con.oc-board{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.oc-site .e-con.oc-board{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- ordered steps (real sequences only) ---------- */
.oc-site .oc-steps ol{list-style:none;counter-reset:s;padding:0;margin:0;border-top:2px solid currentColor}
.oc-site .oc-steps li{counter-increment:s;display:grid;grid-template-columns:var(--s7) 1fr;gap:var(--s2);padding:var(--s3) 0;border-bottom:var(--rule) solid currentColor}
.oc-site .oc-steps li::before{content:counter(s);font-family:var(--font-sans);font-stretch:var(--cond-display);font-weight:800;font-size:2.5rem;line-height:.85;color:var(--orange)}
.oc-site .is-orange .oc-steps li::before{color:var(--black)}

/* ---------- plain lists ---------- */
.oc-site .oc-list ul{list-style:none;padding:0;margin:0;border-top:var(--rule) solid currentColor}
.oc-site .oc-list li{padding:var(--s2) 0;border-bottom:1px solid var(--rule-light)}
.oc-site .is-black .oc-list li{border-color:var(--rule-dark)}
.oc-site .is-orange .oc-list li{border-color:rgba(0,0,0,.2)}

/* ---------- listings (jobs, updates, resources, directory) ---------- */
.oc-site .e-con.oc-listing{border-top:2px solid var(--black)}
.oc-site .e-con.oc-listrow{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:var(--s3);align-items:center;padding:var(--s3) 0;border-bottom:var(--rule) solid var(--rule-light)}
@media (max-width:800px){.oc-site .e-con.oc-listrow{grid-template-columns:minmax(0,1fr);gap:var(--s1)}}

/* ---------- FAQ ---------- */
.oc-faq details{border-bottom:var(--rule) solid var(--rule-light)}
.oc-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s3) 0;font-family:var(--font-sans);font-size:var(--fs-s);font-stretch:var(--cond-ui);font-weight:700;text-transform:uppercase}
.oc-faq summary::-webkit-details-marker{display:none}
.oc-faq summary::after{content:"+";font-weight:400;font-size:1.5rem;line-height:1;color:var(--orange);transition:transform var(--dur-fast)}
.oc-faq details[open] summary::after{transform:rotate(45deg)}
.oc-faq details p{margin:0 0 var(--s3);max-width:62ch}

/* ---------- filters ---------- */
.oc-filters{display:flex;flex-wrap:wrap;gap:var(--s1)}
.oc-filters button{font:700 var(--fs-label)/1 var(--font-sans);font-stretch:var(--cond-ui);letter-spacing:.06em;text-transform:uppercase;background:transparent;color:var(--black);border:var(--rule) solid var(--black);height:var(--s5);padding:0 var(--s2);cursor:pointer;border-radius:0}
.oc-filters button[aria-pressed="true"]{background:var(--black);color:var(--white)}
.oc-site .is-filtered-out{display:none!important}

/* ---------- forms (prototype only) ---------- */
.oc-form{display:grid;gap:var(--s3);max-width:520px}
.oc-form label{display:grid;gap:var(--s1);font-family:var(--font-sans);font-size:var(--fs-label);font-stretch:var(--cond-ui);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.oc-form input,.oc-form select,.oc-form textarea{font:500 var(--fs-ui)/1.4 var(--font-sans);height:var(--s6);padding:0 var(--s2);border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;width:100%;text-transform:none;letter-spacing:0}
.oc-form textarea{height:auto;min-height:var(--s16);padding:12px var(--s2)}
.oc-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.oc-form option{color:#16120F}
.oc-form input::placeholder,.oc-form textarea::placeholder{color:currentColor;opacity:.45}
.oc-form button{justify-self:start;margin-top:var(--s2);height:var(--btn-h);padding:0 var(--s4);min-width:var(--s20);font:700 var(--fs-ui)/1 var(--font-sans);font-stretch:var(--cond-ui);text-transform:uppercase;letter-spacing:.06em;background:var(--orange);color:var(--black);border:var(--rule) solid var(--orange);cursor:pointer}
.oc-form button:hover{background:var(--black);border-color:var(--black);color:var(--white)}
.is-black .oc-form button:hover{background:var(--white);border-color:var(--white);color:var(--black)}
.oc-form__note{font-family:var(--font-sans);font-size:var(--fs-small);font-weight:600;padding:var(--s2);background:var(--orange);color:var(--black);margin:0}

/* ---------- event facts ---------- */
.oc-site .e-con.oc-facts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:var(--rule) solid currentColor}
.oc-site .e-con.oc-fact{padding:var(--s3) var(--s3) var(--s3) 0;display:flex;flex-direction:column;gap:var(--s1)}
.oc-site .oc-fact + .oc-fact{border-left:var(--rule) solid currentColor;padding-left:var(--s3)}
@media (max-width:760px){.oc-site .e-con.oc-facts-grid{grid-template-columns:minmax(0,1fr)}.oc-site .oc-fact + .oc-fact{border-left:0;border-top:var(--rule) solid currentColor;padding-left:0}}
.oc-site .e-con.oc-detail{padding-top:calc(var(--header-h) + var(--s10))}
.oc-site .e-con.oc-detailimg{margin-block:var(--s8)}

/* ---------- article ---------- */
.oc-site .e-con.oc-article{max-width:44rem;margin-inline:auto}
.oc-site .oc-article .elementor-widget-text-editor p{font-size:1.125rem;line-height:1.7}
.oc-site .oc-article .t-m{margin-top:var(--s5)}

/* ---------- design system page ---------- */
.oc-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--s2)}
.oc-swatch{border:var(--rule) solid var(--rule-light);font-family:var(--font-sans);font-size:var(--fs-label);font-stretch:var(--cond-ui);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.oc-swatch i{display:block;height:var(--s12)}
.oc-swatch span{display:block;padding:var(--s1) 12px}
.oc-spacing{display:grid;gap:var(--s1);font-family:var(--font-sans);font-size:var(--fs-label);font-stretch:var(--cond-ui);font-weight:700}
.oc-spacing div{display:flex;align-items:center;gap:var(--s2)}
.oc-spacing i{display:block;height:var(--s2);background:var(--orange)}
.oc-specimen{display:grid;gap:var(--s3)}
.oc-specimen > div{display:grid;grid-template-columns:200px 1fr;gap:var(--s3);align-items:baseline;border-bottom:1px solid var(--rule-light);padding-bottom:var(--s3)}
.oc-specimen code,.oc-swatch code{font:600 12px/1.4 ui-monospace,Menlo,monospace;text-transform:none;letter-spacing:0;color:var(--stone)}
@media (max-width:700px){.oc-specimen > div{grid-template-columns:minmax(0,1fr)}}

/* ---------- copyable email ---------- */
.oc-copy{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--s1)}
.oc-copy code{font:600 var(--fs-small)/1.3 var(--font-sans);user-select:all;background:rgba(0,0,0,.06);padding:var(--s1) 12px}
.is-black .oc-copy code{background:rgba(255,255,255,.1)}
.oc-copy button{display:inline-flex;align-items:center;gap:6px;height:var(--s5);font:700 .75rem/1 var(--font-sans);font-stretch:var(--cond-ui);letter-spacing:.06em;text-transform:uppercase;background:transparent;border:var(--rule) solid currentColor;color:inherit;padding:0 12px;cursor:pointer}

/* ---------- reveal on scroll (the Rendara fade) ---------- */
.oc-js .oc-site .oc-fade{opacity:0;translate:0 var(--s4);transition:opacity var(--dur-reveal) var(--ease-out),translate var(--dur-reveal) var(--ease-out);transition-delay:var(--d,0s)}
.oc-js .oc-site .oc-fade.is-in{opacity:1;translate:0 0}

/* ---------- footer ---------- */
.oc-footer{font-family:var(--font-sans);background:var(--black);color:var(--white);padding-top:var(--s16);padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px));padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--s3));overflow:hidden}
.oc-footer__frame{max-width:var(--frame);margin-inline:auto}
.oc-footer__top{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(5,minmax(0,1fr));gap:var(--s5) var(--s3);padding-bottom:var(--s8);border-bottom:1px solid var(--rule-dark)}
.oc-footer__lead{font-size:clamp(1.75rem,3.2vw,3rem);font-stretch:var(--cond-display);font-weight:800;text-transform:uppercase;line-height:.92;max-width:12ch;margin:0}
.oc-footer h4{margin:0 0 var(--s2);font-size:.75rem;font-stretch:var(--cond-ui);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ash)}
.oc-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--s1)}
.oc-footer ul a{display:inline-flex;align-items:center;gap:var(--s1);text-decoration:none;font-size:var(--fs-ui);font-stretch:var(--cond-ui);font-weight:600;letter-spacing:.02em;line-height:1.5;color:#E9E5E1;transition:color var(--dur-fast)}
.oc-footer ul a:hover{color:var(--orange)}
.oc-footer__word{font-size:clamp(5rem,30.5vw,30rem);font-stretch:var(--cond-display);font-weight:800;line-height:.76;text-transform:uppercase;color:var(--orange);margin:var(--s6) 0 0;letter-spacing:-.01em;white-space:nowrap;transform-origin:0 100%}
.oc-footer__base{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--s2) var(--s3);padding-top:var(--s3);font-size:var(--fs-label);font-stretch:var(--cond-ui);letter-spacing:.02em;color:var(--ash)}
.oc-footer__logo{height:var(--s3);width:auto;margin-right:var(--s1)}
.oc-footer__base > span:first-of-type{display:inline-flex;align-items:center;gap:var(--s2)}
.oc-footer__util{display:inline-flex;flex-wrap:wrap;gap:var(--s3)}
.oc-footer__util a{color:#E9E5E1;text-decoration:none;border-bottom:1px solid var(--orange);padding-bottom:2px}
.oc-footer__util a:hover{color:var(--orange)}
@media (max-width:1100px){.oc-footer__top{grid-template-columns:repeat(3,minmax(0,1fr))}.oc-footer__top > :first-child{grid-column:1 / -1}}
@media (max-width:600px){.oc-footer__top{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- page wipe (prototype route change) ---------- */
.oc-wipe{position:fixed;inset:0;z-index:80;background:var(--orange);transform:scaleY(0);transform-origin:50% 100%;pointer-events:none}


/* ---------- stack helpers ---------- */
.oc-site .e-con.oc-stackv--sm{gap:var(--s2)}
.oc-site .e-con.oc-stackv--xs{gap:var(--s1)}
.oc-site .e-con.oc-grid2 > .oc-push1.oc-span7{grid-column:6 / span 7}
.oc-site .e-con.oc-grid2 > .oc-span12{grid-column:1 / -1}

/* ---------- text hero (black poster, no photo) ---------- */
.oc-site .e-con.oc-texthero .e-con.oc-frame{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3)}
.oc-site .oc-texthero .t-lead p{max-width:52ch}

/* ---------- split hero (words left, photo right) ---------- */
.oc-site .e-con.oc-splithero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:80vh;min-height:80svh;background:var(--black);color:var(--white);overflow:hidden}
.oc-site .e-con.oc-splithero__text{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:var(--s3);padding:calc(var(--header-h) + var(--s10)) var(--s8) var(--s10) max(var(--gutter),calc((100vw - var(--frame)) / 2),env(safe-area-inset-left,0px))}
.oc-site .e-con.oc-splithero__media{position:relative;min-height:320px;overflow:hidden}
.oc-site .oc-splithero .t-xl .elementor-heading-title{max-width:12ch}
.oc-site .oc-splithero .t-lead p{max-width:40ch}
.oc-site .oc-credit p{font-size:.6875rem;line-height:1.35;opacity:.72;margin:4px 0 0;max-width:none}
.oc-site .oc-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.oc-site .oc-film-toggle{position:absolute;right:calc(32px + var(--s3));bottom:calc(32px + var(--s3));z-index:5;width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.8);background:rgba(0,0,0,.35);color:#fff;display:grid;place-items:center;padding:0;cursor:pointer;transition:background var(--dur-fast)}
.oc-site .oc-film-toggle:hover{background:rgba(0,0,0,.6)}
.oc-site .oc-film-toggle:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
@media (max-width:900px){.oc-site .oc-film-toggle{right:calc(12px + 10px);top:calc(var(--header-h) + 10px);bottom:auto;width:36px;height:36px}}
.oc-site .e-con.oc-splithero--long .oc-splithero__text{container-type:inline-size}
.oc-site .oc-splithero--long .t-xl .elementor-heading-title{max-width:none;font-size:min(var(--fs-xl),12cqi)}
@media (max-width:900px){
  .oc-site .e-con.oc-splithero{grid-template-columns:minmax(0,1fr);min-height:0}
  .oc-site .e-con.oc-splithero__text{padding:calc(var(--header-h) + var(--s8)) max(var(--gutter),env(safe-area-inset-right,0px)) var(--s6) max(var(--gutter),env(safe-area-inset-left,0px))}
  .oc-site .e-con.oc-splithero__media{min-height:0;aspect-ratio:4/3}
}

/* ---------- benefits list (icon, title, line) ---------- */
.oc-site .e-con.oc-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s4);border-top:var(--rule) solid currentColor}
.oc-site .e-con.oc-benefit{display:grid;grid-template-columns:var(--s4) minmax(0,1fr);gap:var(--s2);align-items:start;padding:var(--s3) 0;border-bottom:1px solid var(--rule-light)}
.oc-site .is-black .oc-benefit{border-color:var(--rule-dark)}
.oc-site .is-orange .oc-benefit{border-color:rgba(0,0,0,.2)}
.oc-site .oc-benefit .oc-iconw{padding-top:2px}
.oc-site .oc-benefit .t-small p{margin-top:var(--s1);opacity:.86}
@media (max-width:700px){.oc-site .e-con.oc-benefits{grid-template-columns:minmax(0,1fr)}}

/* ---------- board, five across ---------- */
.oc-site .e-con.oc-board.oc-board--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.oc-site .oc-board--bio > .e-con.oc-member--join{display:flex}
@media (min-width:701px) and (max-width:1024px){.oc-site .oc-board--bio > .e-con.oc-member--join{grid-column:span 2}.oc-site .oc-board--bio > .oc-member--join .oc-member__plate{aspect-ratio:8/5}}
@media (max-width:1024px){.oc-site .e-con.oc-board.oc-board--5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.oc-site .e-con.oc-board.oc-board--5{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* board bios: photo cards; "Read bio" opens the bio in a drawer under that card's row (site.js) */
.oc-site .oc-member__photo{position:relative;aspect-ratio:4/5;background:var(--black);overflow:hidden}
.oc-site .oc-member__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.oc-site .oc-member__bio{display:none}
.oc-site .oc-biobtn{align-self:flex-start;margin-top:var(--s1);background:none;border:0;border-bottom:2px solid var(--orange);padding:6px 0;font-family:var(--font-sans);font-size:var(--fs-label);font-stretch:var(--cond-ui);font-weight:700;letter-spacing:.06em;line-height:1.2;text-transform:uppercase;color:var(--black);cursor:pointer}
.oc-site .oc-biobtn:hover{border-color:var(--black)}
.oc-site .oc-biobtn:focus-visible{outline:2px solid var(--black);outline-offset:4px}
.oc-site .oc-member--bio .t-s .elementor-heading-title{color:var(--black)}
.oc-site .oc-member--bio.is-bio{background:var(--orange)}
.oc-site .oc-member--bio.is-bio .oc-biobtn{border-color:var(--black)}
.oc-site .oc-biodrawer{grid-column:1/-1;background:var(--white);padding:var(--s6) var(--s6) var(--s7);position:relative}
.oc-site .oc-biodrawer:focus{outline:none}
.oc-site .oc-biodrawer__in{max-width:1100px}
.oc-site .oc-biodrawer__name{font-family:var(--font-sans);font-size:clamp(2rem,4vw,3.25rem);font-stretch:var(--cond-display);font-weight:800;line-height:.95;text-transform:uppercase;margin:var(--s1) 0 var(--s4)}
.oc-site .oc-biodrawer__copy{columns:2;column-gap:var(--s6)}
.oc-site .oc-biodrawer__copy p,.oc-site .oc-biodrawer__copy li{font-size:1.0625rem;line-height:1.55;max-width:64ch;color:var(--black);break-inside:avoid}
.oc-site .oc-biodrawer__copy p{margin:0 0 .85em}
.oc-site .oc-biodrawer__copy ul{margin:0 0 .85em;padding-left:1.1em;break-inside:avoid}
.oc-site .oc-biodrawer__copy li{margin:0 0 .35em}
.oc-site .oc-biodrawer__close{position:absolute;top:var(--s4);right:var(--s4);width:44px;height:44px;border:2px solid var(--black);background:var(--white);color:var(--black);font:700 22px/1 var(--font-sans);cursor:pointer}
.oc-site .oc-biodrawer__close:hover{background:var(--black);color:var(--white)}
@media (max-width:700px){
  .oc-site .oc-biodrawer{padding:var(--s4) var(--s3) var(--s5)}
  .oc-site .oc-biodrawer__copy{columns:1}
  .oc-site .oc-biodrawer__close{top:var(--s2);right:var(--s2)}
}
.oc-site .oc-member .t-s .elementor-heading-title{color:var(--stone)}
.oc-site .oc-member.is-open .t-s .elementor-heading-title{color:var(--black)}
/* Board names set in the condensed display bold, like the page headlines */
.oc-site .oc-member .t-s .elementor-heading-title{color:var(--black);font-stretch:var(--cond-display);font-weight:800;font-size:clamp(1.625rem,2.4vw,2.25rem);line-height:.92;letter-spacing:-.005em}

/* ---------- partner logo wall ---------- */
.oc-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--rule-light);border:1px solid var(--rule-light)}
.oc-logos span{display:flex;align-items:center;justify-content:center;aspect-ratio:3/2;background:var(--white);font:700 var(--fs-label)/1 var(--font-sans);font-stretch:var(--cond-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ash)}
@media (max-width:700px){.oc-logos{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- table of contents (long policies) ---------- */
.oc-site .oc-toc{position:sticky;top:calc(var(--header-h) + var(--s7) + var(--s3))}
.oc-toc ol{list-style:none;margin:0;padding:0;border-top:var(--rule) solid currentColor}
.oc-toc a{display:block;padding:12px 0;border-bottom:1px solid var(--rule-light);font:700 var(--fs-ui)/1.3 var(--font-sans);font-stretch:var(--cond-ui);letter-spacing:.05em;text-transform:uppercase;text-decoration:none;transition:color var(--dur-fast)}
.oc-toc a:hover{color:var(--orange)}
@media (max-width:900px){.oc-site .oc-toc{position:static}}
.oc-site .e-con.oc-policytext ul{margin:0 0 var(--s2)}.oc-policytext li{font-size:1.125rem;line-height:1.6;margin-bottom:var(--s1);max-width:62ch}.oc-policytext a{color:inherit;text-underline-offset:.2em;overflow-wrap:anywhere}.oc-policy{display:flex;flex-direction:column;gap:var(--s3);padding-bottom:var(--s6);margin-bottom:var(--s6);border-bottom:1px solid var(--rule-light);scroll-margin-top:calc(var(--header-h) + var(--s10))}

/* ---------- featured story ---------- */
.oc-site .e-con.oc-feature{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s4);align-items:end;padding-bottom:var(--s6);margin-bottom:var(--s8);border-bottom:var(--rule) solid currentColor}
.oc-site .oc-feature .oc-img img{aspect-ratio:3/2}
@media (max-width:900px){.oc-site .e-con.oc-feature{grid-template-columns:minmax(0,1fr)}}

/* ---------- listing rows ---------- */
.oc-site .oc-listrow .t-s .elementor-heading-title{text-transform:none;font-size:1.125rem;letter-spacing:0}
.oc-site .oc-listrow .oc-meta p{color:var(--stone)}
.oc-site .oc-listrow .elementor-heading-title a{color:inherit;text-decoration:none}
.oc-site .oc-listrow .elementor-heading-title a:hover{text-decoration:underline;text-underline-offset:.2em}
.oc-site .e-con.oc-listrow--3{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}
@media (max-width:800px){.oc-site .e-con.oc-listrow--3{grid-template-columns:minmax(0,1fr)}}

/* ---------- media cards in landscape ---------- */
.oc-site .oc-path.is-land .oc-img img{aspect-ratio:3/2}
.oc-site .e-con.oc-card.is-mist{border-color:#F4F2EF;background:#F4F2EF;color:var(--black)}

/* ---------- design system page ---------- */
.oc-site .e-con.oc-demo{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);padding:var(--s4);border:1px solid var(--rule-light)}
.oc-site .e-con.oc-demo.is-black,.oc-site .e-con.oc-demo.is-orange{border-color:transparent}
.oc-icongrid{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--s4)}
.oc-icongrid figure{margin:0;display:grid;justify-items:start;gap:var(--s1);font:700 .75rem/1 var(--font-sans);font-stretch:var(--cond-ui);letter-spacing:.05em;text-transform:uppercase;color:var(--stone)}
.oc-site .e-con.oc-sysrow{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--s3);align-items:start;padding:var(--s4) 0;border-top:1px solid var(--rule-light)}
@media (max-width:700px){.oc-site .e-con.oc-sysrow{grid-template-columns:minmax(0,1fr)}}


/* ---------- heading with a leading icon ---------- */
.oc-site .oc-hicon .elementor-heading-title{display:flex;align-items:center;gap:12px}
.oc-site .oc-hicon .oc-icon{color:var(--orange)}
.oc-site .is-orange .oc-hicon .oc-icon{color:var(--black)}
.oc-site .is-black .e-con.oc-listing{border-color:var(--white)}
.oc-site .is-black .e-con.oc-listrow{border-color:var(--rule-dark)}
.oc-site .is-black .oc-listrow .oc-meta p{color:var(--ash)}
.oc-site .is-black .oc-faq details{border-color:var(--rule-dark)}


/* ---------- fixes found in QA ---------- */
.oc-site .oc-cover > .oc-tag{top:calc(var(--header-h) + var(--s1))}
.oc-site .e-con.oc-compare{margin-top:var(--s8)}
.oc-site .oc-linklist a{text-decoration:none;border-bottom:1px solid var(--orange);padding-bottom:2px}
.oc-site .oc-linklist a:hover{color:var(--orange)}
.oc-site .e-con.oc-article{margin-inline:0}
.oc-site .oc-speclabel p{font-family:var(--font-sans);font-size:var(--fs-label);font-stretch:var(--cond-ui);font-weight:600;line-height:1.4;color:var(--stone);margin:0}
.oc-site .oc-speclabel code{display:block;margin-bottom:4px;color:var(--black)}
.oc-site .is-orange .oc-btn--text .elementor-button,.oc-site .is-orange .oc-btn--text .elementor-button:hover{background:none;color:var(--black);border-color:var(--black)}
.oc-site .is-black .oc-btn--text .elementor-button:hover,.oc-site .oc-card.is-filled .oc-btn--text .elementor-button:hover{background:none;color:var(--white)}


/* ---------- cross-fading full-bleed band ---------- */
.oc-site .oc-xfade__slide{opacity:0;transition:opacity 1.8s var(--ease-inout)}
.oc-site .oc-xfade__slide.is-on{opacity:1}
.oc-site .oc-xfade__copy .oc-xf{transition:color .6s var(--ease-out),box-shadow .6s var(--ease-out);box-shadow:inset 0 -2px 0 transparent;cursor:default}
.oc-site .oc-xfade__copy .oc-xf.is-on{color:var(--orange);box-shadow:inset 0 -2px 0 var(--orange)}

/* ---------- draggable rail feel ---------- */
.oc-site .oc-hscroll__track{will-change:transform}
.oc-site .oc-hcard{will-change:transform;transform-origin:50% 100%}
.oc-cursor.is-down{transform:translate(-50%,-50%) scale(.8)}
/* desktop rail runs on a transform instead of native scroll */
.oc-site .e-con.oc-hscroll__track.is-rail{overflow:visible;scroll-snap-type:none;touch-action:pan-y;user-select:none}
.oc-site .oc-hscroll__track.is-rail img{-webkit-user-drag:none}

/* ---------- scroll-driven hero motion, run by the browser on the compositor thread ----------
   Chrome, Edge and Safari 26+ run these off the main thread, so the photo scale stays smooth even while
   scripts are busy. site.js adds .oc-sda only where the browser supports it; other browsers get the GSAP version. */
@keyframes oc-settle{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes oc-settle-sm{from{transform:scale(1.1)}to{transform:scale(1)}}
@keyframes oc-lift-10{from{transform:translateY(0)}to{transform:translateY(-10%)}}
@keyframes oc-lift-16{from{transform:translateY(0)}to{transform:translateY(-16%)}}
@keyframes oc-bar-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes oc-bar-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes oc-par{from{transform:translateY(-8%)}to{transform:translateY(8%)}}
.oc-sda .oc-site .oc-hero__media{animation:oc-settle-sm linear both;animation-timeline:scroll(root block);animation-range:0 80vh}
.oc-sda .oc-site .oc-hero__content{animation:oc-lift-10 linear both;animation-timeline:scroll(root block);animation-range:0 80vh}
.oc-sda .oc-site .oc-hero__bar--t,.oc-sda .oc-site .oc-hero__bar--b{animation:oc-bar-y linear both;animation-timeline:scroll(root block);animation-range:0 40vh}
.oc-sda .oc-site .oc-hero__bar--l,.oc-sda .oc-site .oc-hero__bar--r{animation:oc-bar-x linear both;animation-timeline:scroll(root block);animation-range:0 40vh}
@media (max-width:900px){
  .oc-sda .oc-site .oc-hero__media,.oc-sda .oc-site .oc-hero__content{animation:none}
  .oc-sda .oc-site .oc-hero__bar--t,.oc-sda .oc-site .oc-hero__bar--b,.oc-sda .oc-site .oc-hero__bar--l,.oc-sda .oc-site .oc-hero__bar--r{animation-range:0 50vh}
}
.oc-sda .oc-site .oc-pagehero,.oc-sda .oc-site .oc-splithero{view-timeline-name:--oc-hero}
.oc-sda .oc-site .oc-pagehero .oc-cover img,.oc-sda .oc-site .oc-splithero .oc-cover img{animation:oc-settle linear both;animation-timeline:--oc-hero;animation-range:exit 0% exit 100%}
.oc-sda .oc-site .oc-pagehero__content{animation:oc-lift-16 linear both;animation-timeline:--oc-hero;animation-range:exit 0% exit 100%}
.oc-sda .oc-site .oc-fullbleed{view-timeline-name:--oc-band}
.oc-sda .oc-site .oc-fullbleed .oc-cover img{animation:oc-par linear both;animation-timeline:--oc-band;animation-range:cover 0% cover 100%}

/* ---------- phones: stacked decks and swipe rails ---------- */
/* oc-mstack on a card grid: on phones its cards pin under the header and the next slides over (site.js gives them one height).
   Photo-card grids (oc-grid3 / oc-grid4 of oc-path) become a swipe rail on phones, next card peeking.
   Add oc-norail to a grid to keep the column, or oc-mrail to make any grid a rail. */
@media (max-width:900px){
  .oc-site .e-con.oc-mstack{display:flex;flex-direction:column;gap:var(--s2)}
  .oc-site .e-con.oc-mstack > .e-con{position:sticky;top:calc(var(--header-h) + var(--s1) + var(--i,0) * 10px);min-height:var(--mstack-h,0px);padding:var(--s3)}
  .oc-site .e-con.oc-mstack > .e-con:not(.is-orange):not(.is-filled):not(.is-mist){background:var(--white)}
  .oc-site .is-black .e-con.oc-mstack > .e-con:not(.is-orange):not(.is-filled):not(.is-mist){background:var(--black)}
  .oc-site .oc-mstack > :nth-child(2){--i:1}
  .oc-site .oc-mstack > :nth-child(3){--i:2}
  .oc-site .oc-mstack > :nth-child(4){--i:3}
  .oc-site .oc-mstack > :nth-child(5){--i:4}
  .oc-site .oc-mstack > :nth-child(6){--i:5}
  .oc-site .e-con.oc-mrail,.oc-site .e-con.oc-grid3:has(> .oc-path):not(.oc-norail),.oc-site .e-con.oc-grid4:has(> .oc-path):not(.oc-norail){display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;gap:var(--s2);margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scroll-padding-inline:var(--gutter);scrollbar-width:none;overscroll-behavior-x:contain}
  .oc-site .e-con.oc-mrail::-webkit-scrollbar,.oc-site .e-con.oc-grid3:has(> .oc-path):not(.oc-norail)::-webkit-scrollbar,.oc-site .e-con.oc-grid4:has(> .oc-path):not(.oc-norail)::-webkit-scrollbar{display:none}
  .oc-site .e-con.oc-mrail > .e-con,.oc-site .e-con.oc-grid3:has(> .oc-path):not(.oc-norail) > .e-con,.oc-site .e-con.oc-grid4:has(> .oc-path):not(.oc-norail) > .e-con{flex:0 0 78%;scroll-snap-align:start}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .oc-site .e-con.oc-stack__card{position:relative;top:auto}
  .oc-site .e-con.oc-mstack > .e-con{position:relative;top:auto}
  .oc-menu,.oc-menu.is-open{transition:none}
  .oc-js .oc-site .oc-fade{opacity:1;translate:0 0;transition:none}
}
