/*
==========================================================================

 Project     : Signature Spreads and Treats by Di
 File        : style.css
 Version     : 1.0.0
 Author      : JB
 Purpose     : Global Stylesheet

===========================================================================
*/

/*==================================================
01. ROOT VARIABLES
==================================================*/

:root {
	
	/* Brand Colors */

    --color-primary: #C89A4B;
    --color-primary-dark: #B66A22;
    --color-secondary: #8C9B72;
    --color-background: #FAF6F0;
    --color-background-alt: #F8F4EE;
    --color-section: #F4EDE3;
    --color-white: #FCFAF6;
    --color-text: #3E2A1F;
    --color-text-light: #5B4335;
    --color-border: #DCC9AA;
	
	/* Typography */

    --font-heading: "Cormorant Garamond", serif;
    --font-body: "Lato", sans-serif;
	
	/* Font Weights */

    --fw-light:300;
    --fw-normal:400;
    --fw-medium:500;
    --fw-bold:700;
	
	/* Font Sizes */

    --fs-display:4.75rem;
    --fs-h1:4rem;
    --fs-h2:3rem;
    --fs-h3:2rem;
    --fs-body:1.125rem;
    --fs-small:.95rem;
	
	/* Spacing System */	

    --space-xs:4px;
    --space-sm:8px;
    --space-md:16px;
    --space-lg:24px;
    --space-xl:32px;
    --space-2xl:48px;
    --space-3xl:64px;
    --space-4xl:96px;
    --space-5xl:128px;
	
	/* Border Radius */

    --radius-sm:8px;
    --radius-md:14px;
    --radius-lg:20px;
    --radius-xl:30px;
    --radius-pill:999px;
	
	/* Shadows */

    --shadow-soft:0 8px 25px rgba(0,0,0,.05);
    --shadow-medium:0 15px 35px rgba(0,0,0,.08);
    --shadow-large:0 25px 60px rgba(0,0,0,.10);
    --shadow-nav:0 5px 25px rgba(0,0,0,.08);
	
	/* Transitions */

    --transition-fast:.25s ease;
    --transition-normal:.4s ease;
    --transition-slow:.6s ease;
	
	/* Site Width */

    --container-width:1320px;
	
	/* Header */

    --header-height:80px;
	
	/* Hero */
	
	--page-hero-content-offset: 2rem;

}

/*==================================================
02. CSS RESET & BASE
==================================================*/

/* Universal Box Model */

*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Remove Default Margin & Padding */

* {
    margin: 0;
    padding: 0;
}

/* Improve Scroll Behavior */

html {
    scroll-behavior: smooth;
}

/* Body Defaults */

body {
    background: var(--color-background);
    color: var(--color-text);
    font-family: var(--font-body);
    font-size: var(--fs-body);
    font-weight: var(--fw-normal);
    line-height: 1.7;
    overflow-x: hidden;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Images */

img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* SVG */

svg {
    display: block;
}

/* Links */

a {
    color: inherit;
    text-decoration: none;
    transition: var(--transition-fast);
}

/* Lists */

ul,
ol {
    list-style: none;
}

/* Buttons */

button {
    border: none;
    background: none;
    cursor: pointer;
    font: inherit;
}

/* Form Elements */

input,
textarea,
select,
button {
    font: inherit;
}

/* Tables */

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* Horizontal Rule */

hr {
    border: none;
}

/* Keyboard Focus */

:focus-visible {
    outline: 3px solid var(--color-primary);
    outline-offset: 4px;
}

/* Text Selection */

::selection {
    background: var(--color-primary);
    color: var(--color-white);
}

/* Skip Link */

.skip-link {
    position: absolute;
    top: -100px;
    left: 20px;
    background: var(--color-primary);
    color: var(--color-white);
    padding: 12px 20px;
    border-radius: var(--radius-pill);
    z-index: 9999;
}

.skip-link:focus {
    top: 20px;
}

/* Prevent Horizontal Scrolling */

html,
body {
    overflow-x: hidden;
}

/* Reduced Motion */

@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto;
    }

    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .scroll-to-top,
    .scroll-to-top i {
        transition: none;
    }

}

/*==================================================
03. TYPOGRAPHY
==================================================*/

/* Body */

body {
    font-family: var(--font-body);
    font-size: var(--fs-body);
    line-height: 1.7;
    color: var(--color-text);
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    font-weight: 600;
    color: var(--color-text);
    line-height: 1.2;
    letter-spacing: .02em;
    margin-bottom: var(--space-lg);
}

/* Individual Heading Sizes */

/* Hero Title */

h1 {
    font-size: clamp(2.75rem, 5vw, 4.75rem);
}

/* Section Titles */

h2 {
    font-size: clamp(2rem, 4vw, 3.25rem);
}

/* Card Titles */

h3 {
    font-size: clamp(1.5rem, 2.8vw, 2.25rem);
}

h4 {
    font-size: clamp(1.3rem, 2vw, 1.75rem);
}

h5 {
    font-size: 1.25rem;
}

h6 {
    font-size: 1.1rem;
}

/* Paragraphs */

p {
    margin-bottom: var(--space-lg);
    color: var(--color-text-light);
    max-width: 68ch;
}

strong {
    font-weight: var(--fw-bold);
}

em {
    font-style: italic;
}

small {
    font-size: .9rem;
    color: var(--color-text-light);
}

/* Lists */

.content-list {
    padding-left: var(--space-xl);
    list-style: disc;
}

.content-list li {
    margin-bottom: var(--space-sm);
}

/* Blockquote */

