.elementor-5303 .elementor-element.elementor-element-bdf2e1a{--display:flex;}.elementor-5303 .elementor-element.elementor-element-121f124{--display:grid;--e-con-grid-template-columns:7fr 5fr;--e-con-grid-template-rows:repeat(1, 1fr);--gap:75px 75px;--row-gap:75px;--column-gap:75px;--grid-auto-flow:row;--align-items:center;--padding-top:64px;--padding-bottom:32px;--padding-left:40px;--padding-right:40px;}.elementor-5303 .elementor-element.elementor-element-cb8d23e{--display:flex;--min-height:100%;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:100px 0px;--row-gap:100px;--column-gap:0px;}.elementor-5303 .elementor-element.elementor-element-cb8d23e.e-con{--align-self:flex-start;}.elementor-5303 .elementor-element.elementor-element-1d4947f{--display:flex;}.elementor-widget-text-editor{color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-5303 .elementor-element.elementor-element-27d6b62{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:025px 0px;--row-gap:025px;--column-gap:0px;}.elementor-5303 .elementor-element.elementor-element-d30cf53{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-5303 .elementor-element.elementor-element-1877e46{color:#C78A3B;}.elementor-widget-heading .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-5303 .elementor-element.elementor-element-b561deb .elementor-heading-title{font-size:6rem;line-height:6rem;color:#10161E;}.elementor-5303 .elementor-element.elementor-element-115f306 .elementor-heading-title{font-size:5rem;font-weight:200;line-height:5rem;color:#10161E;}.elementor-5303 .elementor-element.elementor-element-9df1ffe{width:var( --container-widget-width, 80% );max-width:80%;--container-widget-width:80%;--container-widget-flex-grow:0;}.elementor-5303 .elementor-element.elementor-element-46285ca{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 015px;--row-gap:0px;--column-gap:015px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );}.elementor-5303 .elementor-element.elementor-element-d1a767d.elementor-element{--align-self:center;}.elementor-5303 .elementor-element.elementor-element-d1a767d .elementor-button{font-weight:300;}.elementor-5303 .elementor-element.elementor-element-3cd425f .elementor-button{font-weight:300;}.elementor-5303 .elementor-element.elementor-element-6f2efd1{--spacer-size:10px;}.elementor-5303 .elementor-element.elementor-element-35e08e8{--display:flex;}.elementor-5303 .elementor-element.elementor-element-bd44ee1{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );}.elementor-5303 .elementor-element.elementor-element-2a6397b{--display:flex;}.elementor-5303 .elementor-element.elementor-element-17dbb50{--spacer-size:50px;}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-5303 .elementor-element.elementor-element-4a97f3a{--display:flex;}.elementor-5303 .elementor-element.elementor-element-81c4378{--display:grid;--e-con-grid-template-columns:7fr 5fr;--e-con-grid-template-rows:repeat(0, 1fr);--gap:0px 75px;--row-gap:0px;--column-gap:75px;--grid-auto-flow:row;--margin-top:0px;--margin-bottom:00px;--margin-left:0px;--margin-right:0px;}.elementor-5303 .elementor-element.elementor-element-fec901c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:36px 0px;--row-gap:36px;--column-gap:0px;}.elementor-5303 .elementor-element.elementor-element-c6bb016 .elementor-heading-title{font-family:"Fraunces", Sans-serif;font-size:40px;font-weight:300;line-height:48px;color:#10161E;}.elementor-5303 .elementor-element.elementor-element-1ced07a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:025px 0px;--row-gap:025px;--column-gap:0px;}.elementor-5303 .elementor-element.elementor-element-238b574{--display:flex;--min-height:fit-content;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:15px 0px;--row-gap:15px;--column-gap:0px;--border-radius:20px 20px 20px 20px;}.elementor-5303 .elementor-element.elementor-element-238b574:not(.elementor-motion-effects-element-type-background), .elementor-5303 .elementor-element.elementor-element-238b574 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(148deg, #122032 0%, #414A57 100%);}.elementor-5303 .elementor-element.elementor-element-89b79c9{font-size:0.75rem;font-weight:500;text-transform:uppercase;letter-spacing:0.2em;color:#BABBBA;}.elementor-5303 .elementor-element.elementor-element-09f2e21{font-family:"Fraunces", Sans-serif;font-size:24px;font-weight:400;color:#FEFAF1;}.elementor-5303 .elementor-element.elementor-element-a8367f2{font-size:14px;font-weight:300;color:#D2D2CF;}.elementor-5303 .elementor-element.elementor-element-f1fb5f9{--display:flex;}.elementor-5303 .elementor-element.elementor-element-53667c7{--display:flex;}.elementor-5303 .elementor-element.elementor-element-7abc79e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:20px 0px;--row-gap:20px;--column-gap:0px;}.elementor-5303 .elementor-element.elementor-element-9905678{font-family:"Fraunces", Sans-serif;font-size:36px;line-height:48px;}.elementor-5303 .elementor-element.elementor-element-402ff02{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5303 .elementor-element.elementor-element-a06c2a8 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-5303 .elementor-element.elementor-element-a06c2a8{font-family:"Fraunces", Sans-serif;font-size:24px;font-weight:300;line-height:36px;}.elementor-5303 .elementor-element.elementor-element-a06c2a8 p{margin-block-end:0px;}.elementor-5303 .elementor-element.elementor-element-ac699f4{--display:flex;}.elementor-5303 .elementor-element.elementor-element-3312c1e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:30px 0px;--row-gap:30px;--column-gap:0px;}.elementor-5303 .elementor-element.elementor-element-853f17e{--display:flex;--gap:10px 0px;--row-gap:10px;--column-gap:0px;}.elementor-5303 .elementor-element.elementor-element-1781000{font-family:"Fraunces", Sans-serif;font-size:36px;font-weight:300;line-height:48px;}.elementor-5303 .elementor-element.elementor-element-775da11{--display:flex;}.elementor-5303 .elementor-element.elementor-element-3ace9ae{--display:grid;--e-con-grid-template-columns:4fr 5fr;--e-con-grid-template-rows:repeat(1, 1fr);--gap:0px 75px;--row-gap:0px;--column-gap:75px;--grid-auto-flow:row;}.elementor-5303 .elementor-element.elementor-element-7f41c35{--display:flex;}.elementor-5303 .elementor-element.elementor-element-cd92046{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:20px 0px;--row-gap:20px;--column-gap:0px;}.elementor-5303 .elementor-element.elementor-element-76f1a11{font-family:"Fraunces", Sans-serif;font-size:36px;font-weight:300;line-height:48px;}.elementor-5303 .elementor-element.elementor-element-b76f00b{font-weight:300;}.elementor-5303 .elementor-element.elementor-element-79d8764{--n-tabs-direction:column;--n-tabs-heading-direction:row;--n-tabs-heading-width:initial;--n-tabs-title-flex-basis:content;--n-tabs-title-flex-shrink:0;--n-tabs-heading-justify-content:flex-start;--n-tabs-title-width:initial;--n-tabs-title-height:initial;--n-tabs-title-align-items:center;--n-tabs-title-flex-grow:0;--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;width:100%;max-width:100%;--n-tabs-title-justify-content:center;--n-tabs-title-text-align:center;--n-tabs-title-gap:0px;--n-tabs-gap:56px;--n-tabs-title-color:#10161E;--n-tabs-title-color-active:#10161E;--n-tabs-title-direction:row;--n-tabs-icon-order:initial;--n-tabs-title-justify-content-toggle:initial;--n-tabs-title-align-items-toggle:center;--n-tabs-icon-size:0px;}.elementor-5303 .elementor-element.elementor-element-79d8764 > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:#FFFFFF00;}.elementor-5303 .elementor-element.elementor-element-79d8764.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#FEFEFE00;border-style:solid;border-width:0px 0px 1px 0px;border-color:#B9B7B4;}.elementor-5303 .elementor-element.elementor-element-79d8764.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-5303 .elementor-element.elementor-element-79d8764.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#FEFEFE00;border-style:solid;border-width:0px 0px 2px 0px;border-color:#C78A3B;}.elementor-5303 .elementor-element.elementor-element-79d8764.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-5303 .elementor-element.elementor-element-79d8764.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:not( :hover ){border-style:solid;border-width:0px 0px 1px 0px;border-color:#B9B7B4;}.elementor-5303 .elementor-element.elementor-element-79d8764.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:"Fraunces", Sans-serif;}.elementor-5303 .elementor-element.elementor-element-79d8764 [data-touch-mode="false"] .e-n-tab-title[aria-selected="false"]:hover{--n-tabs-title-color-hover:#10161E;}:where( .elementor-5303 .elementor-element.elementor-element-79d8764.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-content ) > .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:128px;--padding-left:0px;}@media(min-width:768px){.elementor-5303 .elementor-element.elementor-element-121f124{--content-width:1200px;}.elementor-5303 .elementor-element.elementor-element-2a6397b{--content-width:1200px;}}@media(max-width:1599px){.elementor-5303 .elementor-element.elementor-element-121f124{--grid-auto-flow:row;}.elementor-5303 .elementor-element.elementor-element-81c4378{--grid-auto-flow:row;}.elementor-5303 .elementor-element.elementor-element-3ace9ae{--grid-auto-flow:row;}}@media(max-width:1366px){.elementor-5303 .elementor-element.elementor-element-121f124{--grid-auto-flow:row;}.elementor-5303 .elementor-element.elementor-element-81c4378{--grid-auto-flow:row;}.elementor-5303 .elementor-element.elementor-element-3ace9ae{--grid-auto-flow:row;}}@media(max-width:1199px){.elementor-5303 .elementor-element.elementor-element-121f124{--grid-auto-flow:row;}.elementor-5303 .elementor-element.elementor-element-81c4378{--grid-auto-flow:row;}.elementor-5303 .elementor-element.elementor-element-3ace9ae{--grid-auto-flow:row;}}@media(max-width:1024px){.elementor-5303 .elementor-element.elementor-element-121f124{--grid-auto-flow:row;}.elementor-5303 .elementor-element.elementor-element-81c4378{--grid-auto-flow:row;}.elementor-5303 .elementor-element.elementor-element-3ace9ae{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-5303 .elementor-element.elementor-element-121f124{--e-con-grid-template-columns:1;--grid-auto-flow:row;}.elementor-5303 .elementor-element.elementor-element-81c4378{--e-con-grid-template-columns:1;--grid-auto-flow:row;}.elementor-5303 .elementor-element.elementor-element-3ace9ae{--e-con-grid-template-columns:1;--grid-auto-flow:row;}}/* Start custom CSS */.pbc button, 
.pbc button:hover, 
.pbc input,
.pbc input[type="button"], 
.pbc input[type="button"]:hover, 
.pbc input[type="submit"], 
.pbc .elementor-button, 
.pbc .elementor-button:hover,
.pbc .elementor-button-link:before,
.pbc a,
.pbc p, 
.pbc h1, 
.pbc h2, 
.pbc h3, 
.pbc h4, 
.pbc h5, 
.pbc h6 { 
    all: unset;
}

.pbc .elementor-button-link:hover .elementor-button-content-wrapper {
    color: initial;
}

.pbc .elementor-5303 
.elementor-element.elementor-element-79d8764
.elementor-widget-n-tabs > 
.elementor-widget-container > 
.e-n-tabs[data-touch-mode='false'] > 
.e-n-tabs-heading > 
.e-n-tab-title[aria-selected="false"]:hover,
.pbc .elementor-5303 .elementor-element.elementor-element-79d8764.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"]{
    padding: 0 35px !important;
}

.pbc .elementor-widget-n-tabs .e-n-tabs-heading {
    position: relative;
}

.pbc .elementor-widget-n-tabs .e-n-tabs-heading::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 2px;
    bottom:0;
    border-bottom: 1px solid #e4e7f1;  
    z-index: 0;
}

.pbc .elementor-5303 .elementor-element.elementor-element-79d8764.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ) {
    display: flex;
    gap: 10px;
    align-items: end;
}

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600;700&display=swap');

