/*
Theme Name: Caribbean American Trading
Theme URI: https://catbarbados.com
Author: Ranksure
Author URI: https://ranksure.ca
Description: Custom WordPress theme for Caribbean American Trading — a premium procurement and hospitality supply company based in Barbados. Converted from a static HTML/CSS/JS build into a fully functional, responsive WordPress theme with a mobile hamburger navigation menu, dynamic product catalog, and a working contact form.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cat-barbados
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, along with all WordPress themes, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

/* ============================================================
   Caribbean American Trading — Theme Styles
   Palette (client brand guidelines):
   #0D3D26 Deep Green · #2E8B57 Mid Green · #C9933A Warm Gold
   #F0D9A8 Gold Light · #FAF7F2 Warm Cream · #1A1A1A Deep Ink
   ============================================================ */
/* ============================================================
   Caribbean American Trading — Standalone Home Page Styles
   Palette (client brand guidelines):
   #0D3D26 Deep Green · #2E8B57 Mid Green · #C9933A Warm Gold
   #F0D9A8 Gold Light · #FAF7F2 Warm Cream · #1A1A1A Deep Ink
   ============================================================ */

:root {
  --forest-deep: #0D3D26;
  --forest-mid:  #2E8B57;
  --gold:        #C9933A;
  --gold-soft:   #F0D9A8;
  --ivory:       #FAF7F2;
  --ink:         #1A1A1A;
  --muted:       #5c6b60;
  --border:      #E4DBC9;
  --paper:       #FAF7F2;

  /* --font-display: "Cormorant Garamond", Georgia, serif;
  --font-sans:    "Inter", ui-sans-serif, system-ui, sans-serif; */
  --font-display: "Lora", serif;
  --font-sans: "Manrope", sans-serif;

  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-sans);
  color: var(--ink);
  background: var(--ivory);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { font: inherit; cursor: pointer; }

h1, h2, h3, .font-display, em {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: -0.01em;
  font-style: normal;
}
em { color: var(--gold); font-style: italic; }

/* Layout */
.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
@media (min-width: 768px) { .container { padding: 0 40px; } }

.section { padding: 96px 0; }
@media (min-width: 768px) { .section { padding: 128px 0; } }

.center      { max-width: 640px; margin: 0 auto; text-align: center; }
.center-text { text-align: center; }
.row-between { display: flex; align-items: flex-end; justify-content: space-between; }

.h2 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.1; color: var(--forest-deep); }
.h2.light { color: var(--ivory); }
.lede { margin-top: 24px; font-size: 0.9rem; line-height: 1.7; color: var(--muted); }

/* Common bits */
.eyebrow {
  align-items: center; gap: 12px;
  font-size: 0.72rem; font-weight: 500; letter-spacing: 0.28em;
  text-transform: uppercase; color: var(--gold);
}
.eyebrow-light { color: var(--gold); }
.rule { display: inline-block; width: 44px; height: 1px; background: var(--gold); }
.rule-block { display: block; margin-top: 24px; width: 56px; height: 1px; background: var(--gold); }

/* Buttons */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 22px;
  font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.22em;
  transition: all 0.35s var(--ease);
  border: 1px solid transparent;
  border-radius: 50px;
}
.btn i { font-size: 14px; transition: transform 0.35s var(--ease); }
.btn:hover { gap: 12px; }
.btn:hover i { transform: translateX(2px); }

.btn-gold { background: var(--gold); color: var(--ivory); }
.btn-gold:hover { filter: brightness(0.95); }

.btn-ghost {
  background: transparent; color: var(--ivory);
  border-color: rgba(201, 147, 58, 0.6);
}
.btn-ghost:hover { background: rgba(201, 147, 58, 0.12); }

.link-underline { position: relative; display: inline-flex; align-items: center; gap: 8px;
  font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.22em; }
.link-underline i { font-size: 14px; }
.link-underline::after {
  content: ""; position: absolute; left: 0; bottom: -3px; width: 100%; height: 1px;
  background: currentColor; transform: scaleX(0); transform-origin: right;
  transition: transform 0.45s var(--ease);
}
.link-underline:hover::after { transform: scaleX(1); transform-origin: left; }
.link-light { color: rgba(250,247,242,0.9); }
.link-light:hover { color: var(--gold); }
.link-dark  { color: var(--forest-deep); }
.link-dark:hover  { color: var(--gold); }
.brand-logo{
    height: 80px;   /* apni requirement ke hisab se 50, 60, 70 kar sakte ho */
    width: auto;
    display: block;
    object-fit: contain;
}
/* HERO */
/* =========================
   HERO
========================= */

.hero{
    position:relative;
    min-height:72vh;
    overflow:hidden;
    color:var(--ivory);
}

.hero-bg{
    position:absolute;
    inset:0;
}

.hero-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.hero-veil{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,
            rgba(13,61,38,.92) 0%,
            rgba(13,61,38,.60) 50%,
            transparent 100%),
        linear-gradient(180deg,
            rgba(13,61,38,.35),
            transparent 40%,
            rgba(13,61,38,.45));
}

/* =========================
   HEADER
========================= */

.nav{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:9999;

    display:flex;
    justify-content:center;

    padding:22px 0;

    transition:
        background .35s ease,
        padding .35s ease,
        box-shadow .35s ease,
        backdrop-filter .35s ease;

    animation:fade-in .8s var(--ease) both;
}

.nav .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
}

.nav.scrolled{
    background:rgba(11,26,35,.92);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);

    box-shadow:0 10px 30px rgba(0,0,0,.18);

    padding:14px 0;
}

/* BRAND */

.brand{
    display:flex;
    align-items:center;
    gap:14px;
    flex-shrink:0;
}

.brand-logo{
    height:60px;
    width:auto;
    display:block;
}

.brand-mark{
    font-family:var(--font-display);
    font-size:1.9rem;
    color:var(--gold);
    line-height:1;
}

.brand-name{
    display:none;
    font-size:10px;
    font-weight:500;
    text-transform:uppercase;
    letter-spacing:.24em;
    line-height:1.3;
    color:#fff;
}

@media(min-width:640px){
    .brand-name{
        display:block;
    }
}

/* NAVIGATION */

.nav-links{
    display:none;
    align-items:center;
    gap:36px;
    margin:0 auto;
}

.nav-links a{
    position:relative;
    font-size:11px;
    font-weight:500;
    text-transform:uppercase;
    letter-spacing:.24em;
    color:rgba(250,247,242,.88);
    transition:.3s;
}

.nav-links a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-4px;
    width:100%;
    height:1px;
    background:currentColor;
    transform:scaleX(0);
    transform-origin:right;
    transition:.35s;
}

.nav-links a:hover{
    color:var(--gold);
}

.nav-links a:hover::after{
    transform:scaleX(1);
    transform-origin:left;
}

@media(min-width:1024px){
    .nav-links{
        display:flex;
    }
}

.btn-gold{
    flex-shrink:0;
}
.desktop-actions{
    display:flex;
    align-items:center;
    gap:14px;
    flex-shrink:0;
}

.nav-cart{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:50%;
    color:#fff;
    transition:.3s;
    flex-shrink:0;
}

.nav-cart:hover{
    background:var(--gold);
    border-color:var(--gold);
    color:#111;
}

.cart-count{
    position:absolute;
    top:-6px;
    right:-6px;
    width:18px;
    height:18px;
    border-radius:50%;
    background:var(--gold);
    color:#111;
    font-size:10px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
}

@media(max-width:1023px){
    .desktop-actions{
        display:none;
    }
}
/* HERO CONTENT */

.hero-content{
    position:relative;
    z-index:2;
    padding-top:170px;
    padding-bottom:70px;
}

@media(min-width:768px){
    .hero-content{
        padding-top:190px;
    }
}

@media(min-width:1024px){
    .hero-content{
        padding-top:150px;
        padding-bottom: 150px;
    }
}

.hero-eyebrow{
    animation:fade-right .9s var(--ease) .1s both;
}

.hero-title{
    max-width:720px;
    font-size:clamp(2.6rem,6vw,4.6rem);
    line-height:1.05;
    animation:fade-up 1s var(--ease) .25s both;
}

.hero-sub{
    margin-top:24px;
    max-width:520px;
    color:rgba(250,247,242,.82);
    font-size:1rem;
    line-height:1.8;
    animation:fade-up 1s var(--ease) .5s both;
}

.hero-cta{
    margin-top:42px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:22px;
    animation:fade-up 1s var(--ease) .7s both;
}

/* MOBILE */

@media(max-width:768px){

    .nav{
        padding:16px 0;
    }

    .nav.scrolled{
        padding:12px 0;
    }

    .brand-logo{
        height:50px;
    }

    .nav-links{
        display:none;
    }

    .hero-content{
        padding-top:150px;
    }

    .hero-title{
        font-size:clamp(2.2rem,9vw,3.4rem);
    }

    .hero-sub{
        font-size:.95rem;
    }

    .hero-cta{
        gap:16px;
    }
}
/* ===========================
   PREMIUM PARTNERS SECTION
=========================== */

.partners{
    position:relative;
    background:var(--paper);
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
    overflow:hidden;
    padding:40px 0;
}

.partners-center{
    position:relative;
    z-index:5;
    text-align:center;
    margin:50px 0;
}

.partners-label{
    display:inline-block;
    font-size:12px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.35em;
    color:var(--muted);
    line-height:2;
}

.partners-marquee{
    overflow:hidden;
    width:100%;
    white-space:nowrap;
    position:relative;
}

.marquee-track{
    display:flex;
    width:max-content;
    animation:marquee 28s linear infinite;
}

.marquee-bottom .marquee-track{
    animation-direction:reverse;
}

.partner-item{
    flex:0 0 auto;
    width:220px;
    text-align:center;
    padding:20px 10px;
}

.p-name{
    font-family:var(--font-display);
    font-size:1.2rem;
    color:var(--forest-deep);
    margin-bottom:6px;
}

.p-place{
    font-size:10px;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--muted);
}

@keyframes marquee{

    0%{
        transform:translateX(0);
    }

    100%{
        transform:translateX(-50%);
    }

}

/* Pause on hover */

.partners:hover .marquee-track{
    animation-play-state:paused;
}

/* Fade Edges */

.partners::before,
.partners::after{
    content:"";
    position:absolute;
    top:0;
    width:120px;
    height:100%;
    z-index:6;
    pointer-events:none;
}

.partners::before{
    left:0;
    background:linear-gradient(to right,var(--paper),transparent);
}

.partners::after{
    right:0;
    background:linear-gradient(to left,var(--paper),transparent);
}

/* Mobile */

@media(max-width:768px){

    .partners{
        padding:45px 0;
    }

    .partner-item{
        width:170px;
    }

    .p-name{
        font-size:1rem;
    }

    .partners-center{
        margin:35px 0;
    }

    .partners-label{
        font-size:10px;
        letter-spacing:.25em;
    }

}

/* STATS */
.stats { background: var(--forest-deep); color: var(--ivory); padding: 64px 0; }
@media (min-width: 768px) { .stats { padding: 80px 0; } }
.stats-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 48px 0;
}
@media (min-width: 768px) { .stats-grid { grid-template-columns: repeat(4, 1fr); } }
.stat { text-align: center; padding: 0 24px; position: relative; }
@media (min-width: 768px) {
  .stat + .stat::before {
    content: ""; position: absolute; left: 0; top: 10%; bottom: 10%;
    width: 1px; background: rgba(201,147,58,0.2);
  }
}
.stat i { font-size: 28px; color: var(--gold); }
.stat-value { margin-top: 20px; font-family: var(--font-display); font-size: 3rem; }
@media (min-width: 768px) { .stat-value { font-size: 3.6rem; } }
.stat-label { margin-top: 12px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.28em; color: var(--gold); }
.stat-sub   { margin-top: 8px;  font-size: 11px; text-transform: uppercase; letter-spacing: 0.22em; color: rgba(250,247,242,0.6); }

/* APPROACH */

.approach{
    background:var(--paper);
}

.approach-grid{
    display:grid;
    gap:48px;
    align-items:center;
}

@media(min-width:1024px){
    .approach-grid{
        grid-template-columns:1fr .95fr 1fr;
        gap:52px;
    }
}

/* LEFT CONTENT */

.approach .lede{
    max-width:500px;
    margin:28px 0 40px;
}

/* STEPS */

.approach-steps{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:22px;
}

.approach-steps::before{
    content:"";
    position:absolute;
    left:48px;
    top:78px;
    bottom:78px;
    width:2px;
    background:linear-gradient(
        to bottom,
        rgba(201,147,58,.18),
        rgba(201,147,58,.55),
        rgba(201,147,58,.18)
    );
}