blockquote {
    border-left: 4px solid var(--color-primary);
    padding-left: var(--space-xl);
    margin: var(--space-2xl) 0;
    font-style: italic;
    color: var(--color-text);
}

/* Section Titles */

.section-title {
    text-align: center;
    margin-bottom: var(--space-md);
}

.section-subtitle {
    max-width: 700px;
    margin: 0 auto var(--space-3xl);
    text-align: center;
    color: var(--color-text-light);
}

/* Accent Text */

.accent-text {
    display: inline-block;
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: .15em;
    font-size: .9rem;
    font-weight: 700;
    margin-bottom: var(--space-md);
}

/* Text Utilities */

.text-narrow {
    max-width: 45ch;
}

.text-medium {
    max-width: 60ch;
}

.text-wide {
    max-width: 75ch;
}

/*==================================================
04. GLOBAL LAYOUT
==================================================*/

/* Container */

.container-custom {
    width:100%;
    max-width:var(--container-width);
    margin:0 auto;
    padding-inline:24px;
}

/* Section */

.section {
    position:relative;
}

.section-lg {
    padding:var(--space-5xl) 0;
}

.section-sm {
    padding:var(--space-3xl) 0;
}

/* Section Backgrounds */

.bg-primary {
    background:var(--color-background);
}

.bg-alt {
    background:var(--color-background-alt);
}

.bg-accent {
    background:var(--color-section);
}

.bg-white {
    background:var(--color-white);
}

/* Content Wrappers */

.content-sm {
    max-width:650px;
}

.content-md {
    max-width:850px;
}

.content-lg {
    max-width:1100px;
}

.content-center {
    margin-inline:auto;
    text-align:center;
}

.layout-two-column {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:64px;
    align-items:center;
}

.layout-feature {
    display:grid;
    grid-template-columns:55% 45%;
    gap:80px;
    align-items:center;
}

.layout-centered {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}

.layout-gallery {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:32px;
}

/* Image Wrapper */

.image-wrapper {
    position:relative;
    overflow:hidden;
    border-radius:var(--radius-xl);
}

.image-wrapper img {
    width:100%;
    transition:var(--transition-slow);
}

.image-wrapper:hover img {
    transform:scale(1.04);
}

/* Decorative Divider */

.section-divider {
    width:120px;
    height:2px;
    margin:32px auto;
    background:linear-gradient(
        to right,
        transparent,
        var(--color-primary),
        transparent
    );
}

/* Flex Utilities */

.d-flex-center {
    display:flex;
    justify-content:center;
    align-items:center;
}

