/* ==================== FONTS ==================== */
@font-face{font-family:'Satoshi';src:url('../fonts/Satoshi-Bold.woff2') format('woff2'),url('../fonts/Satoshi-Bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'Haas Grot Text Trial';src:url('../fonts/HaasGrotText-55Roman.woff2') format('woff2'),url('../fonts/HaasGrotText-55Roman.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Haas Grot Text Trial';src:url('../fonts/HaasGrotText-75Bold.woff2') format('woff2'),url('../fonts/HaasGrotText-75Bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'Haas Grot Disp Trial';src:url('../fonts/HaasGrotDisp-55Roman.woff2') format('woff2'),url('../fonts/HaasGrotDisp-55Roman.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Haas Grot Disp Trial';src:url('../fonts/HaasGrotDisp-75Bold.woff2') format('woff2'),url('../fonts/HaasGrotDisp-75Bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}

/* ==================== VARIABLES ==================== */
:root{--bc-font:'Satoshi',system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;--bc-font-body:'Haas Grot Text Trial','Haas Grot Disp Trial',var(--bc-font);--bc-font-menu:'Haas Grot Text Trial','Haas Grot Disp Trial',var(--bc-font);--bc-h1:72px;--bc-h1-lh:1;--bc-h2:48px;--bc-h2-lh:1.05;--bc-h3:32px;--bc-h3-lh:1.15;--bc-h4:24px;--bc-h4-lh:1.25;--bc-caps:16px;--bc-p1:18px;--bc-p1-lh:1.5;--bc-p2:16px;--bc-p2-lh:1.55;--bc-p3:14px;--bc-p3-lh:1.55;--bc-light:#f5f5f5;--bc-dark:#0f2d23;--bc-green:#00b37a;--bc-charcoal:#242b2a;--bc-mint:#d4fce5;--bc-orange:#ff7e42;--bc-peach:#ffe0c8;--bc-blue:#0581fb;--bc-sky:#cee3ff;--bc-yellow:#fbd111;--bc-cream:#fff3c1;--bc-disabled:#aeaeae;--bc-ink:var(--bc-dark);--bc-pad-x:clamp(24px,5vw,100px);--bc-footer-col:200px;--bc-footer-gap:64px}

/* ==================== BASE AND TYPOGRAPHY ==================== */
body{font-family:var(--bc-font-body);font-size:var(--bc-p2);line-height:var(--bc-p2-lh);font-weight:400;color:var(--bc-ink);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6,.elementor-heading-title{font-family:var(--bc-font);font-weight:700;letter-spacing:-.02em;margin:0 0 .4em;color:inherit}h1,.h1,h1.elementor-heading-title{font-size:var(--bc-h1);line-height:var(--bc-h1-lh)}h2,.h2,h2.elementor-heading-title{font-size:var(--bc-h2);line-height:var(--bc-h2-lh)}h3,.h3,h3.elementor-heading-title{font-size:var(--bc-h3);line-height:var(--bc-h3-lh)}h4,.h4,h4.elementor-heading-title{font-size:var(--bc-h4);line-height:var(--bc-h4-lh)}h5,h6{font-size:var(--bc-p1);line-height:1.3}.b1-caps,.caps{font-family:var(--bc-font);font-weight:700;font-size:var(--bc-caps);line-height:1.2;text-transform:uppercase;letter-spacing:0}p{margin:0 0 1em}.p1,.p2,.p3{font-family:var(--bc-font-body);font-weight:400}.elementor-widget-text-editor,.e-paragraph-base{font-family:var(--bc-font-body)}.page-header,.page-header .entry-title{display:none}

/* ==================== COLOUR UTILITIES ==================== */
.bg-light{background-color:var(--bc-light);color:var(--bc-dark)}.bg-dark{background-color:var(--bc-dark);color:#fff}.bg-green{background-color:var(--bc-green);color:var(--bc-dark)}.bg-charcoal{background-color:var(--bc-charcoal);color:#fff}.bg-mint{background-color:var(--bc-mint);color:var(--bc-dark)}.bg-orange{background-color:var(--bc-orange);color:var(--bc-dark)}.bg-peach{background-color:var(--bc-peach);color:var(--bc-dark)}.bg-blue{background-color:var(--bc-blue);color:#fff}.bg-sky{background-color:var(--bc-sky);color:var(--bc-dark)}.bg-yellow{background-color:var(--bc-yellow);color:var(--bc-dark)}.bg-cream{background-color:var(--bc-cream);color:var(--bc-dark)}.text-light{color:var(--bc-light)!important}.text-dark{color:var(--bc-dark)!important}.text-green{color:var(--bc-green)!important}.text-charcoal{color:var(--bc-charcoal)!important}.text-mint{color:var(--bc-mint)!important}.text-orange{color:var(--bc-orange)!important}.text-blue{color:var(--bc-blue)!important}.text-yellow{color:var(--bc-yellow)!important}.text-white{color:#fff!important}.bg-dark :is(h1,h2,h3,h4,.elementor-heading-title),.bg-charcoal :is(h1,h2,h3,h4,.elementor-heading-title),.bg-blue :is(h1,h2,h3,h4,.elementor-heading-title){color:#fff}

/* ==================== BUTTONS ==================== */
.btn,.elementor-widget-button .elementor-button,.e-button-base{font-family:var(--bc-font)!important;font-weight:700!important;font-size:var(--bc-caps)!important;line-height:1!important;text-transform:uppercase!important;letter-spacing:0!important;border-radius:999px!important;padding:18px 32px!important;display:inline-flex!important;align-items:center;justify-content:center;gap:8px;border:2px solid var(--bc-mint)!important;background:var(--bc-mint)!important;background-image:none!important;color:var(--bc-dark)!important;text-decoration:none!important;box-shadow:none!important;width:auto!important;cursor:pointer;overflow:hidden;transition:background-color .2s,color .2s,border-color .2s}.elementor-widget-button,.elementor-widget-button .elementor-button-wrapper{background:transparent!important;border-radius:0!important;box-shadow:none!important}.btn-sm{padding:13px 24px!important;font-size:14px!important}.btn:hover,.btn:focus-visible,.elementor-widget-button .elementor-button:hover,.elementor-widget-button .elementor-button:focus,.e-button-base:hover,.e-button-base:focus{background:var(--bc-green)!important;border-color:var(--bc-green)!important;color:var(--bc-dark)!important}.btn-outline,.btn-outline .elementor-button,.e-button-base.btn-outline{background:transparent!important;border-color:var(--bc-dark)!important;color:var(--bc-dark)!important}.btn-outline:hover,.btn-outline:focus-visible,.btn-outline .elementor-button:hover,.btn-outline .elementor-button:focus,.e-button-base.btn-outline:hover{background:var(--bc-green)!important;border-color:var(--bc-green)!important;color:var(--bc-dark)!important}.bg-dark .btn-outline,.bg-charcoal .btn-outline,.bg-dark .btn-outline .elementor-button,.bg-charcoal .btn-outline .elementor-button{border-color:#fff!important;color:#fff!important}.btn-solid,.btn-solid .elementor-button,.e-button-base.btn-solid{background:var(--bc-green)!important;border-color:var(--bc-green)!important;color:var(--bc-dark)!important}.btn-solid:hover,.btn-solid:focus-visible,.btn-solid .elementor-button:hover,.e-button-base.btn-solid:hover{background:var(--bc-mint)!important;border-color:var(--bc-mint)!important}.btn:disabled,.btn.is-disabled,.btn[aria-disabled=true]{pointer-events:none}.btn-primary:disabled,.btn-primary.is-disabled,.btn-solid:disabled,.btn-solid.is-disabled{background:var(--bc-disabled)!important;border-color:var(--bc-disabled)!important;color:var(--bc-light)!important}.btn-outline:disabled,.btn-outline.is-disabled{background:transparent!important;border-color:var(--bc-disabled)!important;color:var(--bc-disabled)!important}

/* ==================== ELEMENTOR LAYOUT ==================== */
[data-elementor-type]>.e-con.e-flexbox-base,[data-elementor-type]>.e-con[data-element_type=e-flexbox]{width:100%!important;max-width:none!important;padding-left:var(--bc-pad-x)!important;padding-right:var(--bc-pad-x)!important;box-sizing:border-box}[data-elementor-type]>.e-con.bleed{padding-left:0!important;padding-right:0!important}[data-elementor-type]>.e-con>.e-con.bleed-right{margin-right:calc(-1*var(--bc-pad-x));padding-right:var(--bc-pad-x)}[data-elementor-type]>.e-con>.e-con.bleed-left{margin-left:calc(-1*var(--bc-pad-x));padding-left:var(--bc-pad-x)}

/* ==================== PORTFOLIO ==================== */
.project-meta{width:100%;max-width:440px}.project-meta-label{text-align:left}.project-meta-value{text-align:right}

/* ==================== DARK BUTTON ==================== */
.btn-dark .elementor-button,a.btn-dark{display:inline-flex!important;align-items:center;justify-content:center;min-height:58px;padding:16px 48px!important;border:1px solid var(--bc-dark)!important;border-radius:999px!important;background-color:var(--bc-dark)!important;color:var(--bc-green)!important;line-height:1!important;text-align:center;text-decoration:none!important;text-transform:uppercase;box-shadow:none!important;transition:background-color .2s ease,color .2s ease}
.btn-dark .elementor-button:hover,.btn-dark .elementor-button:focus,a.btn-dark:hover,a.btn-dark:focus{border-color:var(--bc-green)!important;background-color:var(--bc-green)!important;color:var(--bc-dark)!important}

/* ==================== RESPONSIVE UTILITIES ==================== */
@media(max-width:767px){.mobile{display:none!important}.btn-dark .elementor-button,a.btn-dark{min-height:50px;padding:14px 30px!important}}

/* ==================== RESPONSIVE ==================== */
@media(max-width:767px){:root{--bc-h1:44px;--bc-h2:34px;--bc-h3:26px;--bc-h4:20px;--bc-caps:14px;--bc-p1:16px;--bc-p2:15px;--bc-p3:13px}}
