/* GLBS shared tokens and primitives. */
.glbs-site{--glbs-navy:#0b2a3b;--glbs-gold:#d9a642;--glbs-gold-dark:#b88932;--glbs-paper:#f7f6f2;--glbs-soft:#ece8e1;--glbs-text:#1b1f23;--glbs-border:#ddd8d0;--glbs-white:#fff;--glbs-radius:14px;box-sizing:border-box;color:var(--glbs-text);min-width:0}
.glbs-site *, .glbs-site *::before,.glbs-site *::after{box-sizing:inherit}

/* Kadence can apply viewport-based negative margins to alignfull/alignwide blocks.
   GLBS sections intentionally use their own contained width system, so neutralize
   those theme offsets only inside GLBS patterns. */
.entry-content>.glbs-site.alignfull,.glbs-site.alignfull{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;left:auto!important;right:auto!important}
.glbs-site>.alignwide,.glbs-site .alignwide,.glbs-site .glbs-wide{width:min(calc(100% - 2rem),1240px)!important;max-width:1240px!important;margin-left:auto!important;margin-right:auto!important;left:auto!important;right:auto!important}
.glbs-site .wp-block-columns,.glbs-site .wp-block-group,.glbs-site .wp-block-query{min-width:0;max-width:100%}
.glbs-site .wp-block-column{min-width:0}

.glbs-site.glbs-section{padding-block:clamp(3.5rem,7vw,6.5rem)}
.glbs-site p{line-height:1.65}.glbs-site h1,.glbs-site h2,.glbs-site h3{color:var(--glbs-navy);font-weight:700;letter-spacing:-.025em}
.glbs-site h1{max-width:15ch;font-size:clamp(2.125rem,5vw,3.75rem);line-height:1.07}.glbs-site h2{font-size:clamp(1.75rem,3.4vw,2.5rem);line-height:1.15}.glbs-site h3{font-size:clamp(1.25rem,2vw,1.625rem);line-height:1.25}
.glbs-intro{max-width:62ch;font-size:clamp(1.0625rem,1.6vw,1.1875rem)}.glbs-eyebrow,.glbs-meta{color:var(--glbs-gold-dark);font-size:.78rem;font-weight:700;letter-spacing:.11em;line-height:1.4;text-transform:uppercase}
.glbs-section-heading{width:min(calc(100% - 2rem),1240px)!important;max-width:1240px!important;margin:0 auto clamp(2.25rem,5vw,4rem)!important}.glbs-section-heading>*{max-width:780px;margin-left:0}
.glbs-site .wp-block-button__link{min-height:46px;padding:.78rem 1.2rem;border:2px solid transparent;border-radius:10px;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.glbs-button--primary .wp-block-button__link{background:var(--glbs-gold);color:var(--glbs-navy)}.glbs-button--primary .wp-block-button__link:hover{background:var(--glbs-gold-dark)}
.glbs-button--secondary .wp-block-button__link{border-color:var(--glbs-navy);background:transparent;color:var(--glbs-navy)}.glbs-button--secondary .wp-block-button__link:hover{background:var(--glbs-navy);color:var(--glbs-white)}
.glbs-site a:focus-visible,.glbs-site .wp-block-button__link:focus-visible{outline:3px solid var(--glbs-gold);outline-offset:4px}.glbs-text-link a{color:var(--glbs-navy);font-weight:700;text-decoration-color:var(--glbs-gold);text-decoration-thickness:2px;text-underline-offset:.25em}
.glbs-image img{display:block;width:100%;max-width:100%;border-radius:12px;object-fit:cover}.glbs-image--hero img{min-height:clamp(360px,50vw,620px);aspect-ratio:4/5}.glbs-image--card img{min-height:220px;aspect-ratio:16/9}.glbs-image--project img{min-height:340px;aspect-ratio:4/3}.glbs-image--project-secondary img{min-height:160px;aspect-ratio:16/10}.glbs-image--portrait img{min-height:500px;aspect-ratio:4/5}.glbs-image--proof img{max-height:120px;object-fit:contain;background:transparent}.glbs-image--contact img{min-height:280px;aspect-ratio:4/3}
#services,#work,#articles,#process,#about,#contact{scroll-margin-top:110px}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