.d-flex-between {
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.d-flex-column {
    display:flex;
    flex-direction:column;
}

/* Scroll To Top */

.scroll-to-top {
    position: fixed;
    right: clamp(1rem, 2.5vw, 2rem);
    bottom: clamp(1rem, 2.5vw, 2rem);
    z-index: 950;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    padding: 0;
    border: 1px solid rgba(252, 250, 246, 0.35);
    border-radius: 50%;
    background-color: var(--color-primary);
    color: var(--color-white);
    font-size: 0.95rem;
    box-shadow:
        0 12px 30px rgba(75, 46, 30, 0.2);
    opacity: 0;
    visibility: hidden;
    transform: translateY(18px);
    pointer-events: none;
    transition:
        opacity var(--transition-normal),
        visibility var(--transition-normal),
        transform var(--transition-normal),
        background-color var(--transition-fast),
        border-color var(--transition-fast),
        box-shadow var(--transition-fast);
}

/* Visible state added by JavaScript */

.scroll-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

/* Hover and keyboard focus */

.scroll-to-top:hover,
.scroll-to-top:focus-visible {
    border-color: var(--color-primary-dark);
    background-color: var(--color-primary-dark);
    box-shadow:
        0 16px 34px rgba(75, 46, 30, 0.3);
    transform: translateY(-4px);
}

/* Pressed state */

.scroll-to-top:active {
    transform: translateY(-1px);
}

/* Arrow */

.scroll-to-top i {
    line-height: 1;
    transition: transform var(--transition-fast);
}

.scroll-to-top:hover i,
.scroll-to-top:focus-visible i {
    transform: translateY(-2px);
}

/*==================================================
05. UTILITY CLASSES
==================================================*/

/* Text Alignment */

.text-left {
    text-align: left;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

/* Text Colors */

.text-primary {
    color: var(--color-primary);
}

.text-dark {
    color: var(--color-text);
}

.text-muted {
    color: var(--color-text-light);
}

.text-light {
    color: var(--color-white);
}

/* Font Families */

.font-heading {
    font-family: var(--font-heading);
}

.font-body {
    font-family: var(--font-body);
}

/* Font Weights */

.fw-light {
    font-weight: var(--fw-light);
}

.fw-normal {
    font-weight: var(--fw-normal);
}

.fw-medium {
    font-weight: var(--fw-medium);
}

.fw-bold {
    font-weight: var(--fw-bold);
}

/* Text Transform */

.text-uppercase {
    text-transform: uppercase;
}

.text-capitalize {
    text-transform: capitalize;
}

.letter-spacing-sm {
    letter-spacing: 0.05em;
}

.letter-spacing-md {
    letter-spacing: 0.1em;
}

.letter-spacing-lg {
    letter-spacing: 0.16em;
}

/* Width Helpers */

.w-full {
    width: 100%;
}

.max-width-sm {
    max-width: 650px;
}

.max-width-md {
    max-width: 850px;
}

.max-width-lg {
    max-width: 1100px;
}

.mx-auto {
    margin-inline: auto;
}

/* Spacing Helpers */

.mt-0 {
    margin-top: 0;
}

.mt-sm {
    margin-top: var(--space-sm);
}

.mt-md {
    margin-top: var(--space-md);
}

.mt-lg {
    margin-top: var(--space-lg);
}

.mt-xl {
    margin-top: var(--space-xl);
}

.mt-2xl {
    margin-top: var(--space-2xl);
}

.mb-0 {
    margin-bottom: 0;
}

.mb-sm {
    margin-bottom: var(--space-sm);
}

.mb-md {
    margin-bottom: var(--space-md);
}

.mb-lg {
    margin-bottom: var(--space-lg);
}

.mb-xl {
    margin-bottom: var(--space-xl);
}

.mb-2xl {
    margin-bottom: var(--space-2xl);
}

/* Border Radius */

.rounded-sm {
    border-radius: var(--radius-sm);
}

.rounded-md {
    border-radius: var(--radius-md);
}

.rounded-lg {
    border-radius: var(--radius-lg);
}

.rounded-xl {
    border-radius: var(--radius-xl);
}

.rounded-pill {
    border-radius: var(--radius-pill);
}

/* Shadows */

.shadow-soft {
    box-shadow: var(--shadow-soft);
}

.shadow-medium {
    box-shadow: var(--shadow-medium);
}

.shadow-large {
    box-shadow: var(--shadow-large);
}

/* Display Helpers */

.d-block {
    display: block;
}

.d-inline-block {
    display: inline-block;
}

.d-none {
    display: none;
}

/* Position Helpers */

.position-relative {
    position: relative;
}

.position-absolute {
    position: absolute;
}

/* Overflow Helpers */

.overflow-hidden {
    overflow: hidden;
}

/* Screen Reader Only */

.visually-hidden-custom {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Interactive Focus Utility */

.focus-ring:focus-visible {
    outline: 3px solid var(--color-primary);
    outline-offset: 4px;
}

/* Responsive Media */

.media-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.media-contain {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/*==================================================
06. BUTTONS
==================================================*/

/* Base Button */

.btn-custom {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);

    min-height: 48px;
    padding: 0.85rem 1.65rem;

    border: 2px solid transparent;
    border-radius: var(--radius-pill);

    font-family: var(--font-body);
    font-size: 0.95rem;
    font-weight: var(--fw-bold);
    line-height: 1.2;
    letter-spacing: 0.05em;
    text-align: center;

    cursor: pointer;
    user-select: none;

    transition:
        background-color var(--transition-fast),
        border-color var(--transition-fast),
        color var(--transition-fast),
        box-shadow var(--transition-fast),
        transform var(--transition-fast);
}

.btn-custom:hover {
    transform: translateY(-2px);
}

.btn-custom:active {
    transform: translateY(0);
}

.btn-custom:focus-visible {
    outline: 3px solid rgba(200, 154, 75, 0.45);
    outline-offset: 4px;
}

/* Primary Button */

.btn-primary-custom {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-white);
    box-shadow: var(--shadow-soft);
}

.btn-primary-custom:hover {
    background-color: var(--color-primary-dark);
    border-color: var(--color-primary-dark);
    color: var(--color-white);
    box-shadow: var(--shadow-medium);
}

/* Secondary Button */

.btn-secondary-custom {
    background-color: var(--color-text);
    border-color: var(--color-text);
    color: var(--color-white);
}

.btn-secondary-custom:hover {
    background-color: var(--color-text-light);
    border-color: var(--color-text-light);
    color: var(--color-white);
    box-shadow: var(--shadow-soft);
}

/* Outline Button */

.btn-outline-custom {
    background-color: transparent;
    border-color: var(--color-text);
    color: var(--color-text);
}

.btn-outline-custom:hover {
    background-color: var(--color-text);
    border-color: var(--color-text);
    color: var(--color-white);
}

/* Light Outline Button */

.btn-outline-light-custom {
    background-color: transparent;
    border-color: rgba(252, 250, 246, 0.8);
    color: var(--color-white);
}

.btn-outline-light-custom:hover {
    background-color: var(--color-white);
    border-color: var(--color-white);
    color: var(--color-text);
}

/* Ghost Button */

.btn-ghost-custom {
    min-height: auto;
    padding: 0.45rem 0;

    border: 0;
    border-radius: 0;

    background-color: transparent;
    color: var(--color-text);

    box-shadow: none;
}

.btn-ghost-custom::after {
    content: "";
    width: 24px;
    height: 1px;

    background-color: currentColor;

    transition: width var(--transition-fast);
}

.btn-ghost-custom:hover {
    color: var(--color-primary-dark);
    transform: none;
}

.btn-ghost-custom:hover::after {
    width: 36px;
}

/* Button Sizes */

.btn-sm-custom {
    min-height: 40px;
    padding: 0.65rem 1.25rem;
    font-size: 0.85rem;
}

.btn-lg-custom {
    min-height: 56px;
    padding: 1rem 2rem;
    font-size: 1rem;
}

/* Full-Width Button */

.btn-block-custom {
    width: 100%;
}

/* Icon Button */

.btn-icon-custom {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;
    padding: 0;

    border: 1px solid var(--color-border);
    border-radius: 50%;

    background-color: transparent;
    color: var(--color-text);

    transition:
        background-color var(--transition-fast),
        border-color var(--transition-fast),
        color var(--transition-fast),
        transform var(--transition-fast);
}

.btn-icon-custom:hover {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-white);
    transform: translateY(-2px);
}

/* Disabled State */

.btn-custom:disabled,
.btn-custom[aria-disabled="true"] {
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: none;
    transform: none;
    box-shadow: none;
}

/* Loading State */

.btn-custom.is-loading {
    position: relative;
    color: transparent;
    pointer-events: none;
}

.btn-custom.is-loading::after {
    content: "";

    position: absolute;

    width: 18px;
    height: 18px;

    border: 2px solid rgba(255, 255, 255, 0.45);
    border-top-color: currentColor;
    border-radius: 50%;

    animation: button-spin 0.75s linear infinite;
}

@keyframes button-spin {
    to {
        transform: rotate(360deg);
    }
}

.btn-primary-custom.is-loading::after,
.btn-secondary-custom.is-loading::after {
    border-color: rgba(255, 255, 255, 0.4);
    border-top-color: var(--color-white);
}

.btn-outline-custom.is-loading::after {
    border-color: rgba(62, 42, 31, 0.25);
    border-top-color: var(--color-text);
}

/* Button Group */

.button-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-md);
}

