/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/
/* transition: filter 0.4s ease; */
/* box-shadow: 0 0 0 1px rgb(0 0 0 / 24%); */
@font-face {
    font-family: 'Black Mango Regular';
    src: url('/wp-content/fonts/black-mango-regular.woff2') format('woff2'),
    url('/wp-content/fonts/black-mango-regular.woff') format('woff');
    font-display: swap;
}
:root {
    /*** Typography - Font Sizes  ***/
    --font-size-small: 0.95rem;
    --font-size-md: 16px;
    /*** Primary Colors ***/
    --color-white: #ffffff;
    --color-black: #000000;
    --color-taupe: #a68877;
    --color-sand: #e8e1da;
    --color-cinnamon: #a65a2e;
    --color-espresso: #73321a;
    /*** Backgrounds ***/
    --bg-white: #ffffff;
    --bg-black: #000000;
    --bg-caramel: #d9965b;
    --bg-ivory: #f7f5f0;
    /*** Font Weights ***/
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-bold: 600;
    /*** Border Radius ***/
    --border-radius-small: 5px;
    --border-radius-base: 20px;
    --border-radius-inside: .5rem;
    /*** Box Shadows ***/
    --box-shadow-soft: 0 4px 8px rgba(0, 0, 0, 0.04);
}
body {
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    line-height: 1.6;
    color: var(--color-black);
    background: var(--bg-white)
}
h1 {
    text-transform: uppercase
}
h1, h2, h3, h4, h5, h6 {
    font-family: "Black Mango Regular", "Belleza", "Roboto", sans-serif;
    margin-top: 2.25rem;
    margin-bottom: 1rem;
    font-weight: 400;
    line-height: 1.15;
}
p {
    margin-top: 1rem;
    margin-bottom: 1rem;
    color: var(--color-black)
}
/*======================================*/
/*============  TOPOGRAPHY  ============*/
/*======================================*/
/*------------------------------------------------
   Base: Phones & small Tablets (< 768 px)
-------------------------------------------------*/
:root {
    --body-size: 1.0625rem;
}
@media only screen and (min-width: 768px) and (max-width: 1919px) {
    :root {
        --body-size: clamp(1.0625rem, 0.99rem + 0.15vw, 1.125rem);
    }
}
@media only screen and (min-width: 1920px) {
    :root {
        --body-size: 1.1875rem;
    }
}
/*----------------------------------
      Apply to text & controls
----------------------------------*/
body,
button,
input,
select,
textarea {
    font-size: var(--body-size);
    line-height: 1.6;
}
@media (max-width: 480px) {
    input,
    select,
    textarea {
        font-size: calc(var(--body-size) * 0.95);
    }
}
small {
    font-size: 0.8rem;
}
/*======================================*/
/*============  HEADLINES  ============*/
h1 {
    font-size: 3.5rem;
    line-height: 1.05;
    margin-block-end: 2.5rem;
}
h2 {
    font-size: 3rem;
    line-height: 1.10;
    margin-block-end: 2rem;
}
h3 {
    font-size: 2.441rem;
    line-height: 1.15;
    margin-block-end: 1.75rem;
}
h4 {
    font-size: 1.953rem;
    line-height: 1.20;
    margin-block-end: 1.5rem;
}
h5 {
    font-size: 1.563rem;
    line-height: 1.25;
    margin-block-end: 1.25rem;
}
h6 {
    font-size: 1.25rem;
    line-height: 1.30;
    margin-block-end: 1rem;
}
@media only screen and (max-width: 1025px) {
    h1 {
        font-size: clamp(1.75rem, 5.6vw + .5rem, 3.2rem);
        line-height: 1.10;
        margin-block-end: 2rem;
    }
    h2 {
        font-size: clamp(1.50rem, 5vw + .4rem, 2.5rem);
        line-height: 1.15;
        margin-block-end: 1.75rem;
    }
    h3 {
        font-size: clamp(1.35rem, 4.6vw + .3rem, 2rem);
        line-height: 1.20;
        margin-block-end: 1.5rem;
    }
    h4 {
        font-size: clamp(1.20rem, 4vw + .25rem, 1.75rem);
        line-height: 1.25;
        margin-block-end: 1.25rem;
    }
    h5 {
        font-size: clamp(1.10rem, 3.8vw + .2rem, 1.5rem);
        line-height: 1.30;
        margin-block-end: 1rem;
    }
    h6 {
        font-size: clamp(1.00rem, 3.5vw + .15rem, 1.25rem);
        line-height: 1.35;
        margin-block-end: .75rem;
    }
}
@media only screen and (max-width: 480px) {
    h1 {
        font-size: clamp(1.80rem, 6.3vw + .45rem, 2.60rem);
        line-height: 1.20;
        margin-block-end: 1.75rem;
    }
    h2 {
        font-size: clamp(1.55rem, 5.8vw + .35rem, 2.30rem);
        line-height: 1.22;
        margin-block-end: 1.5rem;
    }
    h3 {
        font-size: clamp(1.35rem, 5.2vw + .30rem, 2.05rem);
        line-height: 1.25;
        margin-block-end: 1.25rem;
    }
    h4 {
        font-size: clamp(1.20rem, 4.8vw + .25rem, 1.75rem);
        line-height: 1.28;
        margin-block-end: 1rem;
    }
    h5 {
        font-size: clamp(1.10rem, 4.5vw + .20rem, 1.45rem);
        line-height: 1.32;
        margin-block-end: .85rem;
    }
    h6 {
        font-size: clamp(1.00rem, 4.2vw + .15rem, 1.25rem);
        line-height: 1.36;
        margin-block-end: .7rem;
    }
}
/*====== EXCEPTIONS ======*/
.hero-video h1.hero-title {
    font-size: 3.815rem;
    line-height: 1.05;
    margin-block-end: 2.5rem;
}
.blog-latest-articles h2.vibe-title {
    font-size: 1.563rem;
    line-height: 1.25;
    margin-block-end: 1.25rem;
}
@media only screen and (max-width: 1025px) {
    .hero-video h1.hero-title {
        font-size: clamp(1.75rem, 5.6vw + .5rem, 3.2rem);
        line-height: 1.10;
        margin-block-end: 2rem;
    }
    .blog-latest-articles h2.vibe-title {
        font-size: clamp(1.10rem, 3.8vw + .2rem, 1.5rem);
        line-height: 1.30;
        margin-block-end: 1rem;
    }
}
@media only screen and (max-width: 480px) {
    .hero-video h1.hero-title {
        font-size: clamp(1.80rem, 6.3vw + .45rem, 2.60rem);
        line-height: 1.20;
        margin-block-end: 1.75rem;
    }
    .blog-latest-articles h2.vibe-title {
        font-size: clamp(1.10rem, 4.5vw + .20rem, 1.45rem);
        line-height: 1.32;
        margin-block-end: .85rem;
    }
}
/*==================================*/
/*============  LAYOUT  ============*/
/*==================================*/
/*---------------------------------------*/
/* 1. Defaults
/*---------------------------------------*/
.full-bleed-section-parent {
    /* gutter = white space outside the band */
    --gutter-min: 8px;
    --gutter-max: 56px;
    --gutter: clamp(var(--gutter-min), 4vw, var(--gutter-max));
    padding-inline: var(--gutter);
}
.full-bleed-section {
    background: #d2d2d2;
    max-width: 1920px;
    margin-inline: auto;
    padding-block: 50px;
    container-type: inline-size;
    /* border-radius: var(--border-radius-base) */
}
.full-bleed-section.bg-none {
    /* background: unset; */
}
.content-inner {
    max-width: 1320px;
    margin-inline: auto;
    /* inner pad = space inside the red box */
    --inner-pad: 12px;
    padding-inline: var(--inner-pad);
    /*border: 1px solid red;*/
}
/*---------------------------------------*/
/* 2. Override both props at your breakpoints
/*---------------------------------------*/
@media (max-width: 479px) {
    .full-bleed-section-parent {
        --gutter-min: 4px;
    }
    .content-inner {
        --inner-pad: 12px;
    }
}
@media (min-width: 480px) and (max-width: 767px) {
    .full-bleed-section-parent {
        --gutter-min: 12px;
    }
    .content-inner {
        --inner-pad: 25px;
    }
}
@media (min-width: 768px) and (max-width: 1600px) {
    .full-bleed-section-parent {
        --gutter-min: 8px;
        --gutter-max: 56px;
        --gutter: clamp(var(--gutter-min), 4vw, var(--gutter-max));
    }
    .content-inner {
        --inner-pad: clamp(16px, 4vw, 50px);
    }
}
@media (min-width: 1601px) {
    .content-inner {
        --inner-pad: 0;
    }
}
/* -------------------------------
             SPACING!
-------------------------------- */
.full-bleed-section-parent.spacing,
.full-bleed-section-parent.spacing-l,
.full-bleed-section-parent.single-post.spacing {
    margin-bottom: 40px;
}
.full-bleed-section-parent.about-top {
    margin-bottom: 0;
}
@media only screen and (max-width: 1025px) {
    .full-bleed-section-parent.single-post.spacing {
        /* margin-bottom: 70px; */
    }
}
@media only screen and (max-width: 768px) {
    .full-bleed-section-parent.spacing,
    .full-bleed-section-parent.single-post.spacing,
    .full-bleed-section-parent.about-top {
        margin-top: 10px;
    }
    .full-bleed-section-parent.spacing-l {
        /* margin-bottom: 50px; */
    }
}
.full-bleed-section.home-cat.bg-none {
    padding-bottom: 10px;
}
@media only screen and (max-width: 480px) {
    .full-bleed-section-parent.spacing,
    .full-bleed-section-parent.spacing-l {
        margin-bottom: 20px
    }
    .full-bleed-section.about-me-section {
        margin-bottom: 20px
    }
    .full-bleed-section-parent.single-post.spacing {
        margin-bottom: 20px;
    }
}
/*============================*/
/*========== HEADER ==========/
/*==========================*/
.page-id-1896 .inside-header,
.page-id-1576 .inside-header {
    box-shadow: 0 2px 2px -2px rgba(0, 0, 0, .2);
}
.main-navigation.navigation-stick.has-sticky-branding .inside-navigation.grid-container {
    padding-left: 0
}
.inside-header {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 35px clamp(12px, 4.5vw, 56px);
    box-sizing: border-box;
}
/*** Desktop Logo ***/
.inside-header .site-logo {
    position: absolute;
    left: 50%;
    top: 60px;
    transform: translate(-50%, -50%);
}
/*======== Sticky Navigation Bar ========*/
.sticky-enabled .main-navigation.is_stuck {
    background: white;
    width: 100%; /* shrink with viewport */
    max-width: 1920px; /* hard cap */
    margin: 0 auto; /* centers when < viewport */
    padding: 0 clamp(12px, 4.5vw, 56px);
    box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
    .sticky-enabled .main-navigation.is_stuck {
        padding: 0 clamp(12px, 1.5vw, 56px);
    }
}
.inside-header #sticky-navigation.main-navigation .main-nav ul li a {
    padding-left: 0;
    line-height: 60px;
}
.main-navigation.sticky-navigation-transition .site-logo img {
    height: unset;
    margin-top: 20px;
}
#mobile-header {
    padding-bottom: 0;
    box-shadow: 0 2px 2px -2px rgba(0, 0, 0, .2);
}
.inside-header #sticky-navigation .inside-navigation {
    position: relative
}
.inside-header #sticky-navigation .navigation-branding {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%)
}
.inside-header #sticky-navigation .menu-bar-items {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
/*====  MOBILE HEADER  ====*/
#mobile-header .inside-navigation {
    position: relative;
}
#mobile-header .mobile-header-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 200px;
}
#mobile-header .menu-bar-items {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
@media only screen and (min-width: 768px) and (max-width: 980px) {
    .header-image.is-logo-image {
        max-width: 350px;
        position: relative;
        top: -15px;
    }
}
@media only screen and (max-width: 768px) {
    #mobile-header .is-logo-image {
        top: 25px;
    }
    img.is-logo-image {
        margin-bottom: 50px;
    }
}
@media only screen and (max-width: 480px) {
    #mobile-header .mobile-header-logo {
        top: 20px;
    }
    .mobile-cta-button {
        margin-top: 45px;
    }
    button.menu-toggle {
        margin-top: 28px;
    }
}
/*--------------------------
           MENU
---------------------------*/
.main-nav ul li a {
    position: relative;
    display: inline-block;
    padding-bottom: 4px;
    text-decoration: none;
    color: inherit;
}
/* Underline effect */
.main-nav ul li a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 1px;
    background-color: var(--color-espresso);
    transition: width 0.3s ease;
}
.main-nav ul li a:hover::after,
.main-nav ul li.current-menu-item > a::after {
    width: 100%;
}
/*** Off Canvas ***/
.slideout-navigation.main-navigation .main-nav ul li a {
    font-size: 25px;
}
/*--------------------------
       CTA Button
---------------------------*/
/* Desktop */
.inside-header p.desktop-cta-button {
    font-size: 25px;
}
.inside-header p.desktop-cta-button a:hover {
    color: var(--color-espresso)
}
/* Sticky Desktop */
.inside-header .sticky-cta-button {
    font-size: 18px;
}
.inside-header .sticky-cta-button {
    display: none;
}
.inside-header .navigation-clone .sticky-cta-button {
    display: inline-block;
}
.navigation-stick p.mobile-cta-button {
    font-size: 16px;
    padding-left: 8px;
}
p.mobile-cta-button {
    font-size: 16px;
    padding-left: 8px;
}
/*--------------------------
      / CTA Button
---------------------------*/
.main-navigation .menu-bar-item > a {
    padding-right: 0
}
.inside-navigation .gp-icon svg {
    width: 35px;
    height: 1em;
}
.inside-navigation .gp-icon svg path {
    transform-box: fill-box;
    transform-origin: left center;
    transform: scaleX(5);
    color: var(--color-black)
}
.menu-bar-item .gp-icon svg path {
    fill: var(--color-black);
    transition: fill 0.3s ease;
}
.menu-bar-item:hover .gp-icon svg path {
    fill: var(--color-espresso)
}
.main-navigation.slideout-navigation .inside-navigation .gp-icon svg path {
    transform: none;
    color: inherit;
}
#mobile-header .menu-toggle {
    padding-right: 10px
}
nav#sticky-navigation .main-navigation .menu-bar-item > a {
    padding-right: 50px !important;
}
@media only screen and (max-width: 980px) {
    .inside-header {
        padding-bottom: 0;
    }
}
@media only screen and (min-width: 480px) and (max-width: 768px) {
    .main-navigation.mobile-header-navigation {
        padding: 0 15px;
    }
}
/*=======================================*/
/*======  SECT:: HOME VIDEO INTRO  =====*/
/*==============================------=*/
:root {
    --hero-height: 75svh;
    --hero-height-mobile: 60svh;
    --hero-border: 0;
    --hero-border-color: var(--color-white);
    --hero-radius: var(--border-radius-base)
}
.full-bleed-section.intro-video {
    padding: 0;
}
.hero-video {
    position: relative;
    display: grid;
    height: var(--hero-height);
}
.hero-media {
    position: absolute;
    inset: 0;
    border: var(--hero-border, 0) solid var(--hero-border-color, transparent);
    border-radius: var(--hero-radius, 0);
    overflow: hidden;
    background-clip: padding-box;
}
.hero-media video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: 0;
    transition: opacity .35s ease;
}
.hero-media.is-ready video {
    opacity: 1;
}
.hero-video .hero-content {
    position: relative;
    z-index: 1;
    align-self: center;
    justify-self: center;
    text-align: center;
    color: var(--color-white);
    padding: 24px var(--gutter, 16px);
    max-width: min(60ch, 90vw);
    text-shadow: 0 2px 14px rgba(0, 0, 0, .45);
}
.hero-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,
    rgba(0, 0, 0, .2),
    rgba(0, 0, 0, .1) 40%,
    rgba(0, 0, 0, .25));
    pointer-events: none;
}
.hero-video h1.hero-title {
    margin: 0 0 .35em;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .35);
    line-height: 1.05;
    margin-block-end: 2.5rem;
}
@media only screen and (max-width: 480px) {
    .hero-video {
        height: var(--hero-height-mobile, var(--hero-height));
    }
    .hero-video .hero-content {
        padding: 16px var(--gutter, 16px);
    }
}
/*===============================*/
/*======  ABOUT ME SECTION  =====*/
/*===============================*/
.about-me-section {
    position: relative;
    overflow: visible;
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    text-align: right;
    margin-top: 50px;
    --left-width: 65%;
    --right-width: 35%;
}
.full-bleed-section.about-me-section::before {
    content: "";
    position: absolute;
    top: -20px;
    left: 20px;
    width: 180px;
    height: 180px;
    background: url('/wp-content/uploads/2025/08/logo-sun-symbol.png') center/contain;
    background-repeat: no-repeat;
    z-index: 0;
}
.about-me-section .left {
    flex: 0 0 var(--left-width);
}
.about-me-section .right {
    flex: 0 0 var(--right-width);
    display: flex;
    justify-content: flex-end;
}
.about-me-section .right img {
    display: block;
    margin-left: auto;
    width: 100%;
    max-width: 75%;
    height: auto;
    border-radius: var(--border-radius-base)
}
.about-me-section .left h2 {
    position: relative;
    display: inline-block;
    margin-bottom: 0;
}
.about-me-section h2::after {
    content: "";
    display: block;
    width: 50%;
    height: 1px;
    background: currentColor;
    margin: 12px 0 24px auto;
}
/*===============================*/
/*======  MEDIA QUERIES  =======*/
@media only screen and (min-width: 1025px) and (max-width: 1320px) {
    .about-me-section .right img {
        max-width: 90%;
        border-radius: 0.5rem;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
        transition: transform 0.3s ease;
    }
}
@media only screen and (max-width: 1025px) {
    .about-me-section {
        flex-direction: column-reverse;
        align-items: center;
        text-align: left;
        gap: 1.5rem;
    }
    .about-me-section::before {
        background: none;
    }
    .about-me-section .left,
    .about-me-section .right {
        flex: 0 0 100%;
    }
    .about-me-section .right img {
        margin: 0 auto;
        max-width: 300px;
    }
    .about-me-section h2::after {
        margin-left: 0;
    }
    .full-bleed-section.about-me-section::before {
        background: unset;
    }
}
@media only screen and (max-width: 480px) {
    .about-me-section {
        margin-top: 0
    }
    .full-bleed-section.about-me-section {
        padding-block: 20px;;
        padding-bottom: 10px
    }
}
/*================================================*/
/*============  Testimonials Slider  ============*/
/*==============================================*/
.full-bleed-section.testimonials-slide {
    border-radius: var(--border-radius-base);
    margin-top: 30px;
}
.love-notes {
    position: relative;
}
.love-notes__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.love-notes__heading {
    display: none;
}
.love-notes__carousel {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0;
}
.love-notes__nav {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
}
.love-notes__nav svg {
    width: 100px;
    height: 100px;
}
.love-notes__nav--prev {
    margin-right: 1rem;
}
.love-notes__nav--next {
    margin-left: 1rem;
    position: relative;
    left: 20px;
    opacity: 0.6;
}
.love-notes__nav--prev {
    position: relative;
    left: -20px;
    opacity: 0.6;
}
.love-notes__nav--prev:hover,
.love-notes__nav--next:hover {
    opacity: unset;
}
.love-notes__slides {
    position: relative;
    flex: 1;
    overflow-x: hidden;
    overflow-y: visible;
}
.love-notes__slides.slick-initialized .slick-list,
.love-notes__slides.slick-initialized .slick-track {
    display: block;
}
.love-notes__slides .slick-slide {
    display: block;
}
.love-notes__slide .love-notes__layout {
    display: flex;
    align-items: center;
    gap: 2rem;
    width: 100%;
    box-sizing: border-box;
}
.love-notes__image {
    display: flex;
    flex: 0 0 350px;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border-radius: 20px;
    flex-direction: column;
    align-items: center;
}
.love-notes__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.love-notes__image-inner {
    width: 100%;
    overflow: hidden;
    border-radius: 20px;
}
.love-notes__image-inner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.love-notes__view-more {
    margin-top: 0.5rem;
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    transition: opacity .2s;
}
.love-notes__view-more:hover {
    opacity: .7;
    text-decoration: underline;
}
.love-notes__copy {
    flex: 1;
    min-width: 0;
    overflow-wrap: break-word;
    line-height: 1.6;
}
.love-notes__author {
    margin-top: 1rem;
    font-style: italic;
    font-weight: var(--font-weight-bold);
    color: var(--color-black);
    text-align: left;
}
.full-bleed-section.testimonials-slide {
    position: relative;
}
.full-bleed-section.testimonials-slide::before {
    content: "";
    position: absolute;
    top: 40px;
    left: 60px;
    width: 100px;
    height: 100px;
    background: url('/wp-content/quote.svg') no-repeat center;
    background-size: contain;
    opacity: .9;
    pointer-events: none;
    z-index: 0;
}
/* ----------------------
    Slick Dots
---------------------- */
.love-notes__slides .slick-dots {
    position: absolute;
    bottom: -1.5rem;
    left: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
}
.love-notes__slides .slick-dots li {
    display: inline-block;
    margin: 0 6px;
}
.love-notes__slides .slick-dots li button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: none;
    background: #a688779c;
    border-radius: 50%;
    cursor: pointer;
    transition: background-color .3s;
    font-size: 0;
    line-height: 0;
}
.love-notes__slides .slick-dots li button:before {
    display: none;
}
.love-notes__slides .slick-dots li.slick-active button {
    background: var(--bg-black)
}
.love-notes__slides .slick-dots {
    position: relative;
    bottom: auto;
    transform: none;
    margin: 1.5rem 0 0;
}
.full-bleed-section.testimonials-slide h2 {
    display: none;
}
.full-bleed-section.testimonials-slide {
    padding-bottom: 10px;
}
/* ====================================
           RESPONSIVE STYLES
==================================== */
@media only screen and (max-width: 1025px) {
    .full-bleed-section.testimonials-slide {
        padding-top: 40px;
        padding-bottom: 20px;
    }
    .love-notes__slide .love-notes__layout {
        margin-top: 20px;
        gap: 0.5rem
    }
    .love-notes {
        width: 100%;
        margin: 0;
        overflow: hidden;
    }
    .love-notes__nav {
        display: none;
    }
    .love-notes__image img {
        max-width: 300px;
        height: auto;
        margin: 0 auto;
        border-radius: 20px;
    }
    .love-notes__layout {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }
    .love-notes__author {
        text-align: left;
    }
    .love-notes__image {
        max-width: none;
        width: 100%;
        flex: unset;
        aspect-ratio: unset;
        flex: 0 0 100%;
    }
    .love-notes__slides .slick-slide {
        box-sizing: border-box;
    }
    .love-notes__copy {
        width: 100%;
        max-width: none;
    }
    .full-bleed-section.testimonials-slide::before {
        width: 100px;
        height: 100px;
    }
}
@media only screen and (max-width: 768px) {
    .full-bleed-section.testimonials-slide::before {
        width: 55px;
        height: 55px;
        top: 20px;
        left: 30px;
    }
}
@media only screen and (max-width: 480px) {
    .full-bleed-section.testimonials-slide {
        padding-top: 40px;
        padding-bottom: 20px;
    }
    .love-notes__layout {
        margin-top: 20px;
    }
    .full-bleed-section.testimonials-slide::before {
        top: 5px;
        left: 15px;
    }
}
/*=====================================*/
/*============  BRANDING  ============*/
/*===================================*/
.full-bleed-section.branding {
    background: var(--bg-ivory);
    border-radius: var(--border-radius-base);
    padding-top: 45px;
}
.branding-top-section {
    display: flex;
    align-items: stretch;
}
.branding-top-section .left {
    flex: 0 0 65%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.branding-top-section .right {
    flex: 0 0 35%;
    margin: 0;
    line-height: 0;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}
.branding-top-section .right img {
    width: 100%;
    height: auto;
    border-radius: 16px;
    object-fit: cover;
    max-width: 90%;
    aspect-ratio: 6 / 6;
    border: 1px solid var(--color-black)
}
.full-bleed-section-parent .letter-badge {
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 35px;
    line-height: 1;
    z-index: 2;
    pointer-events: none;
}
.branding-title {
    position: relative;
}
.branding-title h1 {
    text-align: center;
    margin: 0;
}
.branding-top-section .left p {
    margin: 0;
}
@media only screen and (max-width: 1200px) {
    .branding-top-section .left {
        justify-content: flex-end;
    }
    .branding-title h1 {
        font-size: 50px;
        top: 20px
    }
}
@media only screen and (max-width: 1025px) {
    .branding-top-section {
        flex-direction: column;
        text-align: left;
    }
    .branding-top-section .left,
    .branding-top-section .right {
        flex: 0 1 auto;
        width: 100%;
    }
    .branding-top-section .left {
        justify-content: flex-start;
        margin-top: 35px
    }
    .branding-top-section .right img {
        margin: 30px auto 0;
        max-width: 300px;
    }
    .branding-title h1 {
        font-size: 50px;
        top: 15px
    }
}
@media only screen and (max-width: 980px) {
    .full-bleed-section-parent.spacing-l {
        margin-top: 30px;
    }
}
@media only screen and (max-width: 480px) {
    .branding-top-section .left {
        margin-top: 20px
    }
    .full-bleed-section-parent .letter-badge {
        font-size: 25px;
    }
    .branding-title h1 {
        font-size: 35px;
        top: 5px;
    }
}
/*============================================*/
/*============  Three Col Images ============*/
:root {
    --ftci-gap: clamp(12px, 2vw, 24px);
}
/* .full-bleed-section.bg-none {
    background:unset;
    padding-block: unset
} */
/* ---------- Wrapper ----------- */
.flex-three-col-img {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ftci-gap);
    margin: 0 auto;
}
/* ---------- Card ----------- */
.flex-three-col-img .photo-card {
    margin: 0;
    flex: 1 1 100%;
    border-radius: var(--border-radius-base);
    overflow: hidden;
    aspect-ratio: 3 / 4;
    max-height: 60vh;
    border: 2px solid var(--color-black)
}
.flex-three-col-img .photo-card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.flex-three-col-img .photo-card img:hover {
    filter: none;
}
@media (min-width: 768px) and (max-width: 1024px) {
    .flex-three-col-img .photo-card {
        flex-basis: calc(33.333% - (2 * var(--ftci-gap) / 3));
        aspect-ratio: auto;
        max-height: none;
    }
}
@media (min-width: 1025px) {
    .flex-three-col-img .photo-card {
        flex-basis: calc(33.333% - (2 * var(--ftci-gap) / 3));
    }
}
/*============================================*/
/*===== SECT: Single Testimonial ============*/
/*==========================================*/
.full-bleed-section.single-testimonial {
    background: var(--bg-ivory);
    border-radius: var(--border-radius-base)
}
.full-bleed-section.single-testimonial {
    padding: 80px 0;
}
.single-testimonial .t-wrap {
    position: relative;
}
.single-testimonial .t-title {
    position: absolute;
    left: clamp(15px, 3vw, 44px);
    transform: translateY(-40%);
    margin: 0;
    z-index: 2;
    text-transform: uppercase; /* merged with h2.t-title */
}
.single-testimonial .content p {
    max-width: 85ch;
}
.single-testimonial .t-card {
    position: relative;
    border-radius: var(--border-radius-base);
    padding: clamp(15px, 3vw, 44px);
    background: var(--bg-white);
    z-index: 1;
}
.single-testimonial .t-author {
    margin-top: 1.25rem;
    font-weight: 600;
    font-style: italic;
}
.single-testimonial .t-card::after,
.single-testimonial::before {
    content: "";
    position: absolute;
    top: 5px;
    right: 0;
    background: url("/wp-content/quote.svg") no-repeat center / contain;
    opacity: .9;
    pointer-events: none;
    z-index: 2;
}
.single-testimonial .t-card::after {
    width: 100px;
    height: 100px;
}
@media (max-width: 1300px) {
    .single-testimonial .t-card::after {
        background: unset;
    }
    .single-testimonial::before {
        width: 60px;
        height: 60px;
    }
    .full-bleed-section.single-testimonial {
        position: relative;
    }
}
@media (max-width: 480px) {
    .full-bleed-section.single-testimonial {
        margin-top: 95px
    }
}
/*=====================================*/
/*===== FUNCT: Carousel Gallery  =====*/
/*===================================*/
.full-bleed-section.carousel-gallery {
    container-type: unset;
    margin-top: 40px;
    margin-bottom: -50px;
}
.cgs-hero-wrapper {
    position: relative;
    width: 100%;
}
.cgs-hero {
    height: auto;
    padding: 0 80px;
    overflow: visible;
}
.cgs-hero .slick-track {
    display: flex;
    align-items: center;
}
.cgs-hero .slick-slide {
    flex: 1 0 0;
    height: 100%;
    margin: 0 15px;
    overflow: visible;
}
.cgs-hero .cgs-slide {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    transform: scale(0.80);
    transition: transform .35s ease, opacity .35s ease, border-radius .35s ease;
    background: var(--bg-black);
    border-radius: var(--border-radius-base);
    border: 2px solid var(--color-black)
}
.cgs-hero .cgs-slide img {
    aspect-ratio: 3 / 4;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* Focused Central Image */
.cgs-hero .slick-slide.slick-center .cgs-slide {
    transform: scale(1);
    opacity: 1;
    border-radius: var(--border-radius-base);
}
/*** Gap Between Images Adjustments ***/
.cgs-hero {
    --cgs-gap: 0px;
    --cgs-scale-inactive: .83;
}
.cgs-hero .slick-track {
    display: flex;
    align-items: center;
}
.cgs-hero .slick-slide {
    flex: 0 0 auto;
    margin: 0;
}
.cgs-hero .slick-list {
    margin: 0 -6px;
}
.cgs-hero .cgs-slide {
    transform: scale(0.80);
}
.cgs-hero .slick-slide.slick-center .cgs-slide {
    transform: scale(1);
}
.cgs-hero .slick-list {
    margin: 0 calc(var(--cgs-gap) * -0.5);
    padding: 0;
}
.cgs-hero .cgs-slide {
    transform: scale(var(--cgs-scale-inactive));
    transition: transform .35s ease, opacity .35s ease, border-radius .35s ease;
}
/*--------------------------
          ARROWS
---------------------------*/
.cgs-hero-wrapper .cgs-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
    z-index: 10;
}
.cgs-hero-wrapper .cgs-prev {
    left: -30px;
}
.cgs-hero-wrapper .cgs-next {
    right: -30px;
}
.cgs-arrow svg {
    opacity: 0.6;
}
.cgs-arrow svg:hover {
    opacity: unset
}
/*--------------------------
    THUMBNAILS
---------------------------*/
.cgs-thumbs-wrap {
    justify-content: center;
    margin: 30px 0 0 0;
    overflow: hidden;
    display: none;
}
.cgs-thumbs li {
    cursor: pointer;
}
.full-bleed-section.carousel-gallery .cgs-thumbs li {
    margin-left: 10px;
}
.full-bleed-section.carousel-gallery .cgs-thumbs img {
    width: 120px;
    height: 140px;
    object-fit: cover;
    display: block;
    border: 1px solid #00000033;
    padding: 3px;
}
/*** Highlight Current Image ***/
.full-bleed-section.carousel-gallery .cgs-thumbs .slick-current img {
    border-radius: 4px;
    opacity: 1;
    border: 1px solid var(--color-black)
}
@media (max-width: 1025px) {
    .cgs-hero .slick-slide {
        margin: unset;
    }
    .carousel-gallery .cgs-thumbs {
        margin: 0;
    }
    .cgs-hero {
        padding: 0 12px;
    }
    button.cgs-arrow svg {
        width: 50px;
        margin: 0 -10px;
        opacity: unset;
    }
    .cgs-hero-wrapper .cgs-prev {
        left: -25px;
    }
    .cgs-hero-wrapper .cgs-next {
        right: -25px;
    }
}
@media (max-width: 768px) {
    .cgs-hero .cgs-slide {
        transform: scale(0.85);
    }
    .cgs-hero .slick-slide {
        margin: unset;
    }
    .cgs-thumbs-wrap {
        margin: 0
    }
    .full-bleed-section.carousel-gallery .cgs-thumbs li {
        margin-left: 0
    }
    .carousel-gallery .cgs-thumbs {
        margin: 0;
    }
    .cgs-hero {
        padding: 0 12px;
    }
    .cgs-hero-wrapper .cgs-prev {
        left: -15px;
    }
    .cgs-hero-wrapper .cgs-next {
        right: -15px;
    }
    .full-bleed-section.branding {
        margin-bottom: -60px
    }
    .full-bleed-section.carousel-gallery {
        margin-bottom: -100px;
    }
}
@media (max-width: 480px) {
    .full-bleed-section.carousel-gallery {
        container-type: unset;
        margin-top: 50px;
    }
    .cgs-hero-wrapper .cgs-prev {
        left: -10px;
    }
    .cgs-hero-wrapper .cgs-next {
        right: -10px;
    }
    .full-bleed-section.branding {
        margin-bottom: -45px
    }
}
@media (max-width: 375px) {
    .full-bleed-section.carousel-gallery .cgs-thumbs img {
        width: 120px;
        height: auto;
    }
    button.cgs-arrow svg {
        width: 45px;
        margin: 0 5px;
    }
}
/*==================================*/
/*============  ABOUT  ============*/
/*================================*/
/*=============================================*/
/*============  About - Img Right  ============*/
h1.about {
    text-transform: uppercase;
    text-align: right;
    margin: 0 250px 0 0
}
.about-img-right {
    display: flex;
    align-items: stretch;
}
.about-img-right .left {
    flex: 0 0 65%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 2rem 2rem;
    border-radius: var(--border-radius-base);
    margin-top: 30px;
}
.about-img-right .right {
    flex: 0 0 35%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.about-img-right .right img {
    position: relative;
    width: 100%;
    max-width: 70%;
    max-height: clamp(420px, 55vh, 550px);
    height: auto;
    border-radius: var(--border-radius-base);
    object-fit: cover;
    margin-top: 30px;
}
.full-bleed-section.about-top {
    border-radius: 20px 20px 0 0;
    padding-bottom: 0;
}
.full-bleed-section.about-bottom {
    border-radius: 0 0 20px 20px;
}
@media only screen and (max-width: 1320px) {
    .about-img-right .right img {
        max-width: clamp(240px, 55vw, 280px);
        top: unset;
    }
}
@media only screen and (max-width: 1025px) {
    .full-bleed-section.about-top {
        padding-top: 20px;
    }
    .about-img-right {
        flex-direction: column-reverse;
        gap: 1rem;
        text-align: left;
    }
    h1.about {
        text-transform: uppercase;
        text-align: center;
        margin: 1rem 0 1rem
    }
    .about-img-right .right img {
        margin: 0 auto;
        max-width: 350px;
        max-height: 60vh;
    }
}
@media only screen and (max-width: 480px) {
    .about-img-right .left {
        padding: 0
    }
    .full-bleed-section.about-top {
        padding-top: 10px;
    }
}
/*=============================================*/
/*============  About - Img Left  ============*/
.about-img-left {
    display: flex;
    align-items: stretch;
    margin-top: 45px;
}
.about-img-left .left {
    flex: 0 0 35%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.about-top .left.text-container,
.about-top .right.text-container {
    background: var(--bg-white);
    padding: 1rem 2rem;
    background: var(--bg-white);
    border-radius: var(--border-radius-base);
    box-shadow: 0 0 0 1px rgb(0 0 0 / 4%);
}
.about-img-left .right {
    flex: 0 0 65%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1rem 2rem 2rem;
}
.about-img-left .left img {
    width: 100%;
    max-width: 70%;
    max-height: clamp(420px, 55vh, 550px);
    height: auto;
    border-radius: var(--border-radius-base);
    object-fit: cover;
}
@media only screen and (max-width: 1320px) {
    .about-img-left .left img {
        max-width: clamp(240px, 55vw, 280px);
    }
}
@media only screen and (max-width: 1025px) {
    .full-bleed-section.about {
        padding-block: 32px
    }
    .about-img-left {
        flex-direction: column;
        gap: 2.8rem;
        text-align: left;
        margin-top: 0
    }
    .about-img-left .right {
        padding: 0 1.5rem 1.5rem
    }
    .about-img-left .left img {
        margin: 0 auto;
        max-width: 350px;
        max-height: 60vh;
    }
    .about-img-left .left {
        margin-top: 45px
    }
}
@media only screen and (max-width: 480px) {
    .about-img-left {
        margin-top: 0
    }
    .about-img-left .right {
        padding: 0
    }
}
/*================================================*/
/*============  The Team - Img Right  ============*/
.the-team-img-right {
    display: flex;
    align-items: stretch;
}
.the-team-img-right .left {
    flex: 0 0 65%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1rem 2rem;
    background: var(--bg-white);
    border-radius: var(--border-radius-base);
    box-shadow: 0 0 0 1px rgb(0 0 0 / 4%);
}
.the-team-img-right .right {
    flex: 0 0 35%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.the-team-img-right .right img {
    width: 100%;
    max-width: 70%;
    max-height: clamp(420px, 55vh, 550px);
    height: auto;
    border-radius: var(--border-radius-base);
    object-fit: cover;
}
.the-team-img-right .left h1 {
    text-transform: uppercase;
}
@media (max-width: 1320px) {
    .the-team-img-right .right img {
        max-width: clamp(240px, 55vw, 280px);
    }
    .the-team-img-right .left h1 {
        margin: 1rem 0 0 0;
    }
}
@media (max-width: 1025px) {
    .full-bleed-section.about {
        padding-top: 12px;
    }
    .the-team-img-right {
        flex-direction: column-reverse;
        gap: 2.5rem;
        text-align: left;
    }
    .the-team-img-right .left {
        padding: 1.5rem;
    }
    .the-team-img-right .right img {
        margin: 0 auto;
        max-width: 350px;
        max-height: 60vh;
    }
}
@media only screen and (max-width: 480px) {
    .full-bleed-section-parent.about-bottom {
        margin-bottom: 85px;
    }
    .the-team-img-right .left {
        padding: 1rem;
    }
}
/*===============================================*/
/*============  The Team - Img Left  ============*/
.the-team-img-left {
    display: flex;
    align-items: stretch;
    margin-top: 45px;
}
.the-team-img-left .left {
    flex: 0 0 35%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.the-team-img-left .right {
    flex: 0 0 65%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1rem 2rem 2rem;
    background: var(--bg-white);
    border-radius: var(--border-radius-base);
}
.the-team-img-left .left img {
    width: 100%;
    max-width: 70%;
    max-height: clamp(420px, 55vh, 550px);
    height: auto;
    border-radius: var(--border-radius-base);
    object-fit: cover;
}
.the-team-img-left .right h2 {
    text-transform: uppercase;
    text-align: right
}
/*--------------------------
       List Bullets
---------------------------*/
.the-team-img-left ul.custom-bullets {
    padding: 0;
    margin: 0;
}
.the-team-img-left ul.custom-bullets li {
    list-style: none;
    position: relative;
    padding-left: 20px;
}
.the-team-img-left ul.custom-bullets li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.9rem;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    background-color: black;
    border-radius: 50%;
}
@media (max-width: 1320px) {
    .the-team-img-left .left img {
        max-width: clamp(240px, 55vw, 280px);
    }
    .the-team-img-left .right h2 {
        margin-top: 1rem
    }
}
@media (max-width: 1025px) {
    .full-bleed-section.about {
        padding-top: 12px;
    }
    .the-team-img-left {
        flex-direction: column;
        /* flex-direction: column-reverse; */
        gap: 2.5rem;
        text-align: left;
    }
    .the-team-img-left .right {
        padding: 1.5rem;
    }
    .the-team-img-left .left img {
        margin: 0 auto;
        max-width: 350px;
        max-height: 60vh;
    }
}
@media only screen and (max-width: 768px) {
    .the-team-img-left {
        margin-top: 50px;
    }
}
@media only screen and (max-width: 480px) {
    .the-team-img-left .right {
        padding: 1rem;
        margin-top: 20px;
    }
}
/*====================================*/
/*============  CONTACT  ============*/
/*==================================*/
.full-bleed-section.contact-section {
    padding-top: 32px;
    padding-bottom: 32px;
}
.full-bleed-section.contact-section h1 {
    margin-bottom: 0;
}
.full-bleed-section.contact-section .wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    max-width: 1025px;
    margin: 0 auto;
}
@media only screen and (max-width: 768px) {
    .full-bleed-section.contact-section {
        margin-top: 15px;
    }
    .full-bleed-section.contact-section h1 {
        margin-top: 0;
    }
}
@media only screen and (max-width: 480px) {
    .full-bleed-section.contact-section h1 {
        text-align: center;
    }
}
/*==============================*/
/*=======  Contact Form =======*/
.fluentform_wrapper_1 {
    width: 100%;
    max-width: 650px;
    margin: 0 auto;
    padding-top: 20px
}
.fluentform_wrapper_1 .ff-el-input--label label {
    font-weight: 400
}
/* ========= Underlined inputs/selects ========= */
.fluentform_wrapper_1 input.ff-el-form-control:not(textarea),
.fluentform_wrapper_1 select.ff-el-form-control {
    width: 100%;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--color-taupe);
    border-radius: 0;
    transition: border-color .25s ease, box-shadow .25s ease;
    -webkit-appearance: none;
    color: var(--color-black)
}
/* ========= Boxed textarea ========= */
.fluentform_wrapper_1 textarea.ff-el-form-control {
    width: 100%;
    background: var(--bg-white);
    border: 1px solid var(--color-taupe);
    padding: 1rem 1.25rem;
    resize: vertical;
    transition: border-color .25s ease, box-shadow .25s ease;
    border-radius: unset;
    background: unset
}
/*--------------------------
           Focus
---------------------------*/
.fluentform_wrapper_1 input.ff-el-form-control:focus,
.fluentform_wrapper_1 textarea.ff-el-form-control:focus,
.fluentform_wrapper_1 select.ff-el-form-control:focus {
    outline: none;
    border-bottom-color: var(--color-cinnamon);
    color: var(--color-black)
}
.fluentform_wrapper_1 .ff-el-input--content {
    position: relative;
}
.fluentform_wrapper_1 .ff-el-input--content::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 3px;
    background: color-mix(in srgb, var(--color-cinnamon) 25%, transparent);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .25s ease;
    pointer-events: none;
}
.fluentform_wrapper_1 .ff-el-input--content:focus-within::after {
    transform: scaleX(1);
}
.fluentform_wrapper_1 textarea.ff-el-form-control:focus {
    border-top: unset;
    border-left: unset;
    border-right: unset;
}
/*--------------------------
       Submit Button
---------------------------*/
.full-bleed-section.contact-section .fluentform_wrapper_1 .ff-btn.ff-btn-submit {
    background: var(--color-cinnamon);
    padding: 1rem 2.25rem;
    border-radius: var(--border-radius-inside);
    cursor: pointer;
    transition: background .25s ease, transform .15s ease;
    border: 0;
}
.full-bleed-section.contact-section .fluentform_wrapper_1 .ff-btn.ff-btn-submit:hover {
    background: var(--color-espresso);
    transform: translateY(-2px);
    opacity: unset
}
.full-bleed-section.contact-section .fluentform_wrapper_1 .ff-btn.ff-btn-submit:active {
    transform: translateY(0);
}
/*====================================*/
/*============  FOOTER  =============*/
/*==================================*/
:root {
    --footer-col1-width: 25%;
    --footer-col2-width: 25%;
}
.full-bleed-section-parent.footer {
}
.full-bleed-section.footer {
    background: var(--bg-ivory);
    padding-block: 30px;
    border-radius: var(--border-radius-base)
}
.footer-container {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 2rem;
}
.footer-container .footer-col.col1 {
    flex: 0 0 var(--footer-col1-width);
}
.footer-container .footer-col.col2 {
    flex: 0 0 var(--footer-col2-width);
}
.footer-container .footer-col.col3 {
    margin-left: auto;
    flex: 0 0 auto;
}
.footer-container .footer-title {
}
.footer-container .footer-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-container .footer-list li {
    margin-bottom: 0.5rem;
}
.footer-container .footer-list a {
    text-decoration: none;
}
.footer-container .footer-list a:hover,
.footer-col.col2 a:hover {
    text-decoration: underline
}
.footer-container .contact-phone,
.footer-container .contact-email {
    margin: 0.25rem 0;
}
.footer-container .logo img {
    max-width: 300px;
    display: block;
    height: auto;
    margin-bottom: 3rem;
    margin-top: 32px;
}
.footer-container .social-icons {
    margin: 0 auto;
    display: table;
}
.footer-container .social-icons a img {
    width: 20px;
    height: 20px;
}
.footer-container .social-icons a img:hover {
    filter: brightness(0) invert(1);
}
.footer-container .social-icons a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: var(--bg-caramel);
    border-radius: 6px;
    text-decoration: none;
    margin-right: 15px;
}
.footer-container .social-icons a:last-child {
    margin-right: 0;
}
/*------------
   Icons
------------*/
.footer-list li a,
.contact-phone a,
.contact-email a {
    position: relative;
    display: inline-block;
    padding-left: 0
}
.footer-list li a::before,
.contact-phone a::before,
.contact-email a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background-size: 16px 16px;
    background-repeat: no-repeat;
}
.contact-phone a {
    padding-left: 26px;
}
.contact-phone a::before {
    background-image: url('/wp-content/uploads/footer-icons/phone.svg');
}
.contact-email a {
    padding-left: 26px;
}
.contact-email a::before {
    background-image: url('/wp-content/uploads/footer-icons/mail.svg');
}
/* ------------------
   COPYRIGHT
------------------ */
.full-bleed-section-parent.copyright .full-bleed-section {
    padding-top: 0;
    padding-bottom: 0;
    background: var(--bg-white)
}
.full-bleed-section-parent.copyright p {
    font-size: 15px;
}
/*=========================================*/
/*============  Media Queries  ============*/
@media only screen and (max-width: 1025px) {
    .footer-container {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .footer-col {
        flex: 0 0 auto !important;
        width: 100% !important;
        margin-left: 0;
    }
    .footer-col.col3 {
        margin-left: unset;
        flex: 0 0 auto;
        padding-bottom: 30px;
    }
    .footer-col .logo img {
        width: 350px;
        margin: 0 auto 2rem;
    }
}
@media only screen and (max-width: 480px) {
    .footer-col .logo img {
        width: 240px;
    }
}
/*========================================*/
/*============  BlOG CENTRAL  ============*/
/*========================================*/
.full-bleed-section.blog-central {
    padding-block: 32px;
    border-radius: var(--border-radius-base)
}
.blog-latest-articles {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    width: 100%;
    margin: 0 auto;
    border-radius: 1rem;
}
/*--------------------------
       Individual Card
---------------------------*/
.blog-latest-articles .vibe-gallery-item {
    text-align: center;
    transition: transform .25s ease;
}
.blog-latest-articles .vibe-gallery-item:hover {
    transform: translateY(-3px);
}
.blog-latest-articles .vibe-thumb-wrapper {
    display: block;
    position: relative;
    overflow: hidden;
    aspect-ratio: 3 / 4;
    border-radius: var(--border-radius-base);
    border: 6px solid var(--color-white);
}
.blog-latest-articles .vibe-thumb {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}
.blog-latest-articles .vibe-thumb-wrapper:hover .vibe-thumb {
    transform: scale(1.05);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15),
    0 12px 32px rgba(0, 0, 0, 0.1);
}
.blog-latest-articles .vibe-title {
    margin-top: .85rem;
}
.blog-latest-articles .vibe-title a {
    color: var(--color-black);
    text-decoration: none;
}
.blog-latest-articles .vibe-title a:hover {
    text-decoration: underline;
}
/*--------------------------
        Pagination
---------------------------*/
.blog-central-pagination {
    margin: 0.5rem auto 20px;
    display: table;
    text-align: center;
}
.blog-central-pagination ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    gap: 6px;
}
/* Base button style */
.blog-central-pagination .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    font-size: var(--font-size-small);
    color: var(--color-black);
    background: var(--bg-white);
    border: 1px solid var(--color-sand);
    border-radius: var(--border-radius-small);
    text-decoration: none;
    transition: all 0.2s ease;
}
.blog-central-pagination .page-numbers:hover {
    border-color: var(--color-taupe);
    color: var(--color-black);
}
.blog-central-pagination .page-numbers.current {
    font-weight: var(--font-weight-medium);
    background: var(--color-cinnamon);
    color: var(--color-white);
}
.blog-central-pagination .page-numbers.current:hover {
    background: var(--color-espresso);
}
/* Dots (ellipses) */
.blog-central-pagination .page-numbers.dots {
    background: transparent;
    border: none;
    cursor: default;
    width: auto;
}
.blog-central-pagination .page-numbers.prev,
.blog-central-pagination .page-numbers.next {
    font-weight: var(--font-weight-bold)
}
/*=====================================*/
/*=========  Media Queries  ==========*/
@media (max-width: 1025px) {
    .blog-latest-articles {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 768px) {
    .blog-latest-articles {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 480px) {
    .blog-latest-articles {
        grid-template-columns: 1fr;
    }
    .vibe-thumb-wrapper {
        aspect-ratio: 3 / 4;
        max-width: 350px;
        margin: 0 auto;
    }
}
/*========================================*/
/*============  SINGLE POST  ============*/
/*=======================================*/
.full-bleed-section-parent.single-post .full-bleed-section {
    padding-top: 40px;
    border-radius: var(--border-radius-base)
}
.single-post.one-container .site-content .inside-page-header {
    padding: 0
}
/********************************/
/********  Header  *************/
.single-post-header {
    max-width: 950px;
    margin: 0 auto;
    padding: 0;
    border-radius: var(--border-radius-base);
}
.single-post-content {
    max-width: 850px;
    margin: 0 auto;
    background: var(--bg-white);
    border-radius: var(--border-radius-base);
    padding: 35px;
    box-shadow: var(--box-shadow-soft)
}
.single-post-header .wrapper {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    flex-wrap: wrap;
    box-sizing: border-box;
    padding: 1rem 1rem 1.5rem;
}
.single-post-header .left-container {
    flex: 0 0 250px;
    max-width: 650px;
}
.single-post-header .left-container img {
    display: block;
    width: 100%;
    border-radius: var(--border-radius-base);
    object-fit: contain;
    height: 100%;
    max-height: 350px;
    border: 3px solid var(--color-taupe);
    aspect-ratio: 3 / 4;
    object-fit: cover;
    object-position: center;
}
.single-post-header .wrapper .right-container {
    flex: 1 1 0;
    max-width: var(--right-max);
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: flex-end;
}
.single-post-header .right-container h1 {
    margin: 0;
}
.single-post .single-post-content a {
    color: var(--color-espresso);
    font-weight: var(--font-weight-medium)
}
/*-----------
  Captions
-----------*/
.single-post .feature-media figcaption {
    font-size: 0.9rem;
}
.single-post .wp-block-image :where(figcaption) {
    margin-bottom: 0;
    margin-top: 0;
    padding: 5px 10px;
    background: var(--bg-white);
    border-bottom-right-radius: 20px;
    border-bottom-left-radius: 20px;
	line-height: 18px
}
/*--------------------------------------
  Left - Right - Text/Images Patterns
--------------------------------------*/
.single-post .text-images-pattern {
    max-width: 850px;
    margin: 0 auto;
}
.single-post .text-images-pattern .feature-card {
    position: relative;
    max-width: 850px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    overflow: visible;
}
.single-post .text-images-pattern .feature-body p {
    flex: 1 1 0;
}
.single-post .text-images-pattern .feature-body.img-right {
    flex: 1 1 0;
    line-height: 1.5;
    margin-right: -80px;
}
.single-post .text-images-pattern .feature-body.img-left {
    flex: 1 1 0;
    line-height: 1.5;
    margin-left: -80px;
}
.single-post .text-images-pattern .feature-media img {
    display: block;
    width: 100%;
    object-fit: cover;
    object-position: top;
    aspect-ratio: 3 / 4;
    max-height: 500px;
}
.single-post .text-images-pattern .feature-media.img-right {
    flex: 0 0 280px;
    transform: translateX(50.5%);
    border: 3px solid var(--color-taupe);
    border-radius: var(--border-radius-base);
    overflow: hidden;
    box-sizing: border-box;
}
.single-post .text-images-pattern .feature-media.img-left {
    flex: 0 0 280px;
    transform: translateX(-50.5%);
    border: 3px solid var(--color-taupe);
    border-radius: var(--border-radius-base);
    overflow: hidden;
    box-sizing: border-box;
}




@media only screen and (max-width: 1320px) {
    .single-post .text-images-pattern .feature-media.img-right {
        flex: 0 0 250px;
        transform: translateX(40%);
    }
    .single-post .text-images-pattern .feature-media.img-left {
        flex: 0 0 250px;
        transform: translateX(-40%);
    }
}
@media only screen and (max-width: 1025px) {
    .full-bleed-section-parent.single-post .full-bleed-section {
        padding-top: 15px;
    }
    .single-post .text-images-pattern .feature-card {
        flex-direction: column;
        align-items: stretch;
    }
    .single-post .text-images-pattern .feature-media.img-right {
        order: -1;
        transform: none;
        margin: 20px auto 0;
        max-width: 300px;
        overflow: unset;
    }
    .single-post .text-images-pattern .feature-media.img-left {
        order: -1;
        transform: none;
        margin: 1.5rem auto 1.5rem;
        width: 80%;
        max-width: 320px;
    }
    .single-post .text-images-pattern .feature-body.img-right {
        flex: 1 1 0;
        line-height: 1.5;
        margin-right: unset;
    }
    .single-post .text-images-pattern .feature-body.img-left {
        flex: 1 1 0;
        line-height: 1.5;
        margin-left: unset;
    }
    .feature-body.img-right {
        margin-top: 1.5rem;
    }
    .text-images-pattern .feature-media img {
        
        border-top-right-radius: 17px;
        border-top-left-radius: 17px;
    }
}
@media only screen and (max-width: 768px) {
    .full-bleed-section-parent.single-post .content-inner {
        --inner-pad: 20px;
    }
    .full-bleed-section-parent.single-post .full-bleed-section {
        margin-top: 10px;
    }
    .single-post-header .wrapper {
        flex-direction: column;
        align-items: stretch;
    }
    .single-post-header .left-container,
    .single-post-header .right-container {
        flex: none;
        width: 100%;
        max-width: 100%;
    }
    .single-post-header .right-container {
        display: block;
    }
    .single-post-content {
        padding: 10px 20px;
    }
}
@media only screen and (max-width: 480px) {
    .full-bleed-section-parent.single-post .full-bleed-section {
        padding-bottom: 0
    }
    .full-bleed-section-parent.single-post .content-inner {
        --inner-pad: 10px
    }
    .single-post-content {
        padding: 5px 15px;
    }
}
/*================================================*/
/*============  OTHER SINGLE POST PATTERNS  ===========*/
/*===============================================*/

/*-------------------------
  PTN - Two Columns List
-------------------------*/
.single-post ul.wp-block-list.two-columns {
    columns: 2;
    column-gap: clamp(20px, 4vw, 44px);
    margin: 0;
    padding-inline-start: 1.1em;
    line-height: 1.6;
}
.single-post ul.wp-block-list.wo-columns li {
    break-inside: avoid;
    margin: .2rem 0;
}
.single-post ul.wp-block-list.wo-columns li::marker {
    color: var(--taupe);
}
@media (max-width: 480px) {
    .single-post ul.wp-block-list.two-columns {
        columns: unset;
        display: flex;
        flex-wrap: wrap;
        gap: .75rem 1.25rem;
        list-style-position: inside;
        padding-left: 0;
    }
    .single-post ul.wp-block-list.two-columns li {
        margin: 0;
    }
}
/*----------------------
  PTA - CTA Box + Btn
-----------------------*/
.single-post .cta-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: clamp(16px, 2vw, 24px);
    background: var(--bg-ivory);
    border: 1px solid var(--color-sand); /* fallback */
    border-color: color-mix(in oklab, var(--color-taupe) 28%, white);
    border-radius: var(--border-radius-base);
    box-shadow: var(--box-shadow-soft);
}
.single-post .cta-card__copy p.cta-card__eyebrow {
    display: inline-block;
    font-size: .75rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--color-taupe);
    font-weight: var(--font-weight-regular) !important;
}
.single-post .cta-card .cta-card__copy p {
    margin: .2rem 0 0;
    color: var(--color-espresso);
    font-size: clamp(.95rem, .9rem + .2vw, 1.05rem);
    font-weight: var(--font-weight-medium)
}
.single-post .cta-card .cta-btn {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    text-decoration: none;
    border-radius: var(--border-radius-inside);
    font-weight: var(--font-weight-medium);
    background: var(--color-cinnamon);
    color: var(--color-white);
}
.single-post .cta-card .cta-btn:hover {
    background: var(--color-espresso)
}
@media (max-width: 480px) {
    .single-post .cta-card {
        flex-direction: column;
        align-items: flex-start;
    }
    .single-post .cta-card .cta-btn {
        padding: 0.7rem 1rem
    }
}
/*==============================================*/
/*============  Related Articles    ============*/
/*=============================================*/
.full-bleed-section-parent.related-articles .full-bleed-section {
    padding-top: 40px;
    border-radius: var(--border-radius-base)
}
.rpc-title {
    padding: 0.5rem;
}
.rpc-wrap {
    position: relative;
    /* max-width: 1140px; */
    max-width: 1320px;
    margin: 0 auto;
}
.rpc-slide {
    padding: 0.5rem;
    box-sizing: border-box;
}
.rpc-card {
    display: block;
    text-decoration: none;
    color: inherit;
    border-radius: 20px;
    overflow: hidden;
    transition: transform .25s ease; /** Transition Effect **/
}
.rpc-meta {
    padding: 0.75rem 0.875rem 0.875rem;
}
.rpc-post-title {
    margin: 0 auto;
    text-align: center;
}
/***************************/
/***** Featured Image *****/
.rpc-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 4;
    border: 3px solid var(--color-taupe);
    border-radius: var(--border-radius-base);
    overflow: hidden;
    box-sizing: border-box;
}
.rpc-thumb-inner {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: top center;
    transform: scale(1);
    transition: transform .35s ease;
    will-change: transform;
}
/*** Enlarge Bg Img on Hover ***/
.rpc-card:hover .rpc-thumb-inner {
    transform: scale(1.05);
}
.rpc-card {
    transition: transform .25s ease;
}
.rpc-card:hover {
    transform: translateY(-3px);
}
/*******************/
/***** Arrows *****/
.rpc-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 999px;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    z-index: 2;
}
.rpc-arrow-prev {
    left: -135px;
    opacity: 0.6;
}
.rpc-arrow-next {
    right: -135px;
    opacity: 0.6;
}
.rpc-arrow-prev:hover,
.rpc-arrow-next:hover {
    opacity: unset
}
/*****************/
/***** Dots *****/
.rpc-section .slick-dots li {
    display: inline-block;
    margin: 0 6px;
}
.rpc-section .slick-dots li button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: none;
    background: #a688779c;
    border-radius: 50%;
    cursor: pointer;
    transition: background-color .3s;
    font-size: 0;
    list-style-type: none;
    line-height: 0;
}
.rpc-section .slick-dots li button:before {
    display: none;
}
.rpc-section .slick-dots li.slick-active button {
    background: var(--bg-black)
}
/*=====================================*/
/*=========  Media Queries  ==========*/
@media only screen and (max-width: 1320px) {
    .rpc-arrow svg {
        width: 60px;
    }
    .rpc-arrow-prev {
        left: -80px;
    }
    .rpc-arrow-next {
        right: -80px;
    }
}
@media only screen and (max-width: 768px) {
    .full-bleed-section-parent.related-articles .full-bleed-section {
        padding-top: 10px;
        padding-bottom: 40px;
    }
    .full-bleed-section-parent.related-articles .rpc-section .rpc-wrap .rpc-arrow-prev,
    .full-bleed-section-parent.related-articles .rpc-section .rpc-wrap .rpc-arrow-next {
        display: none !important;
    }
}
/*==========================================*/
/*============  Comment Form   ============*/
/*========================================*/
.single-post .comments-area {
    --gutter-min: 8px;
    --gutter-max: 56px;
    --gutter: clamp(var(--gutter-min), 4vw, var(--gutter-max));
    padding-inline: var(--gutter);
}
@media only screen and (max-width: 479px) {
    .single-post .comments-area {
        --gutter-min: 4px
    }
    .single-post .comments-area {
        --inner-pad: 12px;
    }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
    .single-post .comments-area {
        --gutter-min: 12px;
    }
}
@media only screen and (min-width: 768px) and (max-width: 1600px) {
    .single-post .comments-area {
        /* keep your original clamp behaviour */
        --gutter-min: 8px;
        --gutter-max: 56px;
        --gutter: clamp(var(--gutter-min), 4vw, var(--gutter-max));
    }
}
@media only screen and (min-width: 1601px) {
    .single-post .comments-area {
        --inner-pad: 0;
    }
}
.single-post .comments-area {
    max-width: 850px;
    margin: 0 auto;
}
.comments-area #respond {
    background: var(--color-sand);
    padding: 3rem 3.5rem;
    border-radius: var(--border-radius-base)
}
/*******************/
/***** Heading *****/
.comments-area #reply-title {
    color: var(--color-black);
    margin-bottom: 2rem;
}
/******************/
/***** Inputs *****/
.comment-form-comment textarea,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"] {
    width: 100%;
    background: var(--bg-white);
    border: 1px solid var(--color-taupe);
    padding: 1rem 1.25rem;
    color: var(--color-black);
    border-radius: var(--border-radius-inside);
    transition: border-color .25s ease, box-shadow .25s ease
}
.comment-form-comment textarea {
    min-height: 220px;
    resize: vertical
}
/* Placeholder tone */
.comments-area .comment-form ::placeholder {
    color: var(--black);
    opacity: .8
}
/* Focus state */
.comments-area .comment-form-comment textarea:focus,
.comments-area .comment-form input:focus {
    outline: none;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-cinnamon) 25%, transparent);
    border-color: var(--color-cinnamon);
}
/*****************************/
/***** Checkbox & Label *****/
.comment-form-cookies-consent {
    display: flex;
    gap: 0.6rem;
    align-items: flex-start;
    margin: 1.5rem 0 2.5rem;
    font-size: 0.95rem;
}
.comment-form-cookies-consent label {
    position: relative;
    top: -5px;
}
#wp-comment-cookies-consent {
    accent-color: var(--color-cinnamon);
    width: 1rem;
    height: 1rem;
    cursor: pointer
}
/******************/
/***** Button *****/
.form-submit input[type="submit"] {
    background: var(--color-cinnamon);
    color: var(--color-white);
    padding: 1rem 2.25rem;
    border-radius: var(--border-radius-inside);
    cursor: pointer;
    transition: background .25s ease, transform .15s ease !important;
}
.form-submit input[type="submit"]:hover {
    background: var(--color-espresso);
    transform: translateY(-2px)
}
.form-submit input[type="submit"]:active {
    transform: translateY(0)
}
@media only screen and (max-width: 768px) {
    .single-post .comments-area {
        padding-bottom: 80px;
    }
}
/***********************/
/***** Responsive *****/
@media only screen and (max-width: 480px) {
    .comments-area #respond {
        padding: 1.2rem
    }
}
/*=====================================*/
/*============  Bio Box   ============*/
/*===================================*/
.single-post .bio-box h3.wp-block-heading {
    margin-top: 28px;
    margin-bottom: 0;
}
.single-post .bio-box {
    max-width: 850px;
    margin: 2rem auto 0;
    border: 1px solid var(--color-taupe);
    border-radius: var(--border-radius-base);
    padding: 35px;
}
@media only screen and (max-width: 768px) {
    .single-post .bio-box h3.wp-block-heading {
        margin-top: unset
    }
}
@media only screen and (max-width: 480px) {
    .single-post .bio-box {
        margin: 50px 15px;
    }
}
/*======================*/
/*===== GENERAL =======*/
/*====================*/
.hide-all-devices {
    display: none
}
.one-container .site-content {
    padding: 0;
}
.generate-back-to-top {
    display: none;
}
/*=====================================*/
/*============  BRANDING  ============*/
/*===================================*/
.full-bleed-section-parent.cat-brand-sections {
    margin-bottom: 41px;
}
.full-bleed-section-parent.cat-brand-sections.last {
    margin-bottom: 45px
}
.full-bleed-section-parent.cat-brand-sections .content-inner {
    --inner-pad: 0
}
.full-bleed-section.cat-img-sections {
    padding-block: 0;
}
.content-inner.cat-img-sections {
    max-width: unset;
}
.cat-brand-sections .branding-card {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    max-height: 500px;
    margin: 0 auto;
    border-radius: var(--border-radius-base);
    overflow: hidden;
    cursor: pointer;
    box-shadow: var(--box-shadow-soft);
}
@media (hover: hover) {
    .cat-brand-sections .branding-card {
        transition: transform .25s ease;
        box-shadow: none;
        border: 1px solid var(--color-black)
    }
    .cat-brand-sections .branding-card:hover {
        transform: translateY(-4px);
    }
}
.cat-brand-sections .branding-card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%);
    transition: filter 0.4s ease;
}
.cat-brand-sections .branding-card.top img {
    object-position: top;
}
.cat-brand-sections .branding-card.middle img {
    object-position: bottom;
}
.cat-brand-sections .branding-card.bottom img {
    object-position: center
}
.cat-brand-sections .branding-card:hover img {
    filter: none;
}
/***** Overlay Text *****/
.cat-brand-sections .branding-card .overlay-text h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--color-white);
    font-size: 3.815rem;
    margin: 0;
    pointer-events: none;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .35);
    white-space: nowrap;
}
@media (max-width: 1025px) {
    .cat-brand-sections .branding-card .overlay-text h2 {
        font-size: clamp(1.75rem, 5.6vw + .5rem, 3.2rem);
        line-height: 1.10;
        margin-block-end: 2rem;
    }
}
@media (max-width: 768px) {
    .full-bleed-section-parent.cat-brand-sections {
        margin-top: 10px;
    }
    .cat-brand-sections .branding-card {
        height: 0;
        padding-bottom: 56.25%;
        max-height: none;
    }
    .cat-brand-sections .branding-card img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}