/* 2. Design tokens -------------------------------------------------------- */
:root{
  --cream: #F3F7FF;
  --ink: #1B2453;
  --gold: #EABF3C;
  --gold-soft: #F7E9BE;
  --background: var(--cream);
  --foreground: #1B2453;
  --card: #FFFFFF;
  --primary: #1B2453;
  --primary-foreground: #FEFEFE;
  --muted: #F5F5F5;
  --muted-foreground: #4C4C4C;
  --border: #E4E7F1;
  --font-display: "Fraunces", Georgia, serif;
  --font-sans: "Inter", system-ui, sans-serif;
  --shadow-elevated: 0 30px 60px -30px color-mix(in oklab, var(--ink) 35%, transparent);
  --shadow-card: 0 1px 0 0 color-mix(in oklab, var(--ink) 6%, transparent), 0 20px 40px -24px color-mix(in oklab, var(--ink) 18%, transparent);
}

/* 3. .pbc base + page background ------------------------------------------ */
.pbc {
  display: block;
  font-family: var(--font-sans);
  color: var(--foreground);
  /* two radial glows: gold top-right ~12%, primary bottom-left ~8% */
  background-color: var(--background);
  background-image:
    radial-gradient(60rem 60rem at 100% 0%, color-mix(in oklab, var(--gold) 12%, transparent), transparent 60%),
    radial-gradient(55rem 55rem at 0% 100%, color-mix(in oklab, var(--primary) 8%, transparent), transparent 60%);
  background-repeat: no-repeat;
  background-attachment: fixed;
  line-height: 1.6;
}