/* Button Refinement */

.btn-custom {
    min-height: 48px;
    transition:
        color var(--transition-fast),
        background-color var(--transition-fast),
        border-color var(--transition-fast),
        box-shadow var(--transition-fast),
        transform var(--transition-fast);
}

.btn-primary-custom:hover,
.btn-primary-custom:focus-visible {
    box-shadow:
        0 12px 26px rgba(182, 106, 34, 0.24);
    transform: translateY(-2px);
}

.btn-outline-custom:hover,
.btn-outline-light-custom:hover,
.btn-outline-custom:focus-visible,
.btn-outline-light-custom:focus-visible {
    transform: translateY(-2px);
}

.btn-custom:active {
    box-shadow: none;
    transform: translateY(0);
}

/* Consistent Keyboard Focus */

a:focus-visible,
button:focus-visible {
    outline: 3px solid rgba(212, 163, 115, 0.78);
    outline-offset: 4px;
}


/*==================================================
07. HEADER & NAVIGATION
==================================================*/

/* Site Header */

.site-header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    background-color: transparent;
    transition:
        background-color var(--transition-normal),
        box-shadow var(--transition-normal),
        backdrop-filter var(--transition-normal);
}

.site-header.is-scrolled {
    position: fixed;
    background-color: rgba(250, 246, 240, 0.96);
    box-shadow: var(--shadow-nav);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

/* Navigation Structure */

.site-nav {
    width: 100%;
}

.site-nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 92px;
    transition: min-height var(--transition-normal);
}

.site-header.is-scrolled .site-nav-inner {
    min-height: 72px;
}

/* Brand Logo */

.site-brand {
    position: relative;
    z-index: 1002;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 0 auto;
    width: 255px;
    margin-right: clamp(2rem, 4vw, 4.5rem);
}

.site-brand-logo {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    transform-origin: left center;
    transition:
        width var(--transition-normal),
        transform var(--transition-normal);
}

.site-header.is-scrolled .site-brand {
    width: 195px;
}

/* Desktop Navigation */

.site-nav-desktop {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 1 1 auto;
}

.site-nav-list {
    display: flex;
    align-items: center;
    justify-content: flex-end;
	gap: clamp(1.1rem, 1.7vw, 2rem);
    margin: 0;
    padding: 0;
}

.site-nav-list > li {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

/* Navigation Links */

.site-nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.4rem 0;
    color: var(--color-text);
    font-weight: var(--fw-bold);
    white-space: nowrap;
}

.site-nav-link::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 3px;
    left: 0;
    height: 1px;
    background-color: var(--color-primary-dark);
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform var(--transition-fast);
}

.site-nav-link:hover,
.site-nav-link.active {
    color: var(--color-primary-dark);
}

.site-nav-link:hover::after,
.site-nav-link.active::after {
    transform: scaleX(1);
    transform-origin: left center;
}

/* Cart Link */

.site-cart-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 44px;
    color: var(--color-text);
    font-weight: var(--fw-bold);
    white-space: nowrap;
}

.site-cart-link:hover {
    color: var(--color-primary-dark);
}

.site-cart-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding-inline: 6px;
    border-radius: var(--radius-pill);
    background-color: var(--color-primary);
    color: var(--color-white);
    font-size: 0.72rem;
    line-height: 1;
}

.site-nav-link,
.site-cart-link {
    font-size: 1rem;
    line-height: 1;
    letter-spacing: 0.02em;
}

/* Order Button */

.site-order-button {
    min-width: 145px;
    white-space: nowrap;
}

/* Mobile Menu Toggle */

.site-menu-toggle {
    position: relative;
    z-index: 1002;
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(62, 42, 31, 0.18);
    border-radius: 50%;
    background-color: rgba(250, 246, 240, 0.7);
    transition:
        background-color var(--transition-fast),
        border-color var(--transition-fast);
}

.site-menu-toggle:hover {
    background-color: var(--color-white);
    border-color: var(--color-primary);
}

.site-menu-line {
    display: block;
    width: 20px;
    height: 2px;
    background-color: var(--color-text);
    transition:
        transform var(--transition-fast),
        opacity var(--transition-fast);
}

.site-menu-toggle.is-active .site-menu-line:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.site-menu-toggle.is-active .site-menu-line:nth-child(2) {
    opacity: 0;
}

.site-menu-toggle.is-active .site-menu-line:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* Mobile Navigation Panel */