@media (max-width: 480px) {
    .full-bleed-section-parent.cat-brand-sections.last {
        margin-bottom: 51px
    }
    .cat-brand-sections .branding-card .overlay-text h2 {
        font-size: clamp(1.80rem, 6.3vw + .45rem, 2.60rem);
        line-height: 1.20;
        margin-block-end: 1.75rem;
    }
}
/*============================================*/
/*=======  CATEGORIES - CARDS - GRID  =======*/
/*==========================================*/
.categories-cards-grid {
    display: grid;
    grid-template-columns:1fr;
    gap: 24px;
    margin: 0 auto;
}
/* ============ Card ============ */
.category-card {
    position: relative;
    overflow: hidden;
    background: var(--bg-white);
    border-radius: var(--border-radius-base);
    box-shadow: var(--box-shadow-soft);
}
/* intrinsic height via ratio */
.category-card::before {
    content: "";
    display: block;
    aspect-ratio: 3 / 5;
    min-height: 420px;
    max-height: 100vh;
}
/* image */
.category-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
    display: block;
    filter: grayscale(100%);
    transition: filter .4s ease;
}
@media (hover: hover) {
    .category-card:hover img {
        filter: grayscale(0%);
    }
}
/* title */
h2.category-title {
    position: absolute;
    top: 30px;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    color: var(--color-white);
    text-align: center;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .35);
    pointer-events: none;
    font-size: clamp(1.75rem, 5.6vw + .5rem, 3.2rem);
}
/* whole-card link */
/*.category-link {*/
/*    position: absolute;*/
/*    inset: 0;*/
/*}*/
.category-link:focus {
    outline: none;
}
.category-link:focus-visible {
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .9), 0 0 0 8px #000;
    border-radius: inherit;
}
/* lift on hover (non-touch) */
@media (hover: hover) {
    .category-card {
        transition: transform .25s ease;
        box-shadow: none;
    }
    .category-card:hover {
        transform: translateY(-4px);
    }
}
/*=====================================*/
/*===========  Media Queries  =========*/
/* Tablet: two columns (row1=2, row2=1 naturally) */
@media (min-width: 768px) {
    .categories-cards-grid {
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap: 32px;
    }
}
/* Desktop: three columns in one row */
@media (min-width: 1024px) {
    .categories-cards-grid {
        grid-template-columns:repeat(3, minmax(0, 1fr));
        gap: 40px;
    }
}
/* ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â°ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¤1025 clean title sizing */
@media (max-width: 1025px) {
    h2.category-title {
        font-size: clamp(1.75rem, 5.6vw + .5rem, 3.2rem);
        line-height: 1.1;
        margin-block-end: 2rem;
    }
}
/* ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â°ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¤768 spacing + square-ish if you like (kept tidy) */
@media (max-width: 768px) {
    .categories-cards-grid {
        gap: 20px;
        margin: 15px auto 0;
    }
    .category-card::before {
        min-height: 0;
    }
}
/* ===== Mobile ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œbutton heightÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â cards =====
   Short, wide cards with title perfectly centered */