/* 4. Kit overrides (scoped + important) ----------------------------------- */
/* Headings / display type -> Fraunces, beating h1..h6{Ivy Mode !important}. */
body.elementor-page .pbc :is(h1,h2,h3,.pbc-name,.pbc-name-italic,.font-display){
  font-family: var(--font-display) !important;
  font-feature-settings: "ss01";
  letter-spacing: -0.02em;
}

/* Primary button -> navy rounded-full pill, cream text. Beats squared navy Kit. */
body.elementor-page .pbc .pbc-btn-primary{
  background: var(--primary) !important;
  color: var(--primary-foreground) !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 0.75rem 1.25rem !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
body.elementor-page .pbc .pbc-btn-primary:hover{
  transform: translateY(-1px);
  box-shadow: var(--shadow-card);
}

/* Ghost button -> transparent/card, hairline border, rounded pill.
   Must also beat the Kit, so background/border/color/radius carry !important. */
body.elementor-page .pbc .pbc-btn-ghost{
  background: var(--card) !important;
  color: var(--foreground) !important;
  border: 1px solid var(--border) !important;
  border-radius: 999px !important;
  padding: 0.75rem 1.25rem !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s ease, border-color 0.2s ease;
}
body.elementor-page .pbc .pbc-btn-ghost:hover{
  transform: translateY(-1px);
  border-color: color-mix(in oklab, var(--ink) 40%, transparent) !important;
}

/* 5. Component recipes ---------------------------------------------------- */

/* --- Hero layout (2-column: text left, portrait right) ------------------- */
.pbc-hero{
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: 3rem;
  align-items: end;
}
/* Stack below ~1024px: text first, portrait last. */
@media (max-width: 1024px){
  .pbc-hero{
    grid-template-columns: 1fr;
    gap: 2.5rem;
    align-items: start;
  }
}

/* --- Eyebrow -------------------------------------------------------------- */
.pbc-eyebrow{
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--muted-foreground);
  font-weight: 500;
}
/* current / last breadcrumb-style state reads as foreground */
.pbc-eyebrow [aria-current],
.pbc-eyebrow .current,
.pbc-eyebrow :last-child{
  color: var(--foreground);
}