.site-nav-mobile {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1001;
    width: min(88%, 420px);
    height: 100vh;
    padding-top: calc(var(--header-height) + var(--space-xl));
    overflow-y: auto;
    background-color: var(--color-background);
    box-shadow: -20px 0 50px rgba(62, 42, 31, 0.12);
    transform: translateX(105%);
    visibility: hidden;
    transition:
        transform var(--transition-normal),
        visibility var(--transition-normal);
}

.site-nav-mobile.is-open {
    transform: translateX(0);
    visibility: visible;
}

.site-nav-mobile-list {
    margin-bottom: var(--space-xl);
}

.site-nav-mobile-list li {
    border-bottom: 1px solid rgba(220, 201, 170, 0.6);
}

.site-nav-mobile-link {
    display: block;
    padding: 1rem 0;
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: 1.65rem;
    font-weight: var(--fw-medium);
}

.site-nav-mobile-link:hover,
.site-nav-mobile-link.active {
    color: var(--color-primary-dark);
}

/* Mobile Navigation Backdrop */

.site-nav-backdrop {
    position: fixed;
    inset: 0;
    z-index: 999;
    background-color: rgba(37, 24, 17, 0.4);
    opacity: 0;
    visibility: hidden;
    transition:
        opacity var(--transition-normal),
        visibility var(--transition-normal);
}

.site-nav-backdrop.is-visible {
    opacity: 1;
    visibility: visible;
}

/* Page Scroll Lock */

body.menu-open {
    overflow: hidden;
}


/* FOOTER */

/* Footer Wrapper */

.site-footer {
    position: relative;
    isolation: isolate;
    padding:
        clamp(3.5rem, 6vw, 5.5rem)
        0
        0;
    margin: 0;
    overflow: hidden;
    border: 0;
    background:
        linear-gradient(
            180deg,
            #4b2e1e 0%,
            #4b2e1e 18%,
            #3d271b 58%,
            #302017 100%
        );
    color: var(--color-white);
}

/* CTA-to-Footer Blend */

.site-footer::before {
    content: none;
}

/* Decorative Background */

.site-footer::after {
    content: "";
    position: absolute;
    right: -220px;
    bottom: -280px;
    z-index: -1;
    width: 560px;
    height: 560px;
    border: 1px solid rgba(212, 163, 115, 0.1);
    border-radius: 50%;
    pointer-events: none;
}

/* Main Footer Layout */

.site-footer-main {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns:
        minmax(250px, 1.35fr)
        repeat(3, minmax(145px, 0.65fr));
    gap: clamp(2.5rem, 5vw, 5rem);
    padding-bottom: clamp(3rem, 5vw, 4.75rem);
}

/* Brand Column */

.site-footer-brand {
    max-width: 370px;
}

/* Footer Logo */

.site-footer-logo {
    display: inline-flex;
    width: min(100%, 255px);
    margin-bottom: var(--space-lg);
}

.site-footer-logo img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

/*
Important:
Do not apply a CSS filter to this image.
The original brand colors should remain visible.
*/

/* Brand Description */

.site-footer-description {
    max-width: 37ch;
    margin-bottom: var(--space-xl);
    color: rgba(252, 250, 246, 0.7);
    font-size: 0.9rem;
    line-height: 1.75;
}

/* Social Links */
.site-footer-social {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:.85rem;
}

.site-footer-social-link {
    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    border-radius:50%;
    border:1px solid rgba(252,250,246,.18);
    background:rgba(255,255,255,.03);
    color:rgba(252,250,246,.82);
    font-size:1rem;
    transition:
        transform .35s ease,
        background-color .35s ease,
        border-color .35s ease,
        color .35s ease,
        box-shadow .35s ease;
}

.site-footer-social-link i {
    line-height:1;
}

.site-footer-social-link:hover,
.site-footer-social-link:focus-visible {
    color:#fff;
    background:var(--color-primary);
    border-color:var(--color-primary);
    box-shadow:  0 10px 24px rgba(182,106,34,.28);
    transform: translateY(-4px);
}

.site-footer-social-link:active {
    transform:translateY(-2px);
}

/* Footer Columns */

.site-footer-column {
    min-width: 0;
}

.site-footer-title {
    margin-bottom: var(--space-lg);
    color: var(--color-primary);
    font-family: var(--font-body);
    font-size: 0.7rem;
    font-weight: var(--fw-bold);
    line-height: 1.4;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

/* Footer Links */

.site-footer-links {
    display: grid;
    gap: 0.72rem;
    margin: 0;
    padding: 0;
}

.site-footer-links a {
    position: relative;
    display: inline-flex;
    color: rgba(252, 250, 246, 0.7);
    font-size: 0.86rem;
    line-height: 1.5;
    transition: color var(--transition-fast);
}

.site-footer-links a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -2px;
    left: 0;
    height: 1px;
    background-color: var(--color-primary);
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform var(--transition-fast);
}

.site-footer-links a:hover,
.site-footer-links a:focus-visible {
    color: var(--color-white);
}

.site-footer-links a:hover::after,
.site-footer-links a:focus-visible::after {
    transform: scaleX(1);
    transform-origin: left center;
}

/* Contact Information */

.site-footer-contact {
    display: grid;
    gap: var(--space-md);
    margin:
        0
        0
        var(--space-lg);
    font-style: normal;
}

.site-footer-contact p {
    margin: 0;
    color: rgba(252, 250, 246, 0.7);
    font-size: 0.84rem;
    line-height: 1.6;
}

