/* Elementor page layout. Theme tokens remain the only color source. */
.gbe-page-section.e-con,.gbe-page-hero.e-con,.gbe-page-cta.e-con{--widgets-spacing:0px;--container-widget-width:100%;gap:0;width:100%;max-width:none;margin:0;border-radius:0}
.gbe-page-section.e-con{display:block;padding:80px 20px}
.gbe-content.e-con{display:block;width:100%;max-width:1280px;padding:0;margin-inline:auto;gap:0}
.gbe-page-section .elementor-widget,.gbe-page-hero .elementor-widget,.gbe-page-cta .elementor-widget{margin-block-end:0}
.gbe-page-section .elementor-widget-heading .elementor-heading-title{margin:0}
.gbe-page-section .elementor-widget-text-editor p:last-child{margin-bottom:0}
.gbe-page-surface-40{background:var(--gbe-surface-40)}
.gbe-page-top-rule{border-top:1px solid var(--gbe-border)}
.gbe-heading-row.e-con{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:24px;padding:0;margin:0 0 48px}
.gbe-heading-copy.e-con{display:block;padding:0;max-width:672px}
.gbe-eyebrow .elementor-heading-title{font:700 .75rem/1.4 var(--gbe-font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--gbe-gold)}
.gbe-heading-copy .gbe-eyebrow,.gbe-biography .gbe-eyebrow,.gbe-intro-copy .gbe-eyebrow{margin-bottom:16px}
.gbe-page-section h2{font-size:2.25rem;line-height:.94}
.gbe-page-section h3{font-size:1.5rem;line-height:.94}
.gbe-page-button{width:auto!important}
.gbe-page-button .elementor-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 32px;border:1px solid var(--gbe-transparent);border-radius:var(--gbe-radius-btn);font:600 .875rem/1.4 var(--gbe-font-body);background:var(--gbe-gold);color:var(--gbe-on-gold);transition:opacity .2s,background .2s}
.gbe-page-button .elementor-button:hover{opacity:.9;color:var(--gbe-on-gold)}
.gbe-page-button--outline .elementor-button{background:var(--gbe-transparent);border-color:var(--gbe-border);color:var(--gbe-fg)}
.gbe-page-button--outline .elementor-button:hover{background:var(--gbe-accent);color:var(--gbe-fg);opacity:1}
.gbe-page-buttons.e-con{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;padding:0}
.gbe-page-hero.e-con{position:relative;isolation:isolate;display:flex;justify-content:flex-end;min-height:62vh;overflow:hidden;padding:160px 20px 64px;background:var(--gbe-bg)}
.gbe-page-hero--home.e-con{min-height:100svh;justify-content:center;padding:112px 20px 96px}
.gbe-hero-image.elementor-widget{position:absolute;inset:0;z-index:0;overflow:hidden;width:100%;height:100%;max-width:none}
.gbe-hero-image .elementor-widget-container{height:100%}
.gbe-hero-image img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;border:0;border-radius:0}
.gbe-hero-image img[data-gbe-parallax-ready]{transform:translate3d(var(--gbe-parallax-x,0px),var(--gbe-parallax-y,0px),0) scale(1.12);transition:transform .7s var(--gbe-ease);will-change:transform}
.gbe-hero-decoration.elementor-widget{position:absolute;inset:0;z-index:1;pointer-events:none;width:100%;height:100%}
.gbe-hero-decoration .elementor-widget-container{height:100%}
.gbe-hero-scrim{position:absolute;inset:0;background:var(--gbe-scrim)}
.gbe-hero-glow{position:absolute;inset:0;background:var(--gbe-gradient-stage)}
.gbe-hero-content.e-con{position:relative;z-index:2;display:block}
.gbe-hero-content .gbe-eyebrow{margin-bottom:24px}
.gbe-hero-title .elementor-heading-title,.gbe-page-title .elementor-heading-title{font:inherit;color:inherit;letter-spacing:inherit;text-transform:uppercase;max-width:inherit}
.gbe-hero-title .elementor-heading-title>span{display:block}
.gbe-page-title{max-width:896px}
.gbe-hero-intro{max-width:672px;margin-top:24px}
.gbe-hero-intro p{color:var(--gbe-muted-fg);font-size:1rem;line-height:1.625;margin:0}
.gbe-page-hero--home .gbe-hero-intro{max-width:576px}
.gbe-page-hero--home .gbe-hero-intro p{color:var(--gbe-hero-body)}
.gbe-hero-content .gbe-page-buttons{margin-top:40px}
.gbe-hero-scroll.elementor-widget{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:2;width:auto;text-align:center}
.gbe-scroll-hint{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--gbe-muted-fg);text-decoration:none;min-height:44px}
.gbe-intro-grid.e-con,.gbe-about-grid.e-con{display:grid;grid-template-columns:minmax(0,1fr);gap:56px;padding:0}
.gbe-intro-photo.e-con{position:relative;padding:0;min-width:0}
.gbe-portrait img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border:1px solid var(--gbe-border);border-radius:0;box-shadow:none}
.gbe-location-badge.e-con{display:none;position:absolute;bottom:-24px;right:-16px;width:auto;max-width:240px;padding:16px 24px;border:1px solid var(--gbe-gold-border);background:var(--gbe-media-badge);backdrop-filter:blur(16px)}
.gbe-location-badge p{margin:0;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase}
.gbe-location-badge .elementor-heading-title{margin:4px 0 0;font:400 1.5rem/1.2 var(--gbe-font-heading);color:var(--gbe-fg)}
.gbe-intro-copy.e-con,.gbe-biography.e-con{display:block;padding:0}
.gbe-intro-copy>.elementor-widget-text-editor,.gbe-biography>.elementor-widget-text-editor{margin-top:24px}
.gbe-intro-copy .gbe-page-buttons{margin-top:36px}
.gbe-intro-copy h2{max-width:672px}
.gbe-stats-band.e-con{padding-block:64px;background:var(--gbe-surface);border-block:1px solid var(--gbe-border)}
.gbe-about-images.e-con{display:flex;flex-direction:column;gap:24px;padding:0}
.gbe-about-pair.e-con{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0}
.gbe-about-pair img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border:1px solid var(--gbe-border);border-radius:0}
.gbe-philosophy-grid.e-con{display:grid;grid-template-columns:minmax(0,1fr);gap:1px;padding:1px;background:var(--gbe-border)}
.gbe-philosophy-card.e-con{display:block;min-width:0;padding:32px;background:var(--gbe-surface)}
.gbe-philosophy-card .elementor-widget-text-editor{margin-top:16px;font-size:.875rem}
.gbe-process-grid.e-con{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;padding:0}
.gbe-process-step.e-con{display:block;min-width:0;padding:24px 0 0;border-top:1px solid var(--gbe-gold-border)}
.gbe-process-step h3{margin-top:16px!important}
.gbe-process-step .elementor-widget-text-editor{margin-top:12px;font-size:.875rem}
.gbe-process-number .elementor-heading-title{font:400 2.5rem/1 var(--gbe-font-heading);background:var(--gbe-gradient-gold);background-clip:text;color:var(--gbe-transparent)}
.gbe-page-cta.e-con{display:block;padding:0}
.gbe-contact-grid.e-con{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;padding:0}
.gbe-contact-form.e-con,.gbe-contact-sidebar.e-con{display:flex;flex-direction:column;gap:24px;padding:0;min-width:0}
.gbe-contact-box.e-con{display:block;padding:32px;border:1px solid var(--gbe-border)}
.gbe-contact-box h2{font-size:1.5rem}
.gbe-contact-box .elementor-widget-shortcode{margin-top:24px}
@media(min-width:640px){.gbe-page-section.e-con{padding:112px 32px}.gbe-page-hero.e-con{padding-inline:32px}.gbe-page-hero--home.e-con{padding-block:112px 96px}.gbe-heading-row.e-con{flex-direction:row;align-items:flex-end}.gbe-page-section h2{font-size:3rem}.gbe-stats-band.e-con{padding-block:64px}}
@media(min-width:768px){.gbe-philosophy-grid.e-con{grid-template-columns:repeat(3,minmax(0,1fr))}.gbe-process-grid.e-con{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1024px){.gbe-intro-grid.e-con{grid-template-columns:1fr 1.1fr;align-items:center}.gbe-about-grid.e-con{grid-template-columns:1.1fr .9fr;align-items:start}.gbe-location-badge.e-con{display:block}.gbe-contact-grid.e-con{grid-template-columns:1.4fr .8fr}.gbe-contact-box h2{font-size:1.5rem}.gbe-philosophy-card h3{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.gbe-page-hero img[data-gbe-parallax-ready]{transform:none!important;will-change:auto}}
.gbe-page-section,.gbe-page-hero,.gbe-page-cta{font-family:var(--gbe-font-body);color:var(--gbe-fg)}
.gbe-page-section .elementor-heading-title,.gbe-page-hero .elementor-heading-title{font-family:var(--gbe-font-heading);font-weight:400;text-transform:uppercase;letter-spacing:.005em;color:var(--gbe-fg)}
.gbe-page-section .gbe-eyebrow .elementor-heading-title,.gbe-page-hero .gbe-eyebrow .elementor-heading-title{font:700 .75rem/1.4 var(--gbe-font-body);letter-spacing:.22em;color:var(--gbe-gold)}
.gbe-page-hero--home .gbe-hero-content{animation:gbe-hero-enter 1s var(--gbe-ease) both}
@keyframes gbe-hero-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
/* Section heading scale must not override dynamic card and credit headings. */
.gbe-page-section .gbe-service h2{font-size:1.5rem}
.gbe-page-section .gbe-credit-group h2{font-size:1.5rem}
@media(min-width:640px){.gbe-page-section .gbe-credit-group h2{font-size:1.875rem}}
/* Browser-verified typography and widths; beat Elementor's generic widget sizing. */
.elementor .gbe-page-hero .gbe-page-title.elementor-widget{width:100%;max-width:768px;line-height:1}
.elementor .gbe-page-hero .gbe-hero-title.elementor-widget{width:100%;max-width:896px}
.elementor .gbe-page-hero .gbe-hero-intro.elementor-widget{width:100%;max-width:672px}
.elementor .gbe-page-hero--home .gbe-hero-intro.elementor-widget{max-width:576px}
.gbe-heading-row.e-con:not(:has(.gbe-page-button)) .gbe-heading-copy.e-con{max-width:none}
.gbe-page-section .gbe-service h2{line-height:1.333333}
.gbe-page-section .gbe-process-step h3{font-size:1.25rem;line-height:1.4}
.gbe-page-section .gbe-process-number .elementor-heading-title{font:400 2.5rem/1 var(--gbe-font-heading);color:var(--gbe-gold);background:none}

.gbe-page-hero:not(.gbe-page-hero--home) .gbe-hero-content .gbe-eyebrow{margin-bottom:16px}
.gbe-page-section h2.elementor-heading-title{line-height:1}
@media(min-width:640px){.gbe-hero-intro p{font-size:1.125rem}}