.step{
    position:relative;
    display:flex;
    align-items:center;
    gap:24px;
    padding:24px;
    background:#fff;
    border:1px solid rgba(201,147,58,.14);
    border-radius:18px;
    box-shadow:0 10px 28px rgba(0,0,0,.06);
    transition:.35s ease;
}

.step:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 45px rgba(0,0,0,.12);
}

.step-icon{
    width:72px;
    height:72px;
    min-width:72px;
    border-radius:50%;
    background:var(--forest-deep);
    color:var(--gold);
    display:flex;
    justify-content:center;
    align-items:center;
    border:3px solid #f7f3ec;
    box-shadow:0 8px 18px rgba(0,0,0,.12);
    position:relative;
    z-index:2;
}

.step-icon svg{
    width:32px;
    height:32px;
}

.step-n{
    font-size:15px;
    font-weight:700;
    color:var(--gold);
    margin-bottom:8px;
}

.step-text{
    font-size:1.1rem;
    line-height:1.65;
    color:var(--forest-deep);
    font-weight:500;
    max-width:250px;
}

.step:last-child{
    border-bottom:none;
}

/* IMAGE */

.approach-img{
    display:block;
    overflow:hidden;
    border-radius:18px;
    border:2px solid rgba(201,147,58,.6);
    padding:6px;
    background:#fff;
    box-shadow:0 20px 40px rgba(0,0,0,.08);
}

.approach-img img{
    display:block;
    width:100%;
    height:440px;
    object-fit:cover;
    border-radius:14px;
    transition:1s ease;
}

.approach-img:hover img{
    transform:scale(1.05);
}

/* MOBILE */

@media(max-width:991px){

    .approach-grid{
        gap:36px;
    }

    .approach-steps{
        order:2;
    }

    .approach-img{
        order:3;
        margin-top:10px;
    }

    .approach-img img{
        height:350px;
    }

    .approach-steps::before{
        display:none;
    }

    .step{
        padding:20px;
        gap:18px;
    }

    .step-icon{
        width:60px;
        height:60px;
        min-width:60px;
    }

    .step-icon svg{
        width:26px;
        height:26px;
    }

    .step-text{
        font-size:1rem;
        max-width:none;
    }
}

/* SECTORS */
.sectors { background: var(--ivory); }
.sector-grid {
  margin-top: 56px; border: 1px solid var(--border); background: #fff;
  display: grid; grid-template-columns: 1fr;
}
@media (min-width: 640px) { .sector-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .sector-grid { grid-template-columns: repeat(4, 1fr); } }
.sector-card {
  padding: 32px; border-bottom: 1px solid var(--border);
  transition: background 0.5s var(--ease);
}
.sector-card:hover { background: var(--paper); }
@media (min-width: 640px) {
  .sector-card:nth-child(2n+1) { border-right: 1px solid var(--border); }
}
@media (min-width: 1024px) {
  .sector-card { border-bottom: 0; }
  .sector-card:not(:last-child) { border-right: 1px solid var(--border); }
  .sector-card:nth-child(2n+1) { border-right: 1px solid var(--border); }
}
.sector-icon { font-size: 36px; color: var(--gold); transition: transform 0.5s var(--ease); }
.sector-card:hover .sector-icon { transform: translateY(-4px); }
.sector-card h3 { margin-top: 24px; font-size: 1.5rem; color: var(--forest-deep); }
.sector-card > p { margin-top: 12px; font-size: 0.88rem; line-height: 1.7; color: var(--muted); }
.sector-card ul { margin-top: 20px; }
.sector-card ul li { font-size: 11px; text-transform: uppercase; letter-spacing: 0.18em; color: var(--forest-mid); margin-bottom: 6px; }
.card-arrow { display: block; margin-top: 24px; font-size: 16px; color: var(--gold); transition: transform 0.5s var(--ease); }
.sector-card:hover .card-arrow { transform: translateX(4px); }



/* ==========================================
   WHY CHOOSE CAT
========================================== */

.why{
    background: var(--forest-deep);
    color: var(--ivory);
    padding:90px 0;
}

.why-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:60px;
}

@media (min-width:1024px){

.why-grid{
grid-template-columns:1fr 2fr;
align-items:start;
gap:70px;
}

}

.why-items{
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
}
.why-intro{
    margin-top:28px;
    font-size:16px;
    line-height:1.9;
    color:rgba(250,247,242,.75);
    max-width:430px;
}
@media (min-width:768px){

.why-items{
grid-template-columns:repeat(2,1fr);
}

}

/* Card */

.why-items > div{
    background:#2E8B57;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    padding:34px;
    transition:.35s ease;
    position:relative;
}

.why-items > div:hover{
    transform:translateY(-8px);
    border-color:var(--gold);
    box-shadow:0 25px 60px rgba(0,0,0,.45);
}

/* Icon */

.why-icon{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:28px;

    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;

    color:var(--gold);
}

.why-icon svg{
    width:20px;
    height:20px;
}

/* Heading */

.why-items h3{
    margin:0 0 16px;
    font-family:var(--font-display);
    font-size:1.45rem;
    font-weight:600;
    color:var(--ivory);
    line-height:1.3;
}

/* Text */

.why-items p{
    margin:0;
    font-size:15px;
    line-height:1.8;
    color:rgba(250,247,242,.68);
}

/* Tablet */

@media (max-width:991px){

.why{
padding:70px 0;
}

.why-grid{
gap:45px;
}

.why-items > div{
padding:30px;
}

}

/* Mobile */

@media (max-width:767px){

.why{
padding:60px 0;
}

.why-grid{
gap:40px;
}

.why-items{
gap:20px;
}

.why-items > div{
padding:26px;
}

.why-icon{
width:60px;
height:60px;
margin-bottom:22px;
}

.why-icon svg{
width:24px;
height:24px;
}

.why-items h3{
font-size:1.2rem;
}

.why-items p{
font-size:14px;
line-height:1.7;
}

}
/* INSIGHTS */
.insights { background: var(--paper); padding: 96px 0; }
@media (min-width: 768px) { .insights { padding: 112px 0; } }
.insights-grid { margin-top: 40px; display: grid; gap: 32px; }
@media (min-width: 768px) { .insights-grid { grid-template-columns: repeat(3, 1fr); } }
.post { cursor: pointer; }
.post-img { overflow: hidden; }
.post-img img { width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform 0.9s var(--ease); }
.post:hover .post-img img { transform: scale(1.05); }
.post-body {
  position: relative; margin: -56px 16px 0; background: var(--paper); padding: 24px;
  box-shadow: 0 10px 30px -18px rgba(13,61,38,0.25);
  transition: transform 0.5s var(--ease);
}
@media (min-width: 768px) { .post-body { margin-left: 32px; } }
.post:hover .post-body { transform: translateY(-4px); }
.post-tag  { font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.24em; color: var(--gold); }
.post-body h3 { margin-top: 12px; font-family: var(--font-display); font-size: 1.25rem; line-height: 1.35; color: var(--forest-deep); }
.post-date { margin-top: 12px; font-size: 10px; text-transform: uppercase; letter-spacing: 0.22em; color: var(--muted); }


/*==============================
CTA
==============================*/

.cta{
    position:relative;
    overflow:hidden;
    padding:110px 0;
}

.cta-bg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.05);
}

.cta-veil{
    position:absolute;
    inset:0;
    background:linear-gradient(
        90deg,
        rgba(10,58,37,.88),
        rgba(10,58,37,.78)
    );
}

.cta .container{
    position:relative;
    z-index:2;
}

.cta-card{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:60px;
    padding:60px 70px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:24px;
    background:rgba(255,255,255,.05);
    backdrop-filter:blur(10px);
}

.cta-content{
    max-width:620px;
}

.cta .h2{
    color:#fff;
    margin-bottom:22px;
    line-height:1.15;
}

.cta .h2 em{
    color:var(--gold);
    font-style:italic;
}

.cta-sub{
    font-size:1.05rem;
    line-height:1.8;
    color:rgba(255,255,255,.82);
}

.cta-sub a{
    color:#fff;
    font-weight:600;
    text-decoration:none;
}

.cta-sub a:hover{
    color:var(--gold);
}

.cta .btn{
    min-width:240px;
    justify-content:center;
    white-space:nowrap;
}

@media(max-width:991px){

    .cta{
        padding:80px 0;
    }

    .cta-card{
        flex-direction:column;
        text-align:center;
        padding:45px 30px;
        gap:35px;
    }

    .cta-content{
        max-width:100%;
    }

    .cta .btn{
        width:100%;
        max-width:320px;
    }

    .cta-sub{
        font-size:1rem;
    }

}
/* CTA BUTTONS */

.cta-actions{
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
}

.btn-outline-light{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-width:210px;
    height:56px;
    padding:0 26px;
    border:1.5px solid rgba(255,255,255,.35);
    border-radius:999px;
    background:rgba(255,255,255,.06);
    color:#fff;
    text-decoration:none;
    font-weight:600;
    transition:.35s ease;
    backdrop-filter:blur(8px);
}

.btn-outline-light i{
    width:18px;
    height:18px;
    color:var(--gold);
}

.btn-outline-light:hover{
    background:#fff;
    color:var(--forest-deep);
    border-color:#fff;
    transform:translateY(-2px);
}

.btn-outline-light:hover i{
    color:var(--forest-deep);
}

@media(max-width:991px){

    .cta-actions{
        width:100%;
        flex-direction:column;
    }

    .cta-actions .btn,
    .btn-outline-light{
        width:100%;
        max-width:320px;
    }

}
.btn-outline-light svg{
    width:18px;
    height:18px;
    flex-shrink:0;
}
/* FOOTER */
.footer { background: var(--forest-deep); color: var(--ivory); }
.footer-grid { display: grid; gap: 48px; padding: 80px 24px; }
@media (min-width: 768px) { .footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr; padding: 80px 40px; } }
.footer-brand .brand-name { color: var(--ivory); }
.footer-eyebrow { margin-top: 24px; font-size: 10px; letter-spacing: 0.28em; }
.footer-blurb { margin-top: 24px; max-width: 300px; font-size: 0.88rem; line-height: 1.7; color: rgba(250,247,242,0.7); }
.socials { margin-top: 32px; display: flex; gap: 16px; }
.socials a { color: rgba(250,247,242,0.7); transition: all 0.3s var(--ease); display: inline-block; }
.socials a:hover { color: var(--gold); transform: translateY(-2px); }
.footer-h { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.24em; color: var(--gold); }
.footer ul { margin-top: 20px; display: flex; flex-direction: column; gap: 12px; font-size: 0.88rem; color: rgba(250,247,242,0.75); }
.footer ul a:hover { color: var(--gold); }
.contact-list li { display: flex; align-items: flex-start; gap: 8px; }
.contact-list i { font-size: 14px; color: var(--gold); margin-top: 2px; }

.footer-bottom { border-top: 1px solid rgba(250,247,242,0.1); }
.footer-bottom-row {
  display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 12px;
  padding: 24px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.22em; color: rgba(250,247,242,0.5);
}
@media (min-width: 768px) { .footer-bottom-row { flex-direction: row; padding: 24px 40px; } }
.footer-bottom-row div { display: flex; gap: 24px; }
.footer-bottom-row a:hover { color: var(--gold); }

/* ============================================================
   Animations
   ============================================================ */