.site-footer-contact-label {
    display: block;
    margin-bottom: 0.15rem;
    color: rgba(252, 250, 246, 0.4);
    font-size: 0.62rem;
    font-weight: var(--fw-bold);
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.site-footer-contact a {
    color: inherit;
    transition: color var(--transition-fast);
}

.site-footer-contact a:hover,
.site-footer-contact a:focus-visible {
    color: var(--color-primary);
}

/* Contact Link */

.site-footer-contact-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--color-white);
    font-size: 0.78rem;
    font-weight: var(--fw-bold);
    letter-spacing: 0.04em;
}

.site-footer-contact-link span {
    color: var(--color-primary);
    transition: transform var(--transition-fast);
}

.site-footer-contact-link:hover {
    color: var(--color-primary);
}

.site-footer-contact-link:hover span {
    transform: translateX(4px);
}

/* Footer Bottom */

.site-footer-bottom {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-xl);
    padding:
        var(--space-xl)
        0;
    border-top: 1px solid rgba(252, 250, 246, 0.1);
}

.site-footer-bottom p {
    margin: 0;
    color: rgba(252, 250, 246, 0.46);
    font-size: 0.7rem;
    line-height: 1.6;
}

/* Legal Links */

.site-footer-legal {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap:
        var(--space-sm)
        var(--space-lg);
}

.site-footer-legal a {
    color: rgba(252, 250, 246, 0.46);
    font-size: 0.7rem;
    transition: color var(--transition-fast);
}

.site-footer-legal a:hover,
.site-footer-legal a:focus-visible {
    color: var(--color-primary);
}

.site-footer {
    margin-top: 0;
}

.site-footer-main {
    /* border-top: 1px solid rgba(252, 250, 246, 0.06); */
    padding-top: clamp(2.75rem, 5vw, 4.25rem);
}

.site-closing-cta + .site-footer {
    margin-top: 0;
}

.site-header a:focus-visible,
.site-footer a:focus-visible,
.site-closing-cta a:focus-visible {
    outline-color: rgba(252, 250, 246, 0.82);
}

/* CTA and Footer Continuity */

.site-closing-cta + .site-footer {
    margin-top: 0;
}

.home-page .site-closing-cta,
.site-footer {
    border: 0;
}

.home-creation-link,
.home-custom-orders-actions .btn-ghost-custom,
.home-about-di-content .btn-ghost-custom,
.site-footer-contact-link {
    position: relative;
}

/* HERO SECTION */

.creations-hero-content,
.about-hero-content,
.gallery-hero-content,
.contact-hero-content,
.custom-orders-hero-content {
    padding-top: var(--page-hero-content-offset);
}

/* CALL TO ACTION SECTION */

.site-closing-cta {
    position: relative;
    isolation: isolate;
    padding:
        clamp(5rem, 8vw, 7.5rem)
        0;
    margin: 0;
    overflow: hidden;
    border: 0;
    background:
        linear-gradient(
            135deg,
            #3a2418 0%,
            #4b2e1e 48%,
            #4b2e1e 100%
        );
    color: var(--color-white);
}

.site-closing-cta::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: -1;
    height: clamp(55px, 7vw, 95px);
    background:
        linear-gradient(
            to bottom,
            rgba(248, 244, 238, 0.12),
            transparent
        );
    pointer-events: none;
}

.site-closing-cta::after {
    content: "";
    position: absolute;
    top: 42%;
    left: 50%;
    z-index: -2;
    width: min(850px, 86vw);
    height: 420px;
    border-radius: 50%;
    background:
        radial-gradient(
            ellipse at center,
            rgba(212, 163, 115, 0.09),
            transparent 72%
        );
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.site-closing-cta-inner {
    position: relative;
    z-index: 2;
    max-width: 980px;
    margin-inline: auto;
    text-align: center;
}

.site-closing-cta-eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
    margin-bottom: var(--space-lg);
}

.site-closing-cta-eyebrow > span {
    width: clamp(34px, 5vw, 72px);
    height: 1px;
    background:
        linear-gradient(
            to right,
            transparent,
            var(--color-primary)
        );
}

.site-closing-cta-eyebrow > span:last-child {
    background:
        linear-gradient(
            to left,
            transparent,
            var(--color-primary)
        );
}

.site-closing-cta-eyebrow p {
    margin: 0;
    color: var(--color-primary);
    font-size: 0.72rem;
    font-weight: var(--fw-bold);
    line-height: 1.4;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.site-closing-cta-inner h2 {
    max-width: 940px;
    margin:
        0
        auto
        var(--space-lg);
    color: var(--color-white);
    font-size: clamp(3rem, 5.5vw, 5.5rem);
    line-height: 0.96;
    letter-spacing: -0.035em;
}

.site-closing-cta-inner h2 em {
    display: block;
    margin-top: 0.14em;
    color: var(--color-primary);
    font-weight: var(--fw-medium);
}

.site-closing-cta-description {
    max-width: 720px;
    margin:
        0
        auto
        var(--space-xl);
    color: rgba(252, 250, 246, 0.78);
    font-size: clamp(1rem, 1.25vw, 1.14rem);
    line-height: 1.85;
}

.site-closing-cta-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
    margin-bottom: var(--space-xl);
}

.site-closing-cta-details {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap:
        var(--space-sm)
        var(--space-md);
}