/* --- Role --------------------------------------------------------------- */
.pbc-role{
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.875rem;
  font-weight: 500;
}

/* --- Name (hero display) ------------------------------------------------- */
.pbc-name{
  font-family: var(--font-display);
  font-size: clamp(3rem, 7vw, 7rem);
  line-height: 0.95;
  color: var(--foreground);
  margin: 0.5rem 0;
  font-weight: 500;
}
.pbc-name-italic{
  font-style: italic;
  font-weight: 300;
}

/* --- Tagline ------------------------------------------------------------- */
.pbc-tagline{
  color: var(--muted-foreground);
  font-size: 1.125rem;
  line-height: 1.7;
  max-width: 36rem;
}

/* --- Buttons: see section 4 for .pbc-btn-primary / .pbc-btn-ghost -------- */

/* --- Stats -------------------------------------------------------------- */
.pbc-stats{
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
}
.pbc-stats .value,
.pbc-stat-value{
  font-family: var(--font-display);
  font-size: 1.875rem;
  color: var(--foreground);
  line-height: 1.1;
  font-weight: 500;
}
.pbc-stat-label{
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--muted-foreground);
  font-size: 0.75rem;
  margin-top: 0.25rem;
}

/* --- Portrait ----------------------------------------------------------- */
.pbc-portrait{
  position: relative;
  display: inline-block;
}
.pbc-portrait img{
  aspect-ratio: 4 / 5;
  width: 100%;
  object-fit: cover;
  border-radius: 1rem;
  box-shadow: var(--shadow-elevated);
  display: block;
}
.pbc-portrait::before{
  content: "";
  position: absolute;
  inset: -1rem;
  border-radius: 2rem;
  z-index: -1;
  background: radial-gradient(closest-side, var(--gold-soft), transparent 70%);
  filter: blur(24px);
}
.pbc-portrait-overlay{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1.5rem;
  color: var(--cream);
  background: linear-gradient(to top, color-mix(in oklab, var(--ink) 30%, transparent), transparent);
  border-radius: 0 0 1rem 1rem;
  
  display: flex;
  justify-content: space-between;
  align-items: end;
}