@keyframes fade-in    { from { opacity: 0; } to { opacity: 1; } }
@keyframes fade-up    { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fade-right { from { opacity: 0; transform: translateX(-28px); } to { opacity: 1; transform: translateX(0); } }
@keyframes ken-burns  { from { transform: scale(1); } to { transform: scale(1.08) translate3d(-1%, -1%, 0); } }

.ken-burns { animation: ken-burns 18s ease-out forwards; }

/* Scroll reveal */
.reveal {
  opacity: 0; transform: translateY(28px);
  transition: opacity 0.9s var(--ease), transform 0.9s var(--ease);
  will-change: opacity, transform;
}
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.reveal-1.is-visible { transition-delay: 0.1s; }
.reveal-2.is-visible { transition-delay: 0.2s; }
.reveal-3.is-visible { transition-delay: 0.3s; }
.reveal-4.is-visible { transition-delay: 0.4s; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal { opacity: 1; transform: none; }
}
/* ===== CONTACT / FOOTER ===== */
#contact { padding: 20vh 0; }
@media (min-width: 768px) { #contact { padding: 30vh 0; } }
#contact h2.big { font-size: clamp(2.5rem, 7vw, 6rem); margin-bottom: 96px; }

.contact-grid { display: grid; grid-template-columns: 1fr; gap: 48px; }
@media (min-width: 1024px) { .contact-grid { grid-template-columns: 7fr 5fr; gap: 80px; } }

#quote-form { border-top: 0.5px solid rgba(201,147,58,0.3); padding-top: 32px; }
#quote-form label { font-family: var(--font-mono); font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; color: rgba(250,247,242,0.4); display: block; margin-bottom: 12px; }
.form-row { display: flex; flex-direction: column; gap: 24px; }
@media (min-width: 768px) { .form-row { flex-direction: row; align-items: center; } }
#email {
  flex: 1; background: transparent; border: none;
  border-bottom: 0.5px solid rgba(201,147,58,0.3); padding-bottom: 12px;
  font-size: 18px; font-family: var(--font-body); color: var(--cream);
}
#email::placeholder { color: rgba(250,247,242,0.25); }
#email:focus { outline: none; border-bottom-color: var(--gold); }
#quote-form button {
  width: 56px; height: 56px; border-radius: 50%;
  border: 0.5px solid rgba(201,147,58,0.4); background: transparent;
  color: var(--gold); font-size: 20px; cursor: pointer;
  transition: all 0.5s ease; flex-shrink: 0;
}
#quote-form button:hover { background: var(--gold); color: var(--deepgreen); }
.form-note { font-family: var(--font-mono); font-size: 12px; color: rgba(250,247,242,0.3); margin-top: 16px; }

.success-title { font-family: var(--font-heading); font-size: 24px; color: var(--cream); }
.success-note { color: rgba(250,247,242,0.5); font-size: 14px; margin-top: 12px; }

.contact-details { border-top: 0.5px solid rgba(201,147,58,0.3); padding-top: 32px; }
.contact-item {
  display: flex; align-items: center; gap: 16px;
  color: rgba(250,247,242,0.7); text-decoration: none;
  margin-bottom: 24px; transition: color 0.5s ease; font-size: 18px;
}
.contact-item:hover { color: var(--gold); }
.ci-icon { color: var(--gold); }
.social-row { display: flex; gap: 16px; padding-top: 16px; }
.social-btn {
  width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
  border: 0.5px solid rgba(201,147,58,0.3); color: rgba(250,247,242,0.5);
  text-decoration: none; transition: all 0.5s ease;
}
.social-btn:hover { color: var(--gold); border-color: var(--gold); }

.footer-bottom {
  margin-top: 15vh; border-top: 0.5px solid rgba(201,147,58,0.15); padding-top: 32px;
  display: flex; flex-direction: column; gap: 24px;
}
@media (min-width: 768px) { .footer-bottom { flex-direction: row; align-items: center; justify-content: space-between; } }
.footer-name { font-family: var(--font-heading); font-size: 20px; color: whitesmoke; margin-bottom: 8px; }
.footer-copy { font-family: var(--font-mono); font-size: 12px; color: wheat; }
.footer-tag { font-family: var(--font-mono); font-size: 12px; color:white; max-width: 320px; }
@media (min-width: 768px) { .footer-tag { text-align: right; } }

/* about page  */
      
.wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
@media (min-width:768px){ .wrap { padding: 0 40px; } }

.grid { display: grid; gap: 56px; }
.grid--2 { grid-template-columns: 1fr; }
@media (min-width: 900px){ .grid--2 { grid-template-columns: 1fr 1fr; align-items: center; } }

.gold { color: var(--gold); font-style: italic; }
.eyebrow--gold { color: var(--gold); }
.display--ivory { color: var(--ivory); font-family: var(--font-display); font-weight: 400; font-size: clamp(2.75rem, 6vw, 4.75rem); line-height: 1.05; letter-spacing: -0.01em; }
.lead { max-width: 640px; margin-top: 24px; color: rgba(250,247,242,.82); font-size: 1rem; line-height: 1.7; }
.para { color: var(--muted); font-size: .95rem; line-height: 1.75; margin-top: 20px; }

/* HERO */
.about-hero { position: relative; min-height: 78vh; overflow: hidden; color: var(--ivory); }
.about-hero__bg { position: absolute; inset: 0; }
.about-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.about-hero__scrim {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(13,61,38,.92), rgba(13,61,38,.65), transparent);
}
.about-hero__inner {
  position: relative; z-index: 2;
  max-width: 1200px; margin: 0 auto;
  padding: 80px 24px 112px;
}
@media(min-width:768px){ .about-hero__inner { padding: 144px 40px 128px; } }

.crumb { font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: rgba(250,247,242,.7); margin-bottom: 18px; }
.crumb span { color: var(--gold); margin: 0 8px; }
.crumb a:hover { color: var(--gold); }

.hero-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 40px; }
.btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 24px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .22em; transition: all .3s var(--ease); }
.btn--gold { background: var(--gold); color: var(--forest-deep); }
.btn--gold:hover { filter: brightness(.95); }
.btn--ghost { border: 1px solid rgba(250,247,242,.6); color: var(--ivory); }
.btn--ghost:hover { background: rgba(250,247,242,.1); }
.btn--ghost-light { border: 1px solid rgba(250,247,242,.6); color: var(--ivory); justify-content: center; }
.btn--ghost-light:hover { background: rgba(250,247,242,.1); }
.btn i { width: 14px; height: 14px; }

/* STORY */
.story { background: var(--paper); padding: 96px 0; }
@media(min-width:768px){ .story { padding: 128px 0; } }
.story__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); border-radius: 20px; }
.story__img:hover img { transform: scale(1.05); }

/* STATS BAND */
.stats-band { background: var(--forest-deep); color: var(--ivory); padding: 64px 0; }
.stats-band__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 0; text-align: center; }
@media(min-width:768px){ .stats-band__grid { grid-template-columns: repeat(4, 1fr); } .stats-band__grid > div + div { border-left: 1px solid rgba(201,147,58,.2); } }
.stats-band__grid .big { font-family: var(--font-display); font-size: clamp(2.5rem, 5vw, 3.75rem); }
.stats-band__grid .lbl { margin-top: 10px; font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: var(--gold); font-weight: 600; }
.stats-band__grid .sub { margin-top: 4px; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: rgba(250,247,242,.6); }

/* MISSION / VISION */
.mv { background: var(--paper); padding: 56px 0; }
.mv__grid { display: grid; gap: 24px; max-width: 900px; margin: 0 auto; }
@media(min-width:700px){ .mv__grid { grid-template-columns: 1fr 1fr; } }
.mv__card { position: relative; border: 1px solid var(--border); background: var(--ivory); padding: 56px 32px 32px; text-align: center; margin-top: 32px; border-radius: 10px; }
.mv__icon { position: absolute; top: -28px; left: 50%; transform: translateX(-50%); width: 56px; height: 56px; border-radius: 50%; background: var(--forest-deep); color: var(--gold); display: flex; align-items: center; justify-content: center; }
.mv__icon i { width: 22px; height: 22px; }
.mv__card h3 { font-family: var(--font-sans); font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: var(--forest-deep); font-weight: 600; }
.rule-gold--center { display: block; width: 40px; height: 1px; margin: 12px auto 20px; }
.mv__card p { color: var(--muted); font-size: .9rem; line-height: 1.7; }

/* VALUES */
.values { background: var(--ivory); padding: 96px 0; }
.values__grid { display: grid; gap: 24px; margin-top: 56px; grid-template-columns: 1fr; }
@media(min-width:600px){ .values__grid { grid-template-columns: repeat(2,1fr); } }
@media(min-width:1024px){ .values__grid { grid-template-columns: repeat(4,1fr); } }
.v-card { border: 1px solid var(--border); background: #fff; padding: 32px; text-align: center; transition: background .3s; border-radius: 12px;}
.v-card:hover { background: var(--paper); }
.v-card i { width: 32px; height: 32px; color: var(--gold); margin: 0 auto; display: block; stroke-width: 1.25; }
.v-card h3 { margin-top: 20px; font-family: var(--font-display); font-size: 1.35rem; color: var(--forest-deep); }
.v-card p { color: var(--muted); font-size: 12px; line-height: 1.7; }

/* INDUSTRIES */
.industries {
    background: var(--paper);
    padding: 40px 0;
}

.industries__grid {
    display: grid;
    gap: 24px;
    margin-top: 56px;
    grid-template-columns: 1fr;
}

@media (min-width:600px) {
    .industries__grid {
        grid-template-columns: repeat(2,1fr);
    }
}

@media (min-width:1024px) {
    .industries__grid {
        grid-template-columns: repeat(4,1fr);
    }
}

.ind-card {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4/5;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: var(--ivory);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform .5s var(--ease);
}

.ind-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(8,34,23,.95) 10%,
        rgba(8,34,23,.75) 45%,
        rgba(8,34,23,.25) 100%
    );
    transition: .4s ease;
}

.ind-card:hover {
    transform: translateY(-6px);
}

.ind-card:hover::before {
    background: linear-gradient(
        to top,
        rgba(8,34,23,.85) 5%,
        rgba(8,34,23,.55) 45%,
        rgba(8,34,23,.10) 100%
    );
}

.ind-card > * {
    position: relative;
    z-index: 2;
}

.ind-card__icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--forest-mid);
    color: var(--gold);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: auto;
}

.ind-card__icon i {
    width: 20px;
    height: 20px;
}

.ind-card h3 {
    font-family: var(--font-display);
    font-size: 1.25rem;
    margin-top: 16px;
}

.ind-card p {
    font-size: 12px;
    line-height: 1.7;
    color: rgba(250,247,242,.78);
    margin-top: 8px;
}

/* Background Images */

.ind-card--hotel {
    background-image: url("assets/images/approach-bedroom.jpg");
}

.ind-card--restaurant {
    background-image: url("assets/images/ind-restaurant.jpg");
}

.ind-card--health {
    background-image: url("assets/images/cat-healthcare.jpg");
}

.ind-card--commercial {
    background-image: url("assets/images/ind-commercial.jpg");
}

/* WHY */
.whyt { background: var(--ivory); padding: 46px 0; }
.whyt__grid { display: grid; gap: 40px; margin-top: 64px; grid-template-columns: 1fr; }
@media(min-width:600px){ .whyt__grid { grid-template-columns: repeat(3,1fr); } }
@media(min-width:1024px){ .whyt__grid { grid-template-columns: repeat(5,1fr); } }
.whyt__item { text-align: center; }
.whyt__ic { width: 56px; height: 56px; border-radius: 50%; background: var(--forest-deep); color: var(--gold); display: flex; align-items: center; justify-content: center; margin: 0 auto; }
.whyt__ic i { width: 20px; height: 20px; }
.whyt__n { font-family: var(--font-display); font-size: 1.5rem; color: var(--gold); margin-top: 14px; }
.whyt__item h3 { font-family: var(--font-display); font-size: 1rem; color: var(--forest-deep); margin-top: 6px; }
.whyt__item p { font-size: 12px; color: var(--muted); line-height: 1.7; margin-top: 6px; }

/* CTA BAND */
.cta-band { background: var(--forest-deep); color: var(--ivory); padding: 80px 0; }
.cta-band__grid { display: grid; gap: 32px; }
@media(min-width:900px){ .cta-band__grid { grid-template-columns: 1.2fr 1fr auto; align-items: center; } }
.cta-band__h { font-family: var(--font-display); font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.2; }
.cta-band__p { color: rgba(250,247,242,.75); font-size: .95rem; line-height: 1.7; }
.cta-band__actions { display: flex; flex-direction: column; gap: 12px; }



/* Reveal delay helpers */
.reveal--d1 { transition-delay: .1s; animation-delay: .1s; }
.reveal--d2 { transition-delay: .2s; animation-delay: .2s; }
.reveal--d3 { transition-delay: .3s; animation-delay: .3s; }

.is-active { color: var(--gold) !important; }


   /* PRODUCTS PAGE */

.pr-hero{position:relative;min-height:640px;color:var(--ivory,#f4efe6);overflow:hidden;isolation:isolate}
.pr-hero__bg{position:absolute;inset:0;z-index:-2}
.pr-hero__bg img{width:100%;height:100%;object-fit:cover}
.pr-hero__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,40,32,.92) 0%,rgba(15,40,32,.65) 45%,rgba(15,40,32,.25) 100%)}

@media (max-width:900px){.pr-nav__links{display:none}}
.pr-hero__inner{padding:120px 0 100px;max-width:1180px}
.pr-hero__title{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(40px,6vw,74px);line-height:1.05;margin:22px 0 22px;max-width:820px}
.pr-hero__title em{font-style:italic;color:#c9a24c;font-weight:500}
.pr-hero__lede{max-width:540px;font-size:14.5px;line-height:1.75;color:rgba(244,239,230,.82)}
.pr-hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

.eyebrow--gold{color:#c9a24c;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.28em}
.center{text-align:center}
.muted{color:#6d6a63;font-size:14px;line-height:1.7}
.muted-l{color:rgba(244,239,230,.75);font-size:14px;line-height:1.7;margin-top:12px}
.h-display{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(32px,4vw,46px);color:#0f2820;line-height:1.15;margin-top:10px}

/* Categories */
.pr-cats{background:#f6f3ec;padding:96px 0}
.pr-cats__grid{margin-top:56px;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
@media (max-width:1100px){.pr-cats__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.pr-cats__grid{grid-template-columns:1fr}}
.pr-card{background:#fff;display:flex;flex-direction:column;box-shadow:0 1px 0 rgba(15,40,32,.05)}
.pr-card__img{aspect-ratio:4/3;overflow:hidden}
.pr-card__img img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.pr-card:hover .pr-card__img img{transform:scale(1.05)}
.pr-card__body{padding:26px 24px 28px;position:relative;flex:1;display:flex;flex-direction:column}
.pr-card__icon{position:absolute;top:-24px;left:50%;transform:translateX(-50%);width:48px;height:48px;border-radius:50%;background:#0f2820;color:#c9a24c;display:grid;place-items:center}
.pr-card__icon svg{width:22px;height:22px}
.pr-card h3{font-family:'Cormorant Garamond',serif;font-size:20px;color:#0f2820;text-align:center;margin:14px 0 10px}
.pr-card__body>p{font-size:12.5px;line-height:1.6;color:#6d6a63;text-align:center;margin-bottom:16px}
.pr-card ul{list-style:none;padding:0;margin:0 0 22px;font-size:12.5px;color:#3a3a36;line-height:1.9}
.pr-card ul li{position:relative;padding-left:14px}
.pr-card ul li::before{content:"•";position:absolute;left:0;color:#c9a24c}
.link-arrow{margin-top:auto;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#0f2820;text-decoration:none;padding-top:16px;border-top:1px solid #eee;display:inline-flex;justify-content:space-between;align-items:center}
.link-arrow:hover{color:#c9a24c}

/* Partners */
.pr-partners{background:#efeade;padding:80px 0}
.pr-partners__row{margin-top:44px;display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
@media (max-width:1024px){.pr-partners__row{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.pr-partners__row{grid-template-columns:repeat(2,1fr)}}
.pr-brand{background:#fff;padding:26px 14px;text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center;min-height:100px;justify-content:center}
.pr-brand__name{color:#0f2820;font-size:20px}
.pr-brand__tag{font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:#8a8578}

/* Why */
.pr-why{background:#faf7f0;padding:96px 0}
.pr-why__grid{margin-top:56px;display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
@media (max-width:1100px){.pr-why__grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.pr-why__grid{grid-template-columns:repeat(2,1fr)}}
.pr-why__cell{border:1px solid #e7e2d4;background:#fff;padding:32px 18px;text-align:center;color:#0f2820;transition:transform .3s, box-shadow .3s}
.pr-why__cell:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(15,40,32,.06)}
.pr-why__cell svg{width:30px;height:30px;color:#c9a24c;margin:0 auto 14px;display:block}
.pr-why__cell h4{font-family:'Cormorant Garamond',serif;font-size:17px;margin:0 0 8px}
.pr-why__cell p{font-size:11.5px;color:#6d6a63;line-height:1.65}

/* Industries */
.pr-industries{background:#f6f3ec;padding:96px 0}
.pr-industries__grid{margin-top:56px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:1024px){.pr-industries__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.pr-industries__grid{grid-template-columns:1fr}}
.pr-ind{position:relative;aspect-ratio:4/5;overflow:hidden;display:block;text-decoration:none;color:#f4efe6}
.pr-ind img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s}
.pr-ind:hover img{transform:scale(1.06)}
.pr-ind__cap{position:absolute;left:0;right:0;bottom:0;padding:22px 22px 22px;background:linear-gradient(180deg,transparent 0%,rgba(15,40,32,.6) 40%,#0f2820 100%);min-height:45%;display:flex;flex-direction:column;justify-content:flex-end}
.pr-ind__icon{width:40px;height:40px;border-radius:50%;background:#1e4a3a;color:#c9a24c;display:grid;place-items:center;margin-bottom:12px}
.pr-ind__icon svg{width:18px;height:18px}
.pr-ind__cap h4{font-family:'Cormorant Garamond',serif;font-size:19px;margin:0 0 4px;color:#f4efe6}
.pr-ind__cap p{font-size:12px;color:rgba(244,239,230,.78);margin:0}

/* CTA */
.pr-cta{background:#0D3D26;color:#f4efe6;padding:0}
.pr-cta__grid{display:grid;grid-template-columns:1fr 1.4fr auto;align-items:center;gap:40px;padding:0 40px}
@media (max-width:1024px){.pr-cta__grid{grid-template-columns:1fr;padding:40px 0;text-align:center}}
.pr-cta__img{align-self:stretch;display:flex;align-items:center}
.pr-cta__img img{width:100%;max-width:340px;height:auto;object-fit:cover}
.pr-cta__copy h2{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,3vw,34px);margin:10px 0 0;color:#f4efe6}
.pr-cta__actions{display:flex;flex-direction:column;gap:12px;padding:32px 0}
@media (max-width:1024px){.pr-cta__actions{align-items:center}}

/* ============ SECTORS PAGE ============ */
.sc-hero{position:relative;min-height:88vh;overflow:hidden;color:var(--ivory,#f5f0e6);isolation:isolate}
.sc-hero__bg{position:absolute;inset:0;z-index:-2}
.sc-hero__bg img{width:100%;height:100%;object-fit:cover}
.sc-hero__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,42,32,.95) 0%,rgba(15,42,32,.7) 40%,rgba(15,42,32,.15) 100%)}
.sc-hero__inner{padding:6rem 1.5rem 7rem;max-width:1200px;margin:0 auto}
.sc-hero__title{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(2.4rem,5.5vw,4.8rem);line-height:1.05;margin:1rem 0 1.5rem;max-width:22ch}
.sc-hero__title em{color:var(--gold,#c9a24a);font-style:italic}
.sc-hero__lede{max-width:38rem;font-size:.95rem;line-height:1.7;color:rgba(245,240,230,.82)}
.sc-hero__cta{margin-top:2.25rem;display:flex;gap:.9rem;flex-wrap:wrap}

.sc-inds{background: var(--ivory);padding:5.5rem 1.5rem}
.sc-inds__grid{margin-top:3rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.sc-ind{background:#fff;border:1px solid rgba(15,42,32,.08);overflow:hidden;display:flex;flex-direction:column;transition:transform .5s ease,box-shadow .5s ease}
.sc-ind:hover{transform:translateY(-6px);box-shadow:0 20px 40px -20px rgba(15,42,32,.25)}
.sc-ind__img{position:relative;aspect-ratio:4/3;overflow:hidden}
.sc-ind__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.sc-ind:hover .sc-ind__img img{transform:scale(1.05)}
.sc-ind__body{padding:1.75rem 1.5rem 1.75rem;position:relative}
.sc-ind__icon{position:absolute;top:-1.6rem;left:1.5rem;width:3.2rem;height:3.2rem;border-radius:999px;background:#0D3D26;color:var(--gold,#c9a24a);display:grid;place-items:center}
.sc-ind__icon svg{width:1.4rem;height:1.4rem}
.sc-ind__body h3{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:#0f2a20;margin:.6rem 0 .6rem}
.sc-ind__body p{font-size:.85rem;line-height:1.65;color:#5a5a4f;min-height:5rem}
.sc-ind__body .link-arrow{margin-top:1rem;display:inline-flex;align-items:center;gap:.4rem;color:var(--gold,#c9a24a);text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;font-weight:600;text-decoration:none}

.sc-commit{background: var(--ivory);padding:5.5rem 1.5rem}
.sc-commit__grid{margin-top:3rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.sc-commit__card{background:#ffff;padding:2.5rem 1.75rem;text-align:center;transition:background .3s ease}
.sc-commit__card:hover{background:white; border:solid 0.5px #0D3D26}
.sc-commit__icon{width:2.4rem;height:2.4rem;color:#0f2a20;margin:0 auto .9rem}
.sc-commit__card h3{font-family:'Cormorant Garamond',serif;font-size:1.35rem;color:#0D3D26;margin-bottom:.75rem}
.sc-commit__card p{font-size:.82rem;line-height:1.65;color:#5a5a4f}

.sc-proc{background: var(--ivory);padding:1rem 1.5rem 5rem}
.sc-proc__grid{margin-top:3rem;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative}
.sc-proc__grid::before{content:"";position:absolute;top:1.25rem;left:12%;right:12%;border-top:1px dashed #b8ad92;z-index:0}
.sc-proc__step{text-align:center;position:relative;z-index:1}
.sc-proc__num{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:999px;background:#0D3D26;color:var(--gold,#c9a24a);font-family:'Cormorant Garamond',serif;font-size:.9rem;letter-spacing:.05em}
.sc-proc__icon{width:2.2rem;height:2.2rem;color:#0f2a20;margin:1rem auto .75rem;display:block}
.sc-proc__step h3{font-family:'Inter',sans-serif;font-weight:600;font-size:.95rem;color:#0D3D26;margin-bottom:.5rem}
.sc-proc__step p{font-size:.8rem;line-height:1.6;color:#5a5a4f;max-width:16rem;margin:0 auto}

.sc-trust{background:#0D3D26;padding:3.5rem 1.5rem;color:#f5f0e6}
.sc-trust__grid{margin-top:1.75rem;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.sc-trust__cell{border:1px solid rgba(201,162,74,.35);padding:1.5rem 1rem;text-align:center;background:rgba(255,255,255,.02)}
.sc-trust__cell svg{width:1.5rem;height:1.5rem;color:var(--gold,#c9a24a);margin:0 auto .6rem}
.sc-trust__num{font-family:'Cormorant Garamond',serif;font-size:2.4rem;line-height:1;margin-bottom:.4rem}
.sc-trust__lbl{font-size:.68rem;font-weight:600;letter-spacing:.22em;color:var(--gold,#c9a24a)}
.sc-trust__lbl--lg{margin-top:.4rem}
.sc-trust__sub{margin-top:.35rem;font-size:.7rem;color:rgba(245,240,230,.6)}

.sc-cta{background:#0D3D26;padding:0 1.5rem 4rem;color:#f5f0e6}
.sc-cta__grid{display:grid;grid-template-columns:1fr 1.4fr auto;gap:2.5rem;align-items:center;padding:3rem 0;border-top:1px solid rgba(201,162,74,.15)}
.sc-cta__img{aspect-ratio:4/3;overflow:hidden}
.sc-cta__img img{width:100%;height:100%;object-fit:cover}
.sc-cta__body h2{font-family:'Cormorant Garamond',serif;font-size:2.2rem;line-height:1.15;margin:.75rem 0}
.sc-cta__body h2 em{color:var(--gold,#c9a24a);font-style:italic}
.sc-cta__body p{font-size:.9rem;line-height:1.7;color:rgba(245,240,230,.75);max-width:32rem}
.sc-cta__actions{display:flex;flex-direction:column;gap:.75rem;min-width:14rem}
.btn--ghost-light{border:1px solid rgba(245,240,230,.5);color:#f5f0e6}
.btn--ghost-light:hover{background:rgba(245,240,230,.08)}

.ft{background:#0f2a20;color:#f5f0e6;padding:3rem 1.5rem 1.5rem;border-top:1px solid rgba(245,240,230,.08)}
.ft__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
.ft__est{margin-top:.75rem;font-size:.7rem;letter-spacing:.24em;color:var(--gold,#c9a24a)}
.ft__blurb{margin-top:.75rem;font-size:.8rem;line-height:1.65;color:rgba(245,240,230,.7);max-width:22rem}
.ft__h{font-size:.7rem;font-weight:600;letter-spacing:.24em;color:var(--gold,#c9a24a);margin-bottom:.9rem}
.ft ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}
.ft ul li,.ft ul a{font-size:.82rem;color:rgba(245,240,230,.8);text-decoration:none}
.ft ul a:hover{color:var(--gold,#c9a24a)}
.ft__copy{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid rgba(245,240,230,.08);text-align:center;font-size:.7rem;letter-spacing:.22em;color:rgba(245,240,230,.5)}

@media (max-width:1024px){
  .sc-inds__grid,.sc-commit__grid,.sc-proc__grid{grid-template-columns:repeat(2,1fr)}
  .sc-proc__grid::before{display:none}
  .sc-trust__grid{grid-template-columns:repeat(2,1fr)}
  .sc-cta__grid{grid-template-columns:1fr}
  .ft__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .sc-inds__grid,.sc-commit__grid,.sc-proc__grid,.sc-trust__grid,.ft__grid{grid-template-columns:1fr}
  .sc-hero__inner{padding:4.5rem 1.25rem 5rem}
  .pr-nav__links{display:none}
}

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.ct-hero { position: relative; min-height: 620px; color: var(--ivory); overflow: hidden; padding-bottom: 60px; }
.ct-hero__bg { position: absolute; inset: 0; z-index: 0; }
.ct-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.ct-hero__overlay { position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, rgba(13,61,38,.94) 0%, rgba(13,61,38,.75) 40%, rgba(13,61,38,.15) 100%); }
.ct-nav { position: relative; z-index: 3; display: flex; align-items: center; justify-content: space-between; padding-top: 22px; padding-bottom: 22px; gap: 24px; flex-wrap: wrap; }
.ct-logo { display: flex; align-items: center; gap: 12px; }
.ct-logo__mark { font-family: var(--font-display); font-size: 42px; line-height: 1; color: var(--ivory); }
.ct-logo__stack { display: flex; flex-direction: column; gap: 4px; font-size: 9px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--ivory); }
.ct-logo__est { color: var(--gold); font-size: 8px; }
.ct-nav__links { display: none; gap: 32px; }
.ct-nav__links a { font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--ivory); opacity: .85; transition: color .3s; }
.ct-nav__links a:hover, .ct-nav__links a.is-active { color: var(--gold); opacity: 1; }
.ct-nav__cta { display: flex; flex-direction: column; gap: 8px; }
@media (min-width: 1024px) { .ct-nav__links { display: flex; } .ct-nav__cta { flex-direction: row; } }

.btn-gold { background: var(--gold); color: var(--forest-deep); border-color: var(--gold); }
.btn-gold:hover { filter: brightness(.95); }
.btn-outline-ivory { border-color: rgba(250,247,242,.6); color: var(--ivory); background: transparent; }
.btn-outline-ivory:hover { background: rgba(250,247,242,.1); }
.btn-outline-dark { border-color: rgba(13,61,38,.85); color: var(--ivory); background: rgba(13,61,38,.6); }
.btn-outline-dark:hover { background: var(--forest-deep); }

.ct-hero__body { position: relative; z-index: 2; padding-top: 40px; padding-bottom: 60px; }
.ct-hero__eyebrow { color: var(--gold); }
.ct-hero__title { font-size: clamp(2.4rem, 6vw, 4.4rem); line-height: 1.02; margin-top: 18px; }
.ct-hero__lede { max-width: 480px; margin-top: 22px; font-size: .95rem; line-height: 1.75; color: rgba(250,247,242,.85); }
.ct-hero__actions { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 14px; }

/* Main grid */
.ct-main { background: var(--ivory); padding: 80px 0 40px; }
.ct-main__grid { display: grid; gap: 48px; grid-template-columns: 1fr; }
@media (min-width: 960px) { .ct-main__grid { grid-template-columns: 1fr 1.15fr; gap: 64px; align-items: start; } }

.ct-info__title { font-family: var(--font-display); font-size: clamp(1.9rem, 3.5vw, 2.6rem); color: var(--ink); margin-top: 12px; }
.ct-info__lede { margin-top: 14px; color: var(--muted); font-size: .9rem; line-height: 1.7; max-width: 460px; }
.ct-cards { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 32px; }
@media (min-width: 560px) { .ct-cards { grid-template-columns: 1fr 1fr; } }
.ct-card { background: #fff; border: 1px solid var(--border); padding: 20px; gap: 14px; border-radius: 4px; transition: box-shadow .3s, transform .3s; border-radius: 8px; }
.ct-card:hover { box-shadow: 0 12px 30px -20px rgba(13,61,38,.35); transform: translateY(-2px); }
.ct-card__icon { flex-shrink: 0; width: 42px; height: 42px; border-radius: 50%; background: var(--forest-deep); color: var(--gold); display: grid; place-items: center; }
.ct-card__icon svg { width: 18px; height: 18px; }
.ct-card h3 { font-family: var(--font-sans); font-size: .95rem; font-weight: 600; color: var(--forest-deep); margin-bottom: 6px; }
.ct-card p { font-size: .78rem; color: var(--muted); line-height: 1.55; }
.ct-card__phone { font-family: var(--font-display); font-size: 1.3rem !important; color: var(--forest-deep) !important; margin: 2px 0 6px; }
.ct-card__small { font-size: .72rem !important; color: var(--muted); }
.ct-card__link { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; font-size: 10px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
.ct-card__link svg { width: 12px; height: 12px; }

/* Form */
.ct-form { background: #fff; border: 1px solid var(--border); padding: 32px; border-radius: 4px; }
@media (min-width: 768px) { .ct-form { padding: 44px; } }
.ct-form__eyebrow { justify-content: center; display: flex; margin-bottom: 28px; color: var(--forest-deep); }
.ct-form__row { display: grid; gap: 14px; grid-template-columns: 1fr; margin-bottom: 14px; }
@media (min-width: 560px) { .ct-form__row { grid-template-columns: 1fr 1fr; } }
.ct-field { position: relative; display: block; }
.ct-field > svg:first-child { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: var(--muted); pointer-events: none; }
.ct-field input, .ct-field select, .ct-field textarea {
  width: 100%; padding: 14px 14px 14px 42px; border: 1px solid var(--border); background: #fff;
  font: 500 .85rem var(--font-sans); color: var(--ink); border-radius: 3px; transition: border-color .25s; border-radius: 10px;
}
.ct-field input:focus, .ct-field select:focus, .ct-field textarea:focus { outline: none; border-color: var(--forest-deep); }
.ct-field--area { margin-bottom: 20px; }
.ct-field--area svg { top: 20px; transform: none; }
.ct-field--area textarea { padding-top: 18px; resize: vertical; min-height: 130px; }
.ct-field--select { padding-top: 8px; }
.ct-field--select select { padding: 22px 40px 10px 16px; appearance: none; background: #fff; cursor: pointer; }
.ct-field__label { position: absolute; left: 16px; top: 14px; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .2em; color: var(--muted); pointer-events: none; z-index: 1; }
.ct-field__chev { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: var(--muted); pointer-events: none; }

.ct-submit {
  width: 100%; padding: 18px; background: var(--forest-deep); color: var(--ivory); border: 0;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .24em;
  transition: background .3s; border-radius: 30px;
}
.ct-submit:hover { background: #082a1a; }
.ct-submit svg { width: 14px; height: 14px; }
.ct-form__note { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 14px; font-size: .72rem; color: var(--muted); }
.ct-form__note svg { width: 12px; height: 12px; }

/* Map */
.ct-map { display: grid; grid-template-columns: 1fr; gap: 20px; margin-top: 40px; align-items: stretch; }
@media (min-width: 768px) { .ct-map { grid-template-columns: 3fr 1fr; } }
.ct-map__frame { border: 1px solid var(--border); overflow: hidden; min-height: 220px; background: #e8ecdf; }
.ct-map__frame iframe { width: 100%; height: 100%; min-height: 220px; border: 0; display: block; }
.ct-map__side { background: #fff; border: 1px solid var(--border); padding: 24px; display: flex; flex-direction: column; justify-content: space-between; gap: 20px; }
.ct-map__place { font-family: var(--font-display); font-size: 1.15rem; color: var(--forest-deep); }
.ct-map__note { display: flex; align-items: center; gap: 10px; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .2em; color: var(--gold); }
.ct-map__note svg { width: 18px; height: 18px; }

/* Industries */
.ct-inds { background: #f7f1e6; }
.ct-inds__grid { display: grid; grid-template-columns: 1fr; gap: 22px; margin-top: 48px; }
@media (min-width: 640px) { .ct-inds__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .ct-inds__grid { grid-template-columns: repeat(4, 1fr); } }
.ct-ind { display: block; background: #fff; border: 1px solid var(--border); overflow: hidden; transition: transform .35s, box-shadow .35s; border-radius: 12px; }
.ct-ind:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -25px rgba(13,61,38,.4); }
.ct-ind__img { aspect-ratio: 4/3; overflow: hidden; position: relative; }
.ct-ind__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.ct-ind:hover .ct-ind__img img { transform: scale(1.05); }
.ct-ind__body { padding: 20px 22px 24px; position: relative; }
.ct-ind__icon { position: absolute; top: -22px; left: 22px; width: 44px; height: 44px; border-radius: 50%; background: var(--forest-deep); color: var(--gold); display: grid; place-items: center; }
.ct-ind__icon svg { width: 18px; height: 18px; }
.ct-ind__body h3 { font-family: var(--font-sans); font-size: 1rem; font-weight: 600; color: var(--forest-deep); margin: 18px 0 8px; }
.ct-ind__body p { font-size: .78rem; color: var(--muted); line-height: 1.6; margin-bottom: 12px; }

/* Why */
.ct-why { background: var(--forest-deep); color: var(--ivory); padding: 60px 0; }
.ct-why__eyebrow { display: flex; justify-content: center; color: var(--gold); }
.ct-why__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px 20px; margin-top: 36px; text-align: center; }
@media (min-width: 768px) { .ct-why__grid { grid-template-columns: repeat(5, 1fr); } }
.ct-why__icon { width: 56px; height: 56px; border: 1px solid var(--gold); border-radius: 50%; margin: 0 auto 14px; display: grid; place-items: center; color: var(--gold); }
.ct-why__icon svg { width: 22px; height: 22px; }
.ct-why__cell h4 { font-family: var(--font-sans); font-size: .9rem; font-weight: 600; margin-bottom: 6px; }
.ct-why__cell p { font-size: .75rem; color: rgba(250,247,242,.7); line-height: 1.55; }

/* FAQ */
.ct-faq { background: #f5efe4; padding: 40px 0 60px; }
.ct-faq__grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 768px) { .ct-faq__grid { grid-template-columns: 1fr 1fr; gap: 12px 20px; } }
.ct-faq__item { background: #fff; border: 1px solid var(--border); padding: 18px 22px;border-radius: 18px; }
.ct-faq__item summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; cursor: pointer; font-size: .88rem; font-weight: 600; color: var(--forest-deep); }
.ct-faq__item summary::-webkit-details-marker { display: none; }
.ct-faq__item summary svg { width: 18px; height: 18px; transition: transform .3s; }
.ct-faq__item[open] summary svg { transform: rotate(180deg); }
.ct-faq__item p { margin-top: 10px; font-size: .8rem; color: var(--muted); line-height: 1.6; }

/* CTA */
.ct-cta { position: relative; padding: 70px 0; color: var(--ivory); overflow: hidden; }
.ct-cta__bg { position: absolute; inset: 0; z-index: 0; }
.ct-cta__bg img { width: 100%; height: 100%; object-fit: cover; }
.ct-cta::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13,61,38,.92) 0%, rgba(13,61,38,.85) 60%, rgba(13,61,38,.7) 100%); z-index: 1; }
.ct-cta__grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr; gap: 28px; align-items: center; }
@media (min-width: 900px) { .ct-cta__grid { grid-template-columns: 1.6fr 1fr; } }
.ct-cta__lede { margin-top: 14px; color: rgba(250,247,242,.85); font-size: .9rem; line-height: 1.7; max-width: 500px; }
.ct-cta__actions { display: flex; flex-direction: column; gap: 12px; }
@media (min-width: 560px) { .ct-cta__actions { flex-direction: row; flex-wrap: wrap; } }



/* ============================================================
   CATEGORY CARDS
   ============================================================ */
.pr-cats{padding:96px 0;border-bottom:1px solid var(--border)}
@media(min-width:768px){.pr-cats{padding:128px 0}}
.pr-cats__intro{max-width:640px;margin:0 auto;text-align:center}
.pr-cats__intro .h-display{margin-top:24px}
.pr-cats__intro .muted{margin:20px auto 0}

.pr-cats__grid{
  margin-top:64px;display:grid;gap:24px;
  grid-template-columns:1fr;
}
@media(min-width:640px){.pr-cats__grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.pr-cats__grid{grid-template-columns:repeat(3,1fr)}}

.pr-card{
  position:relative;display:block;
  padding:32px;background:#fff;border:1px solid var(--border);
  transition:transform .5s var(--ease),border-color .35s var(--ease),box-shadow .5s var(--ease); border-radius: 10px;
}
.pr-card:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 20px 50px -30px rgba(13,61,38,.35)}
.pr-card__sector{font-size:10px;text-transform:uppercase;letter-spacing:.28em;color:var(--gold)}
.pr-card h3{margin-top:16px;font-size:1.65rem;color:var(--forest-deep)}
.pr-card p{margin-top:12px;font-size:.9rem;line-height:1.7;color:var(--muted)}
.pr-card__foot{
  margin-top:24px;display:flex;align-items:center;justify-content:space-between;
  font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:var(--forest-mid);
}
.pr-card__arrow{color:var(--gold);transition:transform .35s var(--ease);font-size:16px}
.pr-card:hover .pr-card__arrow{transform:translateX(4px)}

/* ============================================================
   CATALOG BROWSER
   ============================================================ */
.pr-shop{background:rgba(245,239,224,.4);padding:96px 0}
@media(min-width:768px){.pr-shop{padding:128px 0}}

.pr-shop__head{
  display:flex;flex-direction:column;gap:24px;
  align-items:flex-start;justify-content:space-between;
}
@media(min-width:768px){.pr-shop__head{flex-direction:row;align-items:flex-end;gap:32px}}
.pr-shop__head .h-display{margin-top:16px;font-size:clamp(1.8rem,3.4vw,2.5rem)}

.pr-shop__search{
  position:relative;flex:1;max-width:420px;width:100%;
  display:flex;align-items:center;
}
.pr-shop__search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}
.pr-shop__search input{
  width:100%;padding:14px 16px 14px 44px;
  border:1px solid var(--border);background:#fff;font-size:.9rem;
  outline:none;transition:border-color .3s var(--ease);
  font-family:inherit; border-radius: 50px;
}
.pr-shop__search input:focus{border-color:var(--gold)}

.pr-chips{margin-top:24px;display:flex;flex-wrap:wrap;gap:8px}
.pr-chip{
  padding:10px 18px;font-size:11px;font-weight:600;
  text-transform:uppercase;letter-spacing:.22em;
  border:1px solid var(--border);background:#fff;color:var(--forest-deep);
  transition:all .3s var(--ease); border-radius: 50px;
}
.pr-chip:hover{border-color:var(--gold);color:var(--gold)}
.pr-chip.is-active{background:var(--forest-deep);border-color:var(--forest-deep);color:var(--ivory)}

.pr-catalog{margin-top:56px;display:flex;flex-direction:column;gap:64px}
.pr-empty{
  margin-top:56px;padding:64px 24px;text-align:center;
  font-size:.9rem;color:var(--muted);
  border:1px dashed var(--border);background:#fff;
}

.pr-cat__head{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
  gap:16px;padding-bottom:20px;border-bottom:1px solid var(--border);
}
.pr-cat__sector{font-size:10px;text-transform:uppercase;letter-spacing:.28em;color:var(--gold)}
.pr-cat__head h3{margin-top:8px;font-size:clamp(1.6rem,3vw,2.2rem);color:var(--forest-deep)}
.pr-cat__blurb{margin-top:8px;max-width:560px;font-size:.9rem;color:var(--muted)}
.pr-cat__count{font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:var(--forest-mid)}

.pr-table{margin-top:24px;overflow:hidden;border:1px solid var(--border);background:#fff}
.pr-table table{width:100%;border-collapse:collapse;font-size:.9rem}
.pr-table thead{background:var(--forest-deep);color:var(--ivory)}
.pr-table th{
  padding:14px 20px;text-align:left;
  font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.24em;
}
.pr-table th:last-child{text-align:right}
.pr-table td{padding:16px 20px;border-top:1px solid var(--border);color:var(--forest-deep);vertical-align:top}
.pr-table tr:hover td{background:rgba(240,217,168,.15)}
.pr-table .col-pack{color:var(--muted)}
.pr-table .col-price{text-align:right;font-family:var(--font-display);font-style:italic;color:var(--gold)}
.pr-table .pack-mobile{display:block;margin-top:4px;font-size:.75rem;color:var(--muted)}
@media(min-width:640px){.pr-table .pack-mobile{display:none}}
@media(max-width:639px){.pr-table .col-pack{display:none}}

/* ============================================================
   CTA
   ============================================================ */
.pr-cta{background:var(--forest-deep);color:var(--ivory);position:relative;overflow:hidden}
.pr-cta__row{
  display:flex;flex-direction:column;gap:40px;
  padding:96px 24px;
}
@media(min-width:768px){.pr-cta__row{flex-direction:row;align-items:center;justify-content:space-between;padding:128px 40px}}
.pr-cta__row .h-display{margin-top:20px;max-width:640px;font-size:clamp(2rem,4vw,3.25rem);line-height:1.05}
.pr-cta__sub{margin-top:20px;max-width:440px;font-size:.9rem;line-height:1.7;color:rgba(250,247,242,.7)}
.pr-cta__actions{display:flex;flex-direction:column;gap:16px}

/* Sirf Industries page */
.industries .ind-card{
    border-radius:12px;
}

/* Sirf Product Categories */
.product-categories .ind-card{
    border-radius:0;
}
/* ============================================================
   Animations & reveal
   ============================================================ */
@keyframes ken-burns{from{transform:scale(1)}to{transform:scale(1.08) translate3d(-1%,-1%,0)}}
@keyframes fade-up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease);border-radius:12px;}
.reveal.is-visible{opacity:1;transform:translateY(0);}
.reveal-d1.is-visible{transition-delay:.1s}
.reveal-d2.is-visible{transition-delay:.25s}
.reveal-d3.is-visible{transition-delay:.4s}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
/* ============================================================
   MOBILE NAVIGATION — Hamburger Toggle + Slide-in Drawer
   Added so the site has a working mobile menu below the
   1024px breakpoint (where .nav-links is hidden).
   ============================================================ */

/* Hamburger button */
.nav-toggle{
    display:none;
    position:relative;
    z-index:10000;
    width:44px;
    height:44px;
    padding:0;
    margin:0;
    border:0;
    background:transparent;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}

.nav-toggle-box{
    position:relative;
    display:block;
    width:24px;
    height:16px;
}

.nav-toggle-bar{
    position:absolute;
    left:0;
    width:100%;
    height:2px;
    border-radius:2px;
    background:var(--ivory);
    transition:transform .35s var(--ease), opacity .25s var(--ease), top .35s var(--ease);
}

.nav-toggle-bar:nth-child(1){ top:0; }
.nav-toggle-bar:nth-child(2){ top:7px; }
.nav-toggle-bar:nth-child(3){ top:14px; }

.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(1){
    top:7px;
    transform:rotate(45deg);
}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(2){
    opacity:0;
    transform:translateX(-6px);
}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(3){
    top:7px;
    transform:rotate(-45deg);
}

/* Show hamburger, hide desktop CTA once nav-links collapse (matches existing 1024px breakpoint) */
@media (max-width:1023px){
    .nav-toggle{ display:inline-flex; }
    .nav-cta-desktop{ display:none; }
}

/* Backdrop overlay behind the drawer */
.mobile-nav-overlay{
    position:fixed;
    inset:0;
    z-index:9998;
    background:rgba(6,18,13,.6);
    -webkit-backdrop-filter:blur(2px);
    backdrop-filter:blur(2px);
    opacity:0;
    visibility:hidden;
    transition:opacity .35s var(--ease), visibility .35s var(--ease);
}
.mobile-nav-overlay.is-open{
    opacity:1;
    visibility:visible;
}

/* Slide-in drawer */
.mobile-nav{
    position:fixed;
    top:0;
    right:0;
    z-index:9999;
    height:100%;
    height:100dvh;
    width:min(85vw, 360px);
    background:var(--forest-deep);
    color:var(--ivory);
    padding:24px 28px 32px;
    display:flex;
    flex-direction:column;
    transform:translateX(100%);
    transition:transform .45s var(--ease);
    overflow-y:auto;
    box-shadow:-24px 0 60px rgba(0,0,0,.35);
}
.mobile-nav.is-open{
    transform:translateX(0);
}

.mobile-nav-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:32px;
}

.mobile-nav-head .brand-logo{
    height:42px;
}

.mobile-nav-close{
    width:40px;
    height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(250,247,242,.25);
    border-radius:50%;
    background:transparent;
    color:var(--ivory);
    cursor:pointer;
    transition:.3s ease;
    flex-shrink:0;
}
.mobile-nav-close:hover{
    border-color:var(--gold);
    color:var(--gold);
}
.mobile-nav-close svg{ width:18px; height:18px; }

.mobile-nav-links{
    display:flex;
    flex-direction:column;
    gap:2px;
}
.mobile-nav-links a{
    padding:16px 4px;
    font-size:13px;
    font-weight:500;
    text-transform:uppercase;
    letter-spacing:.2em;
    color:rgba(250,247,242,.9);
    border-bottom:1px solid rgba(250,247,242,.1);
    transition:color .3s ease, padding-left .3s ease;
}
.mobile-nav-links a:hover,
.mobile-nav-links a:focus-visible,
.mobile-nav-links a.is-active{
    color:var(--gold);
    padding-left:10px;
}

.mobile-nav-cta{
    margin-top:auto;
    padding-top:28px;
    display:flex;
    flex-direction:column;
    gap:14px;
}
.mobile-nav-cta .btn{
    justify-content:center;
    width:100%;
}
.mobile-nav-phone{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-size:13px;
    color:rgba(250,247,242,.75);
    transition:color .3s ease;
}
.mobile-nav-phone:hover{ color:var(--gold); }
.mobile-nav-phone svg{ width:16px; height:16px; color:var(--gold); flex-shrink:0; }
/* ==========================================================
   CLEAN WOOCOMMERCE CATEGORY PAGE CSS
   Replace your old category CSS with this file.
   ========================================================== */

/* Container */
.wrap{
    max-width:1400px;
    margin:0 auto;
    padding:50px 30px 100px;
}

/* Layout */
.cl-layout{
    display:grid;
    grid-template-columns:280px 1fr;
    gap:40px;
    align-items:start;
}

.cl-results{min-width:0;}

/* Sidebar */
.cl-side{
    background:#fff;
    border:1px solid #ECE7DF;
    border-radius:18px;
    padding:26px;
    position:sticky;
    top:120px;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.cl-side__head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
}

.cl-side__clear{
    border:0;
    background:none;
    color:#C9933A;
    font-weight:600;
    cursor:pointer;
}

.cl-side ul{
    list-style:none;
    padding:0;
    margin:0;
}

.cl-side li+li{margin-top:8px;}

.cl-side a{
    display:block;
    padding:10px 14px;
    border-radius:10px;
    text-decoration:none;
    color:#555;
    transition:.25s;
}

.cl-side a:hover,
.cl-side a.is-active{
    background:#F7F5F2;
    color:#0D3D26;
}

/* Toolbar */
.cl-bar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:18px 24px;
    margin-bottom:30px;
    background:#fff;
    border:1px solid #ECE7DF;
    border-radius:16px;
    box-shadow:0 8px 30px rgba(0,0,0,.05);
}

.cl-bar__count{
    font-size:18px;
    font-weight:700;
    color:#0D3D26;
}

.cl-bar__right{
    display:flex;
    align-items:center;
    gap:16px;
    margin-left:auto;
}

.cl-search{width:340px;}

.cl-search input,
.woocommerce-ordering select{
    width:100%;
    height:52px;
    border:1px solid #E4DED5;
    border-radius:999px;
    padding:0 20px;
    background:#fff;
    outline:none;
}

.cl-search input:focus,
.woocommerce-ordering select:focus{
    border-color:#C9933A;
}

/* Grid */
.cl-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:28px;
    align-items:start;
}

.cl-grid > article,
.cl-grid > li{
    min-width:0;
    width:100%;
}

/* Card */
.cl-card{
    display:flex;
    flex-direction:column;
    height:100%;
    background:#fff;
    border:1px solid #ECECEC;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 8px 28px rgba(0,0,0,.05);
    transition:.3s;
}

.cl-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 45px rgba(0,0,0,.12);
}

.cl-card__img{
    aspect-ratio:1/1;
    overflow:hidden;
    background:#F7F7F7;
}

.cl-card__img a{
    display:block;
    width:100%;
    height:100%;
}

.cl-card__img img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .4s;
}

.cl-card:hover .cl-card__img img{
    transform:scale(1.05);
}

.cl-card__body{
    padding:22px;
    display:flex;
    flex-direction:column;
    flex:1;
}

.cl-card__group{
    display:inline-block;
    width:max-content;
    padding:6px 12px;
    border-radius:999px;
    background:#F4EEE5;
    color:#C9933A;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
}

.cl-card__name{
    margin:16px 0;
    font-size:18px;
    line-height:1.4;
}

.cl-card__name a{
    color:#0D3D26;
    text-decoration:none;
}

.cl-card__foot{
    margin-top:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
}

.cl-card__price{
    font-size:20px;
    font-weight:700;
    color:#0D3D26;
}

.cl-card__cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:13px 16px;
    border-radius:999px;
    background:#0D3D26;
    color:#fff;
    text-decoration:none;
    font-size:12px;
    font-weight:700;
}

.cl-card__cta:hover{
    background:#C9933A;
    color:#fff;
}

/* Responsive */
@media(max-width:1200px){
    .cl-grid{grid-template-columns:repeat(3,1fr);}
}

@media(max-width:991px){
    .cl-layout{grid-template-columns:1fr;}
    .cl-side{position:static;}
    .cl-bar{
        flex-direction:column;
        align-items:stretch;
    }
    .cl-bar__right{
        width:100%;
        flex-direction:column;
        margin-left:0;
    }
    .cl-search,
    .cl-sort,
    .woocommerce-ordering{
        width:100%;
    }
    .cl-grid{grid-template-columns:repeat(2,1fr);}
}

@media(max-width:640px){
    .wrap{padding:30px 18px 60px;}
    .cl-grid{grid-template-columns:1fr;}
    .cl-card__foot{
        flex-direction:column;
        align-items:stretch;
    }
    .cl-card__cta{width:100%;}
}
/* Override WooCommerce default ordering */

.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering{
    margin:0 !important;
    float:none !important;
    clear:none !important;
}

.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count{
    margin:0 !important;
    float:none !important;
}

.cl-sort .woocommerce-ordering{
    margin:0 !important;
}

.cl-bar{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
}

.cl-bar__right{
    display:flex !important;
    align-items:center !important;
    gap:16px;
}
/* ===== Footer & Header Logo Fix ===== */

a.brand > img.brand-logo,
.brand-logo{

    width:auto !important;
    height:80px !important;
    max-height:80px !important;
    max-width:260px !important;

    object-fit:contain !important;
    display:block !important;

    flex-shrink:0;
}

/* Override WooCommerce */

.woocommerce a.brand > img.brand-logo,
.woocommerce-page a.brand > img.brand-logo{

    height:80px !important;
    width:auto !important;
    max-width:260px !important;
}
/* ==========================================
   SINGLE PRODUCT PAGE RESPONSIVE FIX
========================================== */

/* Main Product Layout */

.single-product div.product{
    display:flex;
    gap:70px;
    align-items:flex-start;
    flex-wrap:wrap;
}

.single-product .woocommerce-product-gallery{
    flex:0 0 58%;
    max-width:58%;
    width:58%;
    margin:0;
}

.single-product .summary.entry-summary{
    flex:0 0 calc(42% - 70px);
    max-width:calc(42% - 70px);
    position:sticky;
    top:120px;
}

/* Tabs */

.single-product .woocommerce-tabs{
    width:100%;
    margin-top:70px;
}

/* Related */

.single-product .related{
    width:100%;
    margin-top:70px;
}

.single-product .related ul.products{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:24px;
}

.single-product .related ul.products li.product{
    width:100% !important;
    margin:0 !important;
    float:none !important;
}

/* Hide Sidebar */

.single-product #secondary,
.single-product .widget-area{
    display:none;
}

.single-product #primary,
.single-product .content-area{
    width:100%;
    max-width:100%;
}

/* ==========================
   TABLET
========================== */

@media (max-width:1024px){

.single-product div.product{
    gap:40px;
}

.single-product .woocommerce-product-gallery{
    flex:0 0 100%;
    max-width:100%;
}

.single-product .summary.entry-summary{
    flex:0 0 100%;
    max-width:100%;
    position:relative;
    top:0;
}

.single-product .related ul.products{
    grid-template-columns:repeat(2,1fr);
}

}

/* ==========================
   MOBILE
========================== */

@media (max-width:767px){

.single-product{
    overflow:visible !important;
}

.single-product .woocommerce-product-gallery{
    width:100%;
}

.single-product .woocommerce-product-gallery img{
    width:100%;
    height:auto;
}

.single-product .summary.entry-summary{
    padding-top:20px;
}

.single-product form.cart{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.single-product .quantity{
    width:70px;
}

.single-product .single_add_to_cart_button{
    flex:1;
    min-width:180px;
}

.single-product .related ul.products{
    grid-template-columns:1fr;
}

}
/* ==========================================
   CAT BARBADOS | SINGLE PRODUCT
========================================== */

.single-product .cat-product-section{
    padding:80px 0;
}

.single-product .cat-product-grid{
    display:grid;
    grid-template-columns:minmax(0,58%) minmax(360px,42%);
    gap:70px;
    align-items:start;
}

.single-product .woocommerce-breadcrumb{
    grid-column:1/-1;
    margin-bottom:32px;
    font-size:14px;
    color:#7b7b7b;
}

.single-product .cat-product-gallery{
    width:100%;
}

.single-product .woocommerce-product-gallery{
    width:100%!important;
    margin:0!important;
}

.single-product .woocommerce-product-gallery__wrapper{
    border-radius:18px;
    overflow:hidden;
}

.single-product .woocommerce-product-gallery img{
    width:100%;
    height:auto;
    display:block;
}

.single-product .cat-product-summary{
    position:sticky;
    top:120px;
}

.single-product .product_title{
    font-size:48px;
    line-height:1.15;
    color:#103b28;
    margin-bottom:18px;
    font-weight:500;
}

.single-product .price{
    font-size:34px;
    font-weight:700;
    color:#103b28;
    margin-bottom:22px;
}

.single-product .woocommerce-product-details__short-description{
    font-size:16px;
    line-height:1.8;
    color:#666;
    margin-bottom:28px;
}

.single-product form.cart{
    display:flex;
    align-items:center;
    gap:16px;
    margin:35px 0;
}

.single-product .quantity input{
    width:72px;
    height:52px;
    border:1px solid #ddd;
    border-radius:10px;
    text-align:center;
}

.single-product .single_add_to_cart_button{
    height:52px!important;
    padding:0 34px!important;
    border-radius:999px!important;
    background:#103b28!important;
    color:#fff!important;
    font-weight:600!important;
    transition:.3s;
}

.single-product .single_add_to_cart_button:hover{
    background:#d29b43!important;
}

.single-product .product_meta{
    margin-top:28px;
    padding-top:24px;
    border-top:1px solid #ececec;
    font-size:14px;
}

.single-product .cat-product-tabs{
    padding:80px 0;
}

.single-product .woocommerce-tabs ul.tabs{
    margin-bottom:35px!important;
}

.single-product .woocommerce-tabs .panel{
    padding-top:15px;
}

.single-product .related{
    margin-top:80px;
}

.single-product .related>h2{
    font-size:32px;
    margin-bottom:32px;
    color:#103b28;
}

.single-product .related ul.products{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:28px;
}

.single-product .related ul.products li.product{
    width:100%!important;
    float:none!important;
    margin:0!important;
}

.single-product .related ul.products::before,
.single-product .related ul.products::after{
    display:none!important;
}

@media(max-width:1024px){

.single-product .cat-product-grid{
    grid-template-columns:1fr;
    gap:45px;
}

.single-product .cat-product-summary{
    position:relative;
    top:0;
}

.single-product .related ul.products{
    grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:767px){

.single-product .cat-product-section{
    padding:40px 0;
}

.single-product .product_title{
    font-size:34px;
}

.single-product form.cart{
    flex-wrap:wrap;
}

.single-product .single_add_to_cart_button{
    width:100%;
}

.single-product .related ul.products{
    grid-template-columns:1fr;
}

}
/* =========================
   FIX WOOCOMMERCE GALLERY
========================= */

/* =========================
   FIX WOOCOMMERCE GALLERY
========================= */

.single-product .woocommerce-product-gallery{
    width:100% !important;
    max-width:100% !important;
}

.single-product .woocommerce-product-gallery img{
    width:100%;
    height:auto;
    display:block;
}

.single-product .flex-control-thumbs{
    display:grid !important;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin-top:18px;
    list-style:none;
    padding:0;
}

.single-product .flex-control-thumbs li{
    width:100% !important;
    float:none !important;
    margin:0 !important;
}

.single-product .flex-control-thumbs img{
    width:100%;
    height:auto;
    display:block;
    border-radius:8px;
    cursor:pointer;
}

/* Mobile */

@media (max-width:768px){

.single-product .cat-product-grid{
    display:block !important;
}

.single-product .cat-product-gallery{
    margin-bottom:30px;
}

.single-product .flex-control-thumbs{
    grid-template-columns:repeat(4,1fr);
}

}
/* =========================
   MOBILE SINGLE PRODUCT FIX
========================= */

@media (max-width:768px){

    .single-product .cat-product-grid{
        display:flex !important;
        flex-direction:column;
        gap:24px !important;
        width:100%;
    }

    .single-product .cat-product-gallery,
    .single-product .cat-product-summary{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }

    .single-product .woocommerce-product-gallery{
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
    }

    .single-product .flex-viewport{
        width:100% !important;
        overflow:hidden !important;
    }

    .single-product .woocommerce-product-gallery__wrapper{
        width:100% !important;
    }

    .single-product .woocommerce-product-gallery__image{
        width:100% !important;
        margin:0 !important;
    }

    .single-product .woocommerce-product-gallery__image img{
        width:100% !important;
        max-width:100% !important;
        height:auto !important;
        display:block;
    }

    .single-product .cat-product-summary{
        position:static !important;
        margin-top:20px !important;
        padding:0 !important;
    }

    .single-product .cat-product-tabs{
        padding-top:24px !important;
        margin-top:0 !important;
    }

    .single-product form.cart{
        display:flex;
        gap:12px;
        align-items:center;
    }

    .single-product .quantity{
        flex:0 0 60px;
    }

    .single-product .single_add_to_cart_button{
        flex:1;
    }

}
/* =========================
   WOOCOMMERCE SUCCESS NOTICE
========================= */

.single-product .cat-product-notices{
    margin:0 0 24px;
}

.single-product .woocommerce-message{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:18px 24px;
    background:#F8F8F5;
    border:1px solid #E6E1D7;
    border-left:5px solid #0D4B33;
    border-radius:14px;
    color:#0D3D26;
    box-shadow:0 8px 24px rgba(0,0,0,.05);
    font-size:15px;
    line-height:1.5;
}

.single-product .woocommerce-message::before{
    color:#0D4B33;
    font-size:18px;
    margin-right:12px;
}

.single-product .woocommerce-message .button{
    order:2;
    margin-left:auto;
    background:#0D4B33 !important;
    color:#fff !important;
    border:none !important;
    border-radius:999px;
    padding:12px 22px !important;
    font-weight:600;
    text-decoration:none;
    transition:.25s;
}

.single-product .woocommerce-message .button:hover{
    background:#C9933A !important;
}

.single-product .woocommerce-message a{
    color:#0D3D26;
    font-weight:600;
}

@media (max-width:768px){

    .single-product .woocommerce-message{
        flex-direction:column;
        align-items:flex-start;
        padding:16px;
    }

    .single-product .woocommerce-message .button{
        width:100%;
        margin:12px 0 0;
        text-align:center;
    }

}
/* ==========================================
   CAT BARBADOS | PREMIUM CART PAGE
========================================== */

.woocommerce-cart .woocommerce{
    display:grid;
    grid-template-columns:minmax(0,1fr) 380px;
    gap:50px;
    align-items:start;
    margin:60px 0;
}

/* LEFT */

.woocommerce-cart table.shop_table{
    width:100%;
    border:none!important;
    border-collapse:separate;
    border-spacing:0 24px;
    background:transparent;
}

.woocommerce-cart table.shop_table thead th{
    border:none;
    color:#0D3D26;
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:.08em;
    padding-bottom:18px;
}

.woocommerce-cart table.shop_table tbody tr{
    background:#fff;
    box-shadow:0 10px 35px rgba(0,0,0,.05);
    border-radius:18px;
}

.woocommerce-cart table.shop_table td{
    border:none!important;
    padding:24px 18px;
    vertical-align:middle;
}

.woocommerce-cart td.product-thumbnail img{
    width:110px;
    border-radius:14px;
}

.woocommerce-cart td.product-name a{
    color:#0D3D26;
    font-size:24px;
    font-weight:500;
    text-decoration:none;
}

.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal{
    font-size:22px;
    font-weight:700;
    color:#0D3D26;
}

/* Quantity */

.woocommerce-cart .quantity{
    display:flex;
    align-items:center;
}

.woocommerce-cart .quantity input{
    width:72px;
    height:48px;
    border:1px solid #ddd;
    border-radius:10px;
    text-align:center;
}

/* Remove */

.woocommerce-cart a.remove{
    color:#999!important;
    font-size:28px!important;
}

.woocommerce-cart a.remove:hover{
    background:none!important;
    color:#C9933A!important;
}

/* Hide Update Cart Row */

.woocommerce-cart .actions{
    display:none;
}

/* RIGHT */

.cart-collaterals{
    position:sticky;
    top:120px;
}

.cart_totals{
    background:#fff;
    padding:36px;
    border-radius:22px;
    box-shadow:0 10px 35px rgba(0,0,0,.05);
}

.cart_totals h2{
    font-size:30px;
    color:#0D3D26;
    margin-bottom:24px;
}

.cart_totals table{
    border:none;
}

.cart_totals th,
.cart_totals td{
    border:none!important;
    padding:18px 0;
}

.order-total th,
.order-total td{
    font-size:28px;
    color:#0D3D26;
    font-weight:700;
}

/* Checkout Button */

.wc-proceed-to-checkout{
    padding-top:24px!important;
}

.wc-proceed-to-checkout .checkout-button{
    background:#0D4B33!important;
    color:#fff!important;
    border-radius:999px!important;
    padding:18px 30px!important;
    font-size:17px!important;
    font-weight:600!important;
    transition:.3s;
}

.wc-proceed-to-checkout .checkout-button:hover{
    background:#C9933A!important;
}

/* Coupon */

.woocommerce-cart .coupon{
    display:flex;
    gap:12px;
    margin-top:24px;
}

.woocommerce-cart .coupon input{
    flex:1;
    height:52px;
    border-radius:12px;
    border:1px solid #ddd;
    padding:0 16px;
}

.woocommerce-cart .coupon button{
    height:52px;
    border-radius:999px;
    background:#0D4B33;
    color:#fff;
    padding:0 26px;
}

/* Mobile */

@media(max-width:991px){

.woocommerce-cart .woocommerce{
    grid-template-columns:1fr;
}

.cart-collaterals{
    position:relative;
    top:0;
}

}

@media(max-width:767px){

.woocommerce-cart table.shop_table,
.woocommerce-cart tbody,
.woocommerce-cart tr,
.woocommerce-cart td{
    display:block;
    width:100%;
}

.woocommerce-cart tr{
    margin-bottom:24px;
}

.woocommerce-cart td{
    text-align:left!important;
    padding:12px 18px;
}

.woocommerce-cart td.product-thumbnail{
    text-align:center!important;
}

.woocommerce-cart td.product-thumbnail img{
    width:140px;
}

.woocommerce-cart td.product-subtotal{
    font-size:22px;
}

.cart_totals{
    padding:24px;
}

}
/* ===========================
   CART BLOCK FINAL FIX
=========================== */

.wp-block-woocommerce-cart{
    max-width:100% !important;
}

.wc-block-components-sidebar-layout{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 360px !important;
    gap:60px !important;
    align-items:start;
}

.wc-block-cart__main{
    min-width:0 !important;
}

.wc-block-cart__sidebar{
    min-width:360px !important;
    max-width:360px !important;
    position:sticky;
    top:120px;
    background:#fff;
    padding:32px;
    border-radius:18px;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
}

/* Button */

.wc-block-cart__submit-button{
    width:100% !important;
    min-height:56px !important;
    border-radius:999px !important;
    background:#0D4B33 !important;
    color:#fff !important;
    justify-content:center !important;
}

.wc-block-components-button__text{
    white-space:nowrap !important;
    font-size:16px;
    font-weight:600;
}

/* Product */

.wc-block-components-product-name{
    font-size:24px !important;
    color:#0D3D26 !important;
}

.wc-block-cart-item__image img{
    width:110px !important;
    border-radius:12px;
}

.wc-block-components-product-price__value{
    font-size:20px;
    font-weight:700;
}

/* Mobile */

@media (max-width:991px){

.wc-block-components-sidebar-layout{
    grid-template-columns:1fr !important;
}

.wc-block-cart__sidebar{
    min-width:100% !important;
    max-width:100% !important;
    position:relative;
    top:0;
}

}
/* ===========================
   CART MOBILE IMPROVEMENTS
=========================== */

@media (max-width:768px){

    .wc-block-cart-items__row{
        display:grid !important;
        grid-template-columns:80px 1fr;
        gap:18px;
        align-items:start;
    }

    .wc-block-cart-item__image{
        margin:0 !important;
    }

    .wc-block-cart-item__image img{
        width:80px !important;
        border-radius:12px;
    }

    .wc-block-cart-item__product{
        padding-left:0 !important;
    }

    .wc-block-components-product-name{
        font-size:18px !important;
        line-height:1.35;
        margin-bottom:8px;
    }

    .wc-block-cart-item__prices{
        margin:8px 0 10px;
    }

    .wc-block-cart-item__quantity{
        display:flex;
        align-items:center;
        gap:12px;
        margin-top:12px;
    }

    .wc-block-components-quantity-selector{
        max-width:120px;
    }

    .wc-block-cart__sidebar{
        margin-top:32px !important;
        padding:24px !important;
        border-radius:18px;
    }

    .wc-block-cart__submit-button{
        width:100% !important;
        min-height:54px !important;
    }

}
/* ===================================================
   WOOCOMMERCE BLOCK CHECKOUT
   PREMIUM CLEAN VERSION
=================================================== */

/* ---------- Container ---------- */

.wc-block-checkout{
    max-width:1320px !important;
    margin:0 auto !important;
    padding:70px 25px !important;
}

/* ---------- Desktop Layout ---------- */

@media (min-width:992px){

.wc-block-components-sidebar-layout{

display:grid !important;
grid-template-columns:minmax(0,1fr) 380px !important;
gap:55px !important;
align-items:start !important;

}

.wc-block-components-main{

width:100% !important;
min-width:0 !important;

}

.wc-block-components-sidebar{

width:380px !important;
max-width:380px !important;
margin:0 !important;


}

.wc-block-checkout__sidebar{

position:sticky;
top:120px;

}

}

/* ---------- Mobile ---------- */

@media(max-width:991px){

.wc-block-checkout{

padding:35px 18px !important;

}

.wc-block-components-sidebar-layout{

display:flex !important;
flex-direction:column !important;
gap:25px !important;

}

.wc-block-components-sidebar{

order:1;
width:100% !important;
max-width:100% !important;

}

.wc-block-components-main{

order:2;

}

.wc-block-checkout__sidebar{

position:relative !important;
top:auto;

}

}

/* ---------- Cards ---------- */

.wc-block-components-checkout-step,
.wc-block-checkout__sidebar{

background:#fff;
border:1px solid #ECE5DA;
border-radius:24px;
padding:34px;
box-shadow:0 20px 55px rgba(0,0,0,.06);

}

/* spacing */

.wc-block-components-checkout-step{

margin-bottom:28px !important;

}

.wc-block-components-checkout-step__container,
.wc-block-components-checkout-step__content{

margin:0 !important;
padding:0 !important;

}

/* ---------- Headings ---------- */

.wc-block-components-title,
.wc-block-components-checkout-step h2{

font-size:32px;
font-weight:600;
color:#0D3D26;
margin-bottom:28px;

}

/* ---------- Forms ---------- */

.wc-block-components-address-form{

display:flex;
flex-direction:column;
gap:18px;

}

.wc-block-components-text-input input,
.wc-block-components-address-form input,
.wc-block-components-address-form textarea,
.wc-blocks-components-select__select{

height:58px !important;
border-radius:14px !important;
border:1px solid #DDD5C8 !important;
background:#fff !important;
padding:0 18px !important;
font-size:15px;
box-shadow:none !important;

}

.wc-block-components-address-form textarea{

height:140px !important;
padding-top:18px !important;

}

.wc-block-components-text-input input:focus,
.wc-block-components-address-form input:focus,
.wc-block-components-address-form textarea:focus,
.wc-blocks-components-select__select:focus{

border-color:#0D3D26 !important;
box-shadow:0 0 0 4px rgba(13,61,38,.08) !important;

}

.wc-block-components-text-input label,
.wc-blocks-components-select__label{

font-size:12px;
color:#777;

}
/* ===================================================
   PREMIUM ORDER SUMMARY
=================================================== */

.wc-block-components-order-summary{
    border:none !important;
    background:transparent !important;
}

.wc-block-components-order-summary-item{
    padding:18px 0 !important;
    border-bottom:1px solid #F0ECE6 !important;
}

.wc-block-components-order-summary-item__image img{
    border-radius:12px;
    overflow:hidden;
}

.wc-block-components-order-summary-item__description{
    font-size:15px;
    color:#222;
}

.wc-block-components-product-name{
    font-weight:600;
    color:#0D3D26;
}

.wc-block-components-order-summary-item__total-price{
    font-weight:700;
    color:#111;
}

/* Coupon */

.wc-block-components-totals-coupon,
.wc-block-components-panel{
    border:none !important;
    box-shadow:none !important;
    background:transparent !important;
}

.wc-block-components-totals-coupon__content{
    padding-top:18px;
}

/* Totals */

.wc-block-components-totals-item{
    padding:14px 0 !important;
    border-bottom:1px solid #F0ECE6;
}

.wc-block-components-totals-footer-item{
    padding-top:22px !important;
    font-size:18px;
    font-weight:700;
}

/* ===================================================
   PAYMENT
=================================================== */

.wc-block-components-notice-banner{
    border-radius:14px !important;
}

.wc-block-components-checkbox{
    margin-top:18px;
}

.wc-block-components-checkbox label{
    font-size:15px;
}

/* ===================================================
   BUTTON
=================================================== */

.wc-block-components-button,
.wc-block-components-checkout-place-order-button{

height:58px !important;
border-radius:999px !important;
background:#0D3D26 !important;
border:none !important;
color:#fff !important;
font-size:16px !important;
font-weight:600 !important;
transition:.25s;

}

.wc-block-components-button:hover,
.wc-block-components-checkout-place-order-button:hover{

background:#B98A3E !important;

}

.wc-block-checkout-place-order-button{

margin-top:28px !important;
width:100%;

}

/* ===================================================
   INPUT SPACING
=================================================== */

.wc-block-components-text-input,
.wc-block-components-address-form__first_name,
.wc-block-components-address-form__last_name,
.wc-block-components-address-form__address_1,
.wc-block-components-address-form__city,
.wc-block-components-address-form__postcode,
.wc-block-components-address-form__phone{

margin-bottom:18px !important;

}

/* ===================================================
   MOBILE
=================================================== */

@media(max-width:991px){

.wc-block-components-checkout-step,
.wc-block-checkout__sidebar{

padding:22px !important;
border-radius:18px;

}

.wc-block-components-title,
.wc-block-components-checkout-step h2{

font-size:26px;

}

.wc-block-components-order-summary-item{

padding:14px 0 !important;

}

}

/* ===================================================
   REMOVE WOOCOMMERCE DEFAULT SPACING
=================================================== */

.wc-block-components-checkout-step__description,
.wc-block-components-checkout-step__content,
.wc-block-components-checkout-step__container{

margin:0 !important;
padding:0 !important;

}

.wc-block-components-validation-error,
.wc-block-components-notice-banner{

margin-top:18px !important;

}

.wc-block-components-main{

display:flex;
flex-direction:column;
gap:28px;

}
.woocommerce-checkout #contact,
.woocommerce-page #contact,
body.woocommerce-checkout #contact{
    padding:0 !important;
}
/* ORDER SUMMARY FIX */

.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-checkout-order-summary__content,
.wc-block-components-order-summary,
.wc-block-components-order-summary__content,
.wc-block-components-totals-wrapper{

display:block !important;
height:auto !important;
min-height:unset !important;
flex:none !important;
align-items:initial !important;
justify-content:initial !important;

}

.wc-block-components-totals-item{

display:flex !important;
justify-content:space-between !important;
align-items:center !important;
padding:16px !important;

}

.wc-block-components-totals-footer-item{

display:flex !important;
justify-content:space-between !important;
align-items:center !important;

}