.site-closing-cta-details p {
    margin: 0;
    color: rgba(252, 250, 246, 0.54);
    font-size: 0.68rem;
    font-weight: var(--fw-bold);
    line-height: 1.5;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.site-closing-cta-details > span {
    color: var(--color-primary);
}

.site-closing-cta-circle {
    position: absolute;
    z-index: 0;
    border: 1px solid rgba(212, 163, 115, 0.14);
    border-radius: 50%;
    pointer-events: none;
}

.site-closing-cta-circle-left {
    top: -210px;
    left: -190px;
    width: 480px;
    height: 480px;
}

.site-closing-cta-circle-right {
    right: -220px;
    bottom: -250px;
    width: 560px;
    height: 560px;
}

.site-closing-cta-botanical {
    position: absolute;
    right: 6%;
    bottom: 8%;
    width: 130px;
    height: 70px;
    opacity: 0.18;
    transform: rotate(-18deg);
    pointer-events: none;
}

.site-closing-cta-botanical::before {
    content: "";
    position: absolute;
    top: 34px;
    right: 0;
    left: 0;
    height: 1px;
    background-color: var(--color-primary);
}

.site-closing-cta-botanical span {
    position: absolute;
    width: 38px;
    height: 16px;
    border: 1px solid var(--color-primary);
    border-radius: 100% 0 100% 0;
}

.site-closing-cta-botanical span:nth-child(1) {
    top: 12px;
    left: 18px;
    transform: rotate(-24deg);
}

.site-closing-cta-botanical span:nth-child(2) {
    top: 38px;
    left: 50px;
    transform: rotate(150deg);
}

.site-closing-cta-botanical span:nth-child(3) {
    top: 8px;
    right: 8px;
    transform: rotate(-18deg);
}

.site-closing-cta-inner h2 {
    text-wrap: balance;
}

.site-closing-cta-description {
    text-wrap: pretty;
}

.site-closing-cta {
    margin-bottom: 0;
}

/* THE SIGNATURE DIFFERENCE */

.site-signature-difference {
    position: relative;
    isolation: isolate;
    padding:
        clamp(2.5rem, 4vw, 4rem) /* TOP */
        0
        clamp(5.5rem, 9vw, 8rem); /* BOTTOM */
    overflow: hidden;
    background-color: var(--color-background);
}

/* Decorative Background */

.site-signature-difference::before {
    content: "";
    position: absolute;
    top: 12%;
    left: -190px;
    z-index: -1;
    width: 410px;
    height: 410px;
    border: 1px solid rgba(182, 106, 34, 0.065);
    border-radius: 50%;
    pointer-events: none;
}

.site-signature-difference::after {
    content: "";
    position: absolute;
    right: -170px;
    bottom: -210px;
    z-index: -1;
    width: 430px;
    height: 430px;
    background:
        radial-gradient(
            circle,
            rgba(182, 106, 34, 0.045),
            transparent 70%
        );
    pointer-events: none;
}

/* Section Header */

.site-signature-difference-header {
    max-width: 860px;
    margin:
        0
        auto
        clamp(3rem, 5vw, 4.75rem);
    text-align: center;
}

/* Eyebrow */

.site-signature-difference-eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
    margin-bottom: var(--space-lg);
}

.site-signature-difference-eyebrow > span {
    flex: 0 1 68px;
    height: 1px;
    background:
        linear-gradient(
            to right,
            transparent,
            var(--color-primary)
        );
}

.site-signature-difference-eyebrow > span:last-child {
    background:
        linear-gradient(
            to left,
            transparent,
            var(--color-primary)
        );
}

.site-signature-difference-eyebrow p {
    margin: 0;
    color: var(--color-primary-dark);
    font-size: 0.68rem;
    font-weight: var(--fw-bold);
    line-height: 1.4;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

/* Heading */

.site-signature-difference-header h2 {
    max-width: 820px;
    margin:
        0
        auto
        var(--space-lg);
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: clamp(2.9rem, 4.7vw, 4.8rem);
    font-weight: 600;
    line-height: 0.96;
    letter-spacing: -0.035em;
    text-wrap: balance;
}

.site-signature-difference-header h2 em {
    display: block;
    margin-top: 0.14em;
    color: var(--color-primary-dark);
    font-size: 0.78em;
    font-weight: var(--fw-medium);
    line-height: 1.05;
}

/* Introduction */

.site-signature-difference-intro {
    max-width: 68ch;
    margin-inline: auto;
    color: var(--color-text-light);
    font-size: 0.96rem;
    line-height: 1.8;
    text-wrap: pretty;
}


/* Promise Grid */

.site-signature-difference-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: 1240px;
    margin-inline: auto;
    border-top: 1px solid rgba(220, 201, 170, 0.72);
    border-bottom: 1px solid rgba(220, 201, 170, 0.72);
}

/* Promise Item */

.site-signature-difference-item {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: var(--space-lg);
    min-width: 0;
    padding:
        clamp(2rem, 3.5vw, 3rem)
        clamp(1.5rem, 2.5vw, 2.5rem);
}

.site-signature-difference-item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 23%;
    right: 0;
    bottom: 23%;
    width: 1px;
    background:
        linear-gradient(
            to bottom,
            transparent,
            rgba(182, 106, 34, 0.28),
            transparent
        );
}

/* Icon */

.site-signature-difference-icon {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    color: var(--color-primary-dark);
    transition:
        color var(--motion-duration-fast)
            var(--motion-ease-standard),
        transform var(--motion-duration-normal)
            var(--motion-ease-emphasized);
}

.site-signature-difference-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

/* Item Content */

.site-signature-difference-content h3 {
    margin-bottom: var(--space-sm);
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: clamp(1.35rem, 1.75vw, 1.65rem);
    font-weight: 600;
    line-height: 1.08;
}

.site-signature-difference-content p {
    margin: 0;
    color: var(--color-text-light);
    font-size: 0.82rem;
    line-height: 1.68;
    text-wrap: pretty;
}

/* Subtle Interaction */

