/* OBRAC per-page visual authority */
:root{
  --obrac-accent:var(--obrac-page-secondary,var(--obrac-purple,#5e00ff));
  --obrac-accent-2:var(--obrac-purple-2,var(--obrac-page-secondary,#5e00ff));
  --obrac-accent-light:var(--obrac-purple-light,var(--obrac-page-secondary,#5e00ff));
}

/* Remove fixed decorative numbering everywhere. */
.obrac-card-number,
.obrac-process .obrac-card::before{display:none!important;content:none!important;}

/* The WP per-page palette controls all accent treatments. */
.obrac-eyebrow,
.obrac-eyebrow .elementor-heading-title,
.obrac-card-number,
.obrac-blog-kicker,
.obrac-blog-category,
.obrac-timeline::before{color:var(--obrac-accent)!important;}

.obrac-header-cta,
.obrac-form-submit,
.obrac-btn-primary .elementor-button,
.obrac-mobile-cta{
  background:linear-gradient(135deg,var(--obrac-accent),var(--obrac-accent-2))!important;
  border-color:var(--obrac-accent)!important;
  box-shadow:0 14px 38px color-mix(in srgb,var(--obrac-accent) 28%,transparent)!important;
}
.obrac-header-cta:hover,
.obrac-form-submit:hover,
.obrac-btn-primary .elementor-button:hover{
  box-shadow:0 20px 48px color-mix(in srgb,var(--obrac-accent) 36%,transparent)!important;
}
.obrac-btn-secondary .elementor-button{border-color:color-mix(in srgb,var(--obrac-accent) 42%,var(--obrac-border))!important;}
.obrac-btn-secondary .elementor-button:hover,
.obrac-site-footer a:hover,
.obrac-nav-list a:hover,
.obrac-nav-list a:focus{color:var(--obrac-accent-light)!important;}
.obrac-card:hover{border-color:color-mix(in srgb,var(--obrac-accent) 42%,transparent)!important;}
.obrac-card::after{background:radial-gradient(circle,color-mix(in srgb,var(--obrac-accent) 18%,transparent),transparent 66%)!important;}
.obrac-card.glow{background:radial-gradient(circle at 85% 12%,color-mix(in srgb,var(--obrac-accent) 25%,transparent),transparent 32%),linear-gradient(145deg,var(--obrac-bg-3),var(--obrac-bg))!important;}
.obrac-band{background:linear-gradient(90deg,color-mix(in srgb,var(--obrac-accent) 5%,transparent),color-mix(in srgb,var(--obrac-accent-light) 3%,transparent),color-mix(in srgb,var(--obrac-accent) 5%,transparent))!important;}
.obrac-quote{border-left-color:var(--obrac-accent)!important;background:linear-gradient(90deg,color-mix(in srgb,var(--obrac-accent) 10%,transparent),transparent)!important;}
.obrac-timeline{border-left-color:color-mix(in srgb,var(--obrac-accent) 30%,transparent)!important;}
.obrac-timeline::before{background:var(--obrac-accent)!important;box-shadow:0 0 22px color-mix(in srgb,var(--obrac-accent) 70%,transparent)!important;}
.obrac-contact-form input:focus,
.obrac-contact-form textarea:focus,
.obrac-contact-form select:focus{border-color:var(--obrac-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--obrac-accent) 12%,transparent)!important;}
button.obrac-menu-toggle:focus-visible{outline-color:var(--obrac-accent)!important;}

/* Replace inherited purple ambient glow with the selected page accent. */
.obrac-section::before{background:radial-gradient(circle,color-mix(in srgb,var(--obrac-accent) 12%,transparent),transparent 66%)!important;}

/* ABOUT — photographic media surfaces. */
body.page-id-11 .obrac-media{
  position:relative!important;
  overflow:hidden!important;
  background-color:#f7f7fa!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  border:1px solid rgba(15,15,18,.14)!important;
  box-shadow:none!important;
}
body.page-id-11 .obrac-media::before,
body.page-id-11 .obrac-media::after{display:none!important;content:none!important;}

/* Home hero copy readability over photography. */
body.page-id-10 .obrac-home-hero-photo .obrac-hero-copy,
body.home .obrac-home-hero-photo .obrac-hero-copy{
  background:linear-gradient(135deg,rgba(1,0,3,.78),rgba(1,0,3,.54))!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:26px!important;
  padding:28px!important;
  box-shadow:0 22px 70px rgba(0,0,0,.30)!important;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
body.page-id-10 .obrac-home-hero-photo .obrac-lead,
body.home .obrac-home-hero-photo .obrac-lead{color:#f1f2f6!important;opacity:1!important;}
body.page-id-10 .obrac-home-hero-photo .obrac-display .elementor-heading-title,
body.home .obrac-home-hero-photo .obrac-display .elementor-heading-title{color:#fff!important;}

/* Keep real photos unobstructed by former placeholder images. */
body.page-id-10 .obrac-photo-slot,
body.home .obrac-photo-slot,
body.page-id-11 .obrac-media{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;}
body.page-id-10 .obrac-photo-slot img,
body.home .obrac-photo-slot img{opacity:0!important;visibility:hidden!important;}

/* Interleaved editorial photography: every photo sits between existing text sections. */
.obrac-interleaved-photo{
  position:relative;
  padding:26px 0 58px;
  background:var(--obrac-bg,#010003);
}
.obrac-interleaved-photo__shell{
  width:min(1180px,calc(100% - 36px));
  margin:0 auto;
}
.obrac-interleaved-photo__image{
  width:100%;
  background:#111 center/cover no-repeat;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}

/* WHAT WE DO — consistent editorial wides, like photographic chapter breaks. */
.obrac-interleaved-photo--work .obrac-interleaved-photo__image{
  aspect-ratio:16/10;
  border-radius:30px;
}
.obrac-interleaved-photo--work.obrac-interleaved-photo--slot-2 .obrac-interleaved-photo__shell{
  width:min(1040px,calc(100% - 54px));
}
.obrac-interleaved-photo--work.obrac-interleaved-photo--slot-3 .obrac-interleaved-photo__image{
  aspect-ratio:3/2;
}

/* OBRAC AI — intentionally asymmetric: wide left, square right, circular focal portrait. */
.obrac-interleaved-photo--ai.obrac-interleaved-photo--slot-1 .obrac-interleaved-photo__shell{
  width:min(1040px,calc(100% - 36px));
  margin-left:max(18px,calc((100% - 1180px)/2));
  margin-right:auto;
}
.obrac-interleaved-photo--ai.obrac-interleaved-photo--slot-1 .obrac-interleaved-photo__image{
  aspect-ratio:16/9;
  border-radius:30px 90px 30px 30px;
}
.obrac-interleaved-photo--ai.obrac-interleaved-photo--slot-2 .obrac-interleaved-photo__shell{
  width:min(560px,calc(100% - 48px));
  margin-left:auto;
  margin-right:max(24px,calc((100% - 1180px)/2));
}
.obrac-interleaved-photo--ai.obrac-interleaved-photo--slot-2 .obrac-interleaved-photo__image{
  aspect-ratio:1/1;
  border-radius:34px;
}
.obrac-interleaved-photo--ai.obrac-interleaved-photo--slot-3 .obrac-interleaved-photo__shell{
  width:min(500px,72vw);
}
.obrac-interleaved-photo--ai.obrac-interleaved-photo--slot-3 .obrac-interleaved-photo__image{
  aspect-ratio:1/1;
  border-radius:50%;
}

/* GET INVOLVED — staggered human story: portrait, panoramic, then offset square. */
.obrac-interleaved-photo--involved.obrac-interleaved-photo--slot-1 .obrac-interleaved-photo__shell{
  width:min(620px,calc(100% - 44px));
}
.obrac-interleaved-photo--involved.obrac-interleaved-photo--slot-1 .obrac-interleaved-photo__image{
  aspect-ratio:4/5;
  border-radius:42px;
}
.obrac-interleaved-photo--involved.obrac-interleaved-photo--slot-2 .obrac-interleaved-photo__shell{
  width:min(1180px,calc(100% - 28px));
}
.obrac-interleaved-photo--involved.obrac-interleaved-photo--slot-2 .obrac-interleaved-photo__image{
  aspect-ratio:21/9;
  border-radius:28px;
}
.obrac-interleaved-photo--involved.obrac-interleaved-photo--slot-3 .obrac-interleaved-photo__shell{
  width:min(600px,calc(100% - 44px));
  margin-left:max(22px,calc((100% - 1180px)/2));
  margin-right:auto;
}
.obrac-interleaved-photo--involved.obrac-interleaved-photo--slot-3 .obrac-interleaved-photo__image{
  aspect-ratio:1/1;
  border-radius:30px 90px 30px 90px;
}

/* Apply the requested second 2/3 reduction to all principal page hero spacing on mobile. */
@media(max-width:767px){
  body.page-id-10 .obrac-hero,
  body.page-id-11 .obrac-hero,
  body.page-id-12 .obrac-hero,
  body.page-id-13 .obrac-hero,
  body.page-id-14 .obrac-hero,
  body.page-id-15 .obrac-hero,
  body.page-id-30 .obrac-hero{min-height:0!important;}

  body.page-id-10 .obrac-hero .obrac-shell,
  body.page-id-11 .obrac-hero .obrac-shell,
  body.page-id-12 .obrac-hero .obrac-shell,
  body.page-id-13 .obrac-hero .obrac-shell,
  body.page-id-14 .obrac-hero .obrac-shell,
  body.page-id-15 .obrac-hero .obrac-shell,
  body.page-id-30 .obrac-hero .obrac-shell{
    padding-top:12px!important;
    padding-bottom:20px!important;
    min-height:0!important;
  }

  body.page-id-10 .obrac-hero-grid,
  body.page-id-11 .obrac-hero-grid,
  body.page-id-12 .obrac-hero-grid,
  body.page-id-13 .obrac-hero-grid,
  body.page-id-14 .obrac-hero-grid,
  body.page-id-15 .obrac-hero-grid,
  body.page-id-30 .obrac-hero-grid{
    gap:10px!important;
    min-height:0!important;
    align-items:start!important;
  }

  body.page-id-10 .obrac-hero-copy,
  body.page-id-11 .obrac-hero-copy,
  body.page-id-12 .obrac-hero-copy,
  body.page-id-13 .obrac-hero-copy,
  body.page-id-14 .obrac-hero-copy,
  body.page-id-15 .obrac-hero-copy,
  body.page-id-30 .obrac-hero-copy{padding-top:0!important;margin-top:0!important;}

  body.page-id-10 .obrac-home-hero-photo,
  body.home .obrac-home-hero-photo{min-height:0!important;}
  body.page-id-10 .obrac-home-hero-photo .obrac-hero-grid,
  body.home .obrac-home-hero-photo .obrac-hero-grid{min-height:0!important;align-items:start!important;}
  body.page-id-10 .obrac-home-hero-photo .obrac-hero-copy,
  body.home .obrac-home-hero-photo .obrac-hero-copy{padding:20px!important;border-radius:22px!important;}

  /* Mobile framing: keep complete visual context and consistent margins. */
  .obrac-interleaved-photo{padding:14px 0 34px;overflow:hidden;}
  .obrac-interleaved-photo__shell,
  .obrac-interleaved-photo--ai.obrac-interleaved-photo--slot-1 .obrac-interleaved-photo__shell,
  .obrac-interleaved-photo--ai.obrac-interleaved-photo--slot-2 .obrac-interleaved-photo__shell,
  .obrac-interleaved-photo--ai.obrac-interleaved-photo--slot-3 .obrac-interleaved-photo__shell,
  .obrac-interleaved-photo--work.obrac-interleaved-photo--slot-2 .obrac-interleaved-photo__shell,
  .obrac-interleaved-photo--involved.obrac-interleaved-photo--slot-1 .obrac-interleaved-photo__shell,
  .obrac-interleaved-photo--involved.obrac-interleaved-photo--slot-2 .obrac-interleaved-photo__shell,
  .obrac-interleaved-photo--involved.obrac-interleaved-photo--slot-3 .obrac-interleaved-photo__shell{
    width:calc(100% - 48px)!important;
    max-width:560px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .obrac-interleaved-photo__image{
    width:100%!important;
    aspect-ratio:4/3!important;
    background-size:cover!important;
    background-position:center center!important;
    border-radius:26px!important;
  }

  /* Preserve a little personality without destructive crops. */
  .obrac-interleaved-photo--work.obrac-interleaved-photo--slot-2 .obrac-interleaved-photo__shell{
    width:calc(100% - 64px)!important;
  }
  .obrac-interleaved-photo--ai.obrac-interleaved-photo--slot-2 .obrac-interleaved-photo__shell{
    width:calc(100% - 72px)!important;
    margin-left:auto!important;
    margin-right:24px!important;
  }
  .obrac-interleaved-photo--ai.obrac-interleaved-photo--slot-3 .obrac-interleaved-photo__shell{
    width:calc(100% - 86px)!important;
  }
  .obrac-interleaved-photo--involved.obrac-interleaved-photo--slot-1 .obrac-interleaved-photo__shell{
    width:calc(100% - 76px)!important;
  }
  .obrac-interleaved-photo--involved.obrac-interleaved-photo--slot-3 .obrac-interleaved-photo__shell{
    width:calc(100% - 66px)!important;
    margin-left:24px!important;
    margin-right:auto!important;
  }

  /* These source images are landscape; use 3:2 where a little more context is useful. */
  .obrac-interleaved-photo--work.obrac-interleaved-photo--slot-1 .obrac-interleaved-photo__image,
  .obrac-interleaved-photo--work.obrac-interleaved-photo--slot-3 .obrac-interleaved-photo__image,
  .obrac-interleaved-photo--ai.obrac-interleaved-photo--slot-1 .obrac-interleaved-photo__image,
  .obrac-interleaved-photo--involved.obrac-interleaved-photo--slot-2 .obrac-interleaved-photo__image{
    aspect-ratio:3/2!important;
  }
}