@media (max-width: 480px) {
    /* short, button-like height */
    .category-card::before {
        aspect-ratio: 4 / 4; /* ~40% of width height; tweak to taste */
        min-height: 0;
        max-height: none;
    }
    /* center title vertically & horizontally */
    h2.category-title {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: clamp(1.4rem, 6.2vw, 2rem);
        line-height: 1.15;
        margin: 0;
    }
    /* small-screen image crop */
    .category-card img {
        object-position: center 30%;
    }
    .categories-cards-grid {
        gap: 40px;
    }
}
@media (min-width: 481px) and (max-width: 767.98px) {
    .category-card::before {
        aspect-ratio: 4 / 3;
        min-height: 0;
        max-height: none;
    }
    h2.category-title {
        top: 24px;
        left: 50%;
        transform: translateX(-50%);
        font-size: clamp(1.6rem, 5.2vw, 2.2rem);
    }
    /* nicer crop around faces */
    .category-card img {
        object-position: center 35%;
    }
}
/*============================*/
/*=======  INSTAGRAM  =======*/
/*==========================*/
.full-bleed-section.instagram {
    padding-block: 0;
}
.full-bleed-section-parent .full-bleed-section.instagram {
    background: var(--bg-white)
}
.full-bleed-section-parent.instagram h2 {
    text-transform: uppercase;
    margin: -8px 0 20px 0;
}
#sb_instagram .sbi_photo img {
    width: 100%;
    height: inherit;
    object-fit: cover;
    scale: 1;
    transition: transform .5s ease-in-out, -webkit-transform .5s ease-in-out;
    vertical-align: middle;
    border-radius: 20px;
    filter: grayscale(100%);
}
#sb_instagram .sbi_photo img:hover {
    width: 100%;
    height: inherit;
    object-fit: cover;
    scale: 1;
    transition: transform .5s ease-in-out, -webkit-transform .5s ease-in-out;
    vertical-align: middle;
    border-radius: var(--border-radius-base);
    filter: unset;
}
#sb_instagram #sbi_images {
    box-sizing: border-box;
    display: grid;
    width: 100%;
    padding-bottom: 0;
}
/*=======================================*/
/*===  Full Width Overwrite Sections  ===*/
/*=======================================*/
.content-inner.padding-reset {
    max-width: 1920px;
    --inner-pad: unset;
}
@media (max-width: 479px) {
    .content-inner.padding-reset {
        --inner-pad: unset;
    }
}
@media (min-width: 480px) and (max-width: 767px) {
    .content-inner.padding-reset {
        --inner-pad: unset;
    }
}
@media (min-width: 768px) and (max-width: 1600px) {
    .content-inner.padding-reset {
        --inner-pad: unset;
    }
}
.full-bleed-section.bg-none {
    padding-block: unset;
    background: none;
}
/*===============================*/
/*============  VAR  ============*/
/*===============================*/
html, body {
    overflow-x: hidden
}
a,
#mobile-header .menu-toggle {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
/*======  Spacing above Footer  =====*/
.full-bleed-section-parent.about-bottom,
.full-bleed-section-parent.instagram,
.full-bleed-section.portfolio,
.full-bleed-section.blog-central,
.full-bleed-section.contact-section {
    margin-bottom: 45px;
}
.single-post .comments-area {
    padding-bottom: 45px
}
@media (max-width: 768px) {
    .full-bleed-section-parent.about-bottom,
    .full-bleed-section-parent.instagram {
        margin-bottom: 45px;
    }
}
@media (max-width: 480px) {
    .full-bleed-section.single-testimonial {
        margin-bottom: 46px;
    }
}
/*======  Not Found  =====*/
.not-found p {
    margin: 0 auto;
    display: table;
}
.not-found img {
    margin: 0 auto;
    display: table;
}
/*=====================================================================================================================================================*/
/*===============================================================  TEMP - Branding Page ===============================================================*/
.page-id-1896 .entry-header h1 {
    text-align: center;
}
/*=====================================================================================================================================================*/
/*===============================================================  TEMP - Branding Page ===============================================================*/
.page-id-1576 h1.entry-title {
    text-align: center;
}