@media (hover: hover) {

    .site-signature-difference-item:hover
    .site-signature-difference-icon {
        color: var(--color-primary);
        transform: translateY(-4px);
    }
}


/* SITE HERO */

.site-hero {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    min-height: clamp(680px, 88vh, 860px);
    padding:
        calc(var(--header-height) + clamp(3.5rem, 7vw, 6.5rem))
        0
        clamp(4rem, 7vw, 6rem);
    overflow: hidden;
    background-color: var(--color-background);
}

/* Hero Image */

.site-hero-media {
    position: absolute;
    inset: 0;
    z-index: -3;
    overflow: hidden;
}

.site-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center right;
    transform: scale(1.01);
}

/* Image Blending */

.site-hero-blend {
    position: absolute;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background:
        linear-gradient(
            90deg,
            var(--color-background) 0%,
            var(--color-background) 28%,
            rgba(250, 246, 240, 0.96) 40%,
            rgba(250, 246, 240, 0.72) 52%,
            rgba(250, 246, 240, 0.18) 68%,
            transparent 84%
        ),
        linear-gradient(
            180deg,
            rgba(250, 246, 240, 0.2) 0%,
            transparent 28%,
            transparent 70%,
            rgba(250, 246, 240, 0.55) 100%
        );
}

/* Soft Texture Overlay */

.site-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(
            circle at 17% 45%,
            rgba(255, 255, 255, 0.52),
            transparent 38%
        );
}

/* Hero Content */

.site-hero-content {
    position: relative;
    z-index: 2;
    width: min(100%, 690px);
}

/* Eyebrow */

.site-hero-eyebrow {
    margin-bottom: var(--space-lg);
    color: var(--color-primary-dark);
    font-size: 0.78rem;
    font-weight: var(--fw-bold);
    line-height: 1.4;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

/* Hero Heading */

.site-hero-title {
    max-width: 760px;
    margin-bottom: var(--space-lg);
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: clamp(3.5rem, 6vw, 6.2rem);
    font-weight: 600;
    line-height: 0.9;
    letter-spacing: -0.035em;
}

.site-hero-title span {
    display: block;
    margin-top: 0.18em;
    color: var(--color-primary-dark);
    font-size: clamp(2rem, 3.7vw, 3.75rem);
    font-style: italic;
    font-weight: var(--fw-medium);
    line-height: 1.04;
    letter-spacing: -0.015em;
}

/* Flourish Divider */

.site-hero-flourish {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    width: min(100%, 310px);
    margin-bottom: var(--space-xl);
    color: var(--color-primary);
}

.site-hero-flourish span {
    flex: 1;
    height: 1px;
    background:
        linear-gradient(
            to right,
            transparent,
            currentColor
        );
}

.site-hero-flourish span:last-child {
    background:
        linear-gradient(
            to left,
            transparent,
            currentColor
        );
}

.site-hero-flourish svg {
    flex: 0 0 auto;
    width: 64px;
    height: 26px;
}

/* Description */

.site-hero-description {
    max-width: 54ch;
    margin-bottom: var(--space-xl);
    color: var(--color-text-light);
    font-size: clamp(1rem, 1.2vw, 1.12rem);
    line-height: 1.8;
}

/* Hero Actions */

.site-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-md);
    margin-bottom: var(--space-xl);
}

/* Trust Points */

.site-hero-trust {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap:
        var(--space-sm)
        clamp(1rem, 2vw, 1.75rem);
    margin: 0;
    padding: 0;
}

.site-hero-trust li {
    position: relative;
    padding-left: 16px;
    color: var(--color-text-light);
    font-size: 0.76rem;
    font-weight: var(--fw-bold);
    line-height: 1.5;
    letter-spacing: 0.025em;
}

.site-hero-trust li::before {
    content: "";
    position: absolute;
    top: 0.58em;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: var(--color-primary);
}

/* Bottom Section Blend */

.site-hero-bottom-fade {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    height: clamp(45px, 7vw, 90px);
    pointer-events: none;
    background:
        linear-gradient(
            to bottom,
            transparent,
            var(--color-background)
        );
}

.site-hero-media img {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.site-hero-title,
.site-hero-description {
    text-wrap: pretty;
}

/* SITE SOCIAL RAIL */

.site-social-rail {
    position: fixed;
    top: 50%;
    right: clamp(1rem, 1.7vw, 1.5rem);
    z-index: 940;
    transform: translateY(-50%);
    pointer-events: none;
}

/* Social List */

.site-social-rail-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.65rem;
    margin: 0;
    padding: 0;
    list-style: none;
    pointer-events: auto;
}

/* Individual Item */

.site-social-rail-item {
    margin: 0;
    padding: 0;
}


/* Social Link */

.site-social-rail-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border:
        1px solid
        rgba(182, 106, 34, 0.18);
    border-radius: 50%;
    background-color:
        rgba(252, 250, 246, 0.94);
    color:
        var(--color-text);
    font-size: 0.92rem;
    box-shadow:
        0 8px 24px
        rgba(75, 46, 30, 0.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* Icon */

.site-social-rail-link i {
    line-height: 1;
}

/* Hover / Keyboard Focus */

.site-social-rail-link:hover,
.site-social-rail-link:focus-visible {
    border-color:
        var(--color-primary);
    background-color:
        var(--color-primary);
    color:
        var(--color-white);
    box-shadow:
        0 12px 28px
        rgba(182, 106, 34, 0.22);
    transform:
        translateX(-3px);
}

/* Pressed */

.site-social-rail-link:active {
    transform:
        translateX(-1px);
}
