.font-serif{font-family:Cormorant}.font-roboto{font-family:'Roboto',Arial,sans-serif}.font-sans{font-family:'Roboto',Arial,sans-serif}.portfolio-section .wp-block-post-featured-image,.portfolio-section .wp-block-post-featured-image img{display:block;height:100%;object-fit:cover;width:100%}.portfolio-section .wp-block-post-terms{color:#1A5A8E;font-family:'Roboto',Arial,sans-serif;font-size:0.6875rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase}.portfolio-section .wp-block-post-terms a{color:#1A5A8E;text-decoration:none}.portfolio-section .wp-block-post-terms a:hover{color:#205693}.portfolio-section .wp-block-post-title{color:#205693;flex:1;font-family:'Roboto',Arial,sans-serif;font-size:1rem;font-weight:700;letter-spacing:0.05em;margin:0;text-transform:uppercase}.portfolio-section .wp-block-post-title a{color:inherit;text-decoration:none}.portfolio-section .gb-loop-item-proj008:nth-child(even){margin-left:30%}@media(max-width:1024px){.portfolio-section .gb-loop-item-proj008:nth-child(even){margin-left:0!important}.portfolio-section .gb-loop-item-proj008{width:90%!important}}@media(max-width:768px){.portfolio-section .gb-loop-item-proj008{width:100%!important}}.font-mono{font-family:'Courier New',Courier,monospace}.color-contrast{color:var(--contrast)}.text-xs{font-size:clamp(0.75rem,1.5vw,0.875rem)}.font-weight-700{font-weight:700}.text-sm{font-size:clamp(0.875rem,2vw,1rem)}.button-secondary{align-items:center;background-color:var(--contrast-2);color:var(--contrast);display:inline-flex;font-size:0.8125rem;font-weight:700;letter-spacing:0.12em;text-align:left;text-decoration:none;text-transform:uppercase;transition:all 0.2s ease 0s;width:fit-content;border-radius:50px;padding:1rem 2rem}.button-secondary:is(:hover,:focus){background-color:#1a4a9b;color:#ffffff}.text-md{font-size:clamp(1rem,2.5vw,1.125rem)}.px-20{padding-left:20px;padding-right:20px}.text-lg{font-size:clamp(1.125rem,3vw,1.5rem)}.button-primary-outline{align-items:center;color:var(--contrast);display:inline-flex;font-size:0.8125rem;font-weight:700;letter-spacing:0.12em;text-align:left;text-decoration:none;text-transform:uppercase;transition:all 0.2s ease 0s;width:fit-content;border:1px solid var(--contrast);border-radius:50px;padding:1rem 2rem}.button-primary-outline:is(:hover,:focus){background-color:var(--accent);color:#ffffff}.text-xl{font-size:clamp(1.5rem,4vw,2.25rem)}.button-primary{align-items:center;background-color:var(--contrast);color:var(--base-3);display:inline-flex;font-size:0.8125rem;font-weight:700;letter-spacing:0.12em;text-align:left;text-decoration:none;text-transform:uppercase;transition:all 0.2s ease 0s;width:fit-content;border-radius:50px;padding:1rem 2rem}.button-primary:is(:hover,:focus){background-color:var(--accent-2);color:#ffffff}.text-2xl{font-size:clamp(2rem,5vw,3.5rem)}.font-normal{font-weight:400}.font-bold{font-weight:700}.font-black{font-weight:900}.italic{font-style:italic}.uppercase{letter-spacing:0.08em;text-transform:uppercase}.tracking-wide{letter-spacing:0.1em}.tracking-tight{letter-spacing:-0.03em}.leading-tight{line-height:1}.leading-normal{line-height:1.65}.leading-loose{line-height:1.9}.text-balance{text-wrap:balance}.text-base{color:var(--contrast)}.text-muted{color:var(--contrast-2)}.text-subtle{color:var(--contrast-3)}.text-accent{color:var(--accent)}.text-on-dark{color:var(--base)}.bg-base{background-color:var(--contrast-2)}.bg-base-2{background-color:var(--contrast-2)}.bg-base-3{background-color:var(--base-3)}.bg-contrast{background-color:var(--contrast)}.bg-accent{background-color:var(--accent)}.mt-0{margin-top:0}.mt-auto{margin-top:auto}.mt-sm{margin-top:1rem}.mt-md{margin-top:2rem}.mt-lg{margin-top:4rem}.mt-xl{margin-top:6rem}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:1rem}.mb-md{margin-bottom:2rem}.mb-lg{margin-bottom:4rem}.mb-xl{margin-bottom:6rem}.pt-sm{padding-top:1rem}.pt-md{padding-top:2rem}.pt-lg{padding-top:4rem}.pt-xl{padding-top:6rem}.pb-sm{padding-bottom:1rem}.pb-md{padding-bottom:2rem}.pb-lg{padding-bottom:4rem}.pb-xl{padding-bottom:6rem}.gap-sm{gap:1rem}.gap-md{gap:2rem}.gap-lg{gap:3rem}.gap-xl{gap:4rem}.container{margin-left:auto;margin-right:auto;max-width:var(--gb-container-width);padding-left:1.5rem;padding-right:1.5rem}@media(max-width:768px){.container{padding-left:1rem;padding-right:1rem}}.full-bleed{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw}.flex-center{align-items:center;display:flex;justify-content:center}.flex-between{align-items:center;display:flex;justify-content:space-between}.flex-col{display:flex;flex-direction:column}.grid-2{display:grid;gap:2rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:768px){.grid-2{grid-template-columns:1fr}}.grid-3{display:grid;gap:2rem;grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1024px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.grid-3{grid-template-columns:1fr}}.grid-auto{display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.sticky-top{position:sticky;top:2rem}@media(max-width:1024px){.sticky-top{position:static}}.hover-lift{transition:transform 0.3s ease}.hover-lift:hover{transform:translateY(-6px)}.hover-fade{transition:opacity 0.25s ease}.hover-fade:hover{opacity:0.65}.transition-base{transition:all 0.25s ease}.rounded-sm{border-radius:0.375rem}.rounded{border-radius:0.75rem}.rounded-full{border-radius:9999px}.shadow{box-shadow:0 4px 20px rgba(0,0,0,0.08)}.shadow-lg{box-shadow:0 20px 60px rgba(0,0,0,0.15)}.overflow-hidden{overflow:hidden}.hide-mobile{display:block}@media(max-width:768px){.hide-mobile{display:none!important}}.hide-tablet{display:block}@media(max-width:1024px){.hide-tablet{display:none!important}}.hide-desktop{display:none!important}@media(max-width:1024px){.hide-desktop{display:block!important}}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.badge{border-radius:2rem;color:var(--base);display:inline-flex;font-size:0.75rem;font-weight:600;letter-spacing:0.06em;padding:0.25rem 0.75rem;text-transform:uppercase}.divider{border:0;border-top:1px solid var(--contrast-3);width:100%}.prose{color:var(--contrast);font-size:1rem;line-height:1.8;max-width:65ch}.prose strong{color:var(--contrast)}.prose a{color:var(--accent);text-decoration:underline}.prose h2,.prose h3{color:var(--contrast);line-height:1.3;margin-bottom:0.5em;margin-top:1.5em}.card{background-color:var(--base);border-radius:0.75rem;overflow:hidden;transition:box-shadow 0.25s ease,transform 0.25s ease}.card:hover{box-shadow:0 20px 60px rgba(0,0,0,0.12);transform:translateY(-4px)}