.pbc-portrait-overlay .left {
    display: flex;
    flex-direction: column;
}

.pbc-portrait-overlay .title {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: #cecdc9;
    font-weight: 500;
}

.pbc-portrait-overlay .focus {
    font-family: fraunces;
    font-weight: 300;
    font-size: 16px;
    color: white;
}

.pbc-portrait-overlay .cirlce {
    font-family: fraunces;
    font-weight: 300;
    font-size: 16px;
    color: white;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #717173;
    border-radius: 100px;
    font-style: italic;
}

/* --- Dropcap ------------------------------------------------------------- */
.pbc-dropcap p:first-of-type::first-letter{
  float: left;
  font-family: var(--font-display);
  font-size: 3.25rem;
  line-height: 0.8;
  color: var(--gold);
  margin: 0.25rem 0.75rem 0 0;
}

/* --- Quote --------------------------------------------------------------- */
.pbc-quote{
  border-left: 2px solid var(--gold);
  padding-left: 1.5rem;
  font-style: italic;
  font-family: var(--font-display);
  font-size: 1.5rem;
  color: color-mix(in oklab, var(--ink) 90%, transparent);
  line-height: 1.5;
}

/* --- Practice areas card ------------------------------------------------- */
.pbc-practice{
  background: #ffffff;
  border-radius: 1rem;
  box-shadow: var(--shadow-card);
  border: 1px solid color-mix(in oklab, var(--ink) 8%, transparent);
  overflow: hidden;
}

.pbc-practice .pbc-practice-heading {
  padding: 20px 20px 0;
}

.pbc-practice .pbc-practice-title {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--muted-foreground);
  font-weight: 500;
}

.pbc-practice .pbc-practice-row,
.pbc-practice li,
.pbc-practice .row{
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid color-mix(in oklab, var(--ink) 8%, transparent);
}
.pbc-practice .pbc-practice-row:last-child,
.pbc-practice li:last-child,
.pbc-practice .row:last-child{
  border-bottom: 0;
}
.pbc-practice .number,
.pbc-practice .pbc-practice-num{
  font-family: var(--font-display);
  color: #c78a3b;
  font-size: 0.875rem;
  font-weight: 300;
}

.pbc-practice .title {
  font-size: 18px;
  font-family: var(--font-display);
  font-weight: 300;
  color: #10161e;
}

.pbc-practice .desc {
    font-size: 14px;
  font-family: var(--font-sans);
  font-weight: 300;
  color: #4e5862;
}

.pbc-practice .arrow{
  margin-left: auto;
  width: 1rem;
  color: var(--muted-foreground);
  transition: transform 0.2s ease;
}
.pbc-practice .pbc-practice-row:hover .arrow,
.pbc-practice li:hover .arrow,
.pbc-practice .row:hover .arrow{
  transform: translateX(4px);
}

/* --- Office (contact / CTA card) ---------------------------------------- */
.pbc-office{
  background: linear-gradient(135deg, var(--primary), color-mix(in oklab, var(--primary) 80%, transparent));
  color: var(--primary-foreground);
  border-radius: 1rem;
  padding: 1.75rem;
}
.pbc-office a{
  color: var(--primary-foreground);
}

/* --- Admissions card ----------------------------------------------------- */
.pbc-admit{
  position: relative;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 1rem;
  box-shadow: var(--shadow-card);
  overflow: hidden;
  padding: 1.5rem;
  transition: box-shadow 0.25s ease;
}
.pbc-admit:hover{
  box-shadow: var(--shadow-elevated);
}
.pbc-admit::before{
  content: "";
  position: absolute;
  top: -2rem;
  right: -2rem;
  width: 8rem;
  height: 8rem;
  border-radius: 999px;
  background: radial-gradient(closest-side, var(--gold-soft), transparent 70%);
  filter: blur(24px);
  z-index: 0;
}
.pbc-admit > *{
  position: relative;
  z-index: 1;
}
.pbc-admit-year{
  font-size: 2.25rem;
  color: var(--muted-foreground);
  font-family: var(--font-display);
  line-height: 1;
  font-weight: 400;
}
.pbc-admit-title,
.pbc-admit .title{
  font-family: var(--font-display);
  font-size: 1.25rem;
  color: var(--foreground);
  margin-top: 0.5rem;
}
.pbc-admit .star{
  color: var(--gold);
}

/* --- Affiliations card --------------------------------------------------- */
.pbc-affil{
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  background: var(--card);
  padding: 1.25rem;
  transition: border-color 0.2s ease;
}
.pbc-affil:hover{
  border-color: color-mix(in oklab, var(--gold) 60%, transparent);
}
.pbc-affil-tag{
  display: inline-block;
  background: var(--gold-soft);
  color: var(--foreground);
  text-transform: uppercase;
  font-size: 0.625rem;
  letter-spacing: 0.08em;
  font-weight: 600;
  border-radius: 999px;
  padding: 0.25rem 0.625rem;
}
.pbc-affil-name{
  font-family: var(--font-display);
  font-size: 1.25rem;
  color: var(--foreground);
  margin-top: 0.5rem;
}

/* --- Tabs ---------------------------------------------------------------- */
.pbc-tabbar{
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  position: relative;
}
/* bottom hairline for the tab bar */
.pbc-tabbar::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in oklab, var(--ink) 30%, transparent), transparent);
}
.pbc-tab{
  position: relative;
  padding: 1rem 1.5rem;
  background: transparent;
  border: 0;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  text-align: left;
  color: var(--muted-foreground);
}
/* Kit override: nested-Tab titles are <button> elements, so the hostile
   Kit button{background/border-radius/padding !important} would turn tabs
   into navy squared boxes. Beat it with scoped !important (same technique
   as the buttons). Keep tabs transparent so the gold ::after underline shows. */
body.elementor-page .pbc .pbc-tab{
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 1rem 1.5rem !important;
  color: var(--muted-foreground) !important;
  position: relative;
}
body.elementor-page .pbc .pbc-tab.active,
body.elementor-page .pbc .pbc-tab[aria-selected="true"]{
  color: var(--foreground) !important;
  background: transparent !important;
}
.pbc-tab-num{
  font-family: var(--font-display);
  font-size: 0.75rem;
  transform: translateY(-2px);
}
.pbc-tab-label{
  font-family: var(--font-display);
  font-size: 1.25rem;
}
/* active state (by class or aria) */
.pbc-tab.active,
.pbc-tab[aria-selected="true"]{
  color: var(--foreground);
}
.pbc-tab.active .pbc-tab-num,
.pbc-tab[aria-selected="true"] .pbc-tab-num{
  color: var(--gold);
}
/* active underline: 2px gold bar */
.pbc-tab.active::after,
.pbc-tab[aria-selected="true"]::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: var(--gold);
}

/* --- Panel (animated) ---------------------------------------------------- */
.pbc-panel{
  animation: fade-up 0.5s ease-out both;
}

/* 6. Panel content recipes (wysiwyg / titles / education) ----------------- */

/* --- Panel title (from a section's *_title field) ------------------------ */
.pbc-panel-title{
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3vw, 2rem);
  color: var(--foreground);
  line-height: 1.15;
  font-weight: 500;
  margin: 0 0 1rem;
}

/* --- Prose (styles raw WYSIWYG output inside the .pbc scope) --------------
   Elementor + Hello ship minimal element resets, so wysiwyg fields land with
   almost no styling. These scoped rules give ACF wysiwyg output real prose
   typography without leaking outside .pbc. */
.pbc .pbc-prose p{
  color: color-mix(in oklab, var(--ink) 85%, transparent);
  line-height: 1.7;
  margin: 0 0 1rem;
}
.pbc .pbc-prose h1,
.pbc .pbc-prose h2,
.pbc .pbc-prose h3,
.pbc .pbc-prose h4{
  font-family: var(--font-display);
  color: var(--foreground);
  line-height: 1.2;
  margin: 1.5rem 0 0.75rem;
}
.pbc .pbc-prose h2{ font-size: 1.5rem; }
.pbc .pbc-prose h3{ font-size: 1.25rem; }
.pbc .pbc-prose ul,
.pbc .pbc-prose ol{
  padding-left: 1.25rem;
  margin: 0 0 1rem;
}
.pbc .pbc-prose li{
  margin: 0.25rem 0;
}
.pbc .pbc-prose a{
  color: var(--gold);
  text-decoration: underline;
}
.pbc .pbc-prose strong{
  font-weight: 600;
}
.pbc .pbc-prose > *:last-child{
  margin-bottom: 0;
}

/* --- Education (image + prose, side by side, stacks on mobile) ------------ */
.pbc-edu{
  display: grid;
  grid-template-columns: minmax(0, 22rem) minmax(0, 1fr);
  gap: 2rem;
  align-items: start;
}
.pbc-edu img,
.pbc-edu-image{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 1rem;
  box-shadow: var(--shadow-elevated);
}
@media (max-width: 760px){
  .pbc-edu{
    grid-template-columns: 1fr;
  }
}

/* Education timeline — used by [pbc_education] */
.pbc .pbc-timeline{ 
    list-style:none; 
    margin:0; 
    padding:0; 
}

.pbc .pbc-timeline-item { 
    position:relative; 
    padding:0 0 2.5rem 2rem; 
    border-left:1px solid var(--border);
}

.pbc .pbc-timeline-item:last-child{ 
    border-left-color:transparent; 
    padding-bottom:0; 
}

.pbc .pbc-timeline-item::before{ 
    content:""; 
    position:absolute; 
    left:-7px; 
    top:.3rem; 
    width:13px; 
    height:13px; 
    border-radius:999px; 
    background: #1b2454; 
    box-shadow:0; 
}

.pbc .pbc-timeline-head{ 
    display:flex; 
    align-items:baseline; 
    gap:.75rem; 
}

.pbc .pbc-timeline-year{ 
    font-family:var(--font-display); 
    font-size:1.875rem; 
    line-height:1; 
    color:var(--foreground); 
}

.pbc .pbc-timeline-step{ 
    font-size:.75rem; 
    letter-spacing:.18em; 
    text-transform:uppercase; 
    color:var(--muted-foreground); 
}

.pbc .pbc-timeline-title{ 
    font-family:var(--font-display); 
    font-size:1.25rem; 
    color:var(--foreground); 
    margin-top:.5rem; 
}

.pbc .pbc-timeline-school{ 
    color: #c6893b; 
    font-weight: 300; 
    font-size:.9rem; 
    margin-top:.15rem; 
}

.pbc .pbc-timeline-detail{ 
    color:var(--muted-foreground); 
    margin-top:.5rem; 
    max-width:36rem; 
}

/* 7. Keyframes ------------------------------------------------------------ */
@keyframes fade-up{
  from{ opacity: 0; transform: translateY(12px); }
  to{ opacity: 1; transform: translateY(0); }
}/* End custom CSS */