/* Base adjustments */
.hero .btn-ghost{ border-color:#124f44; color:#124f44; }
.section-alt{ background:#fff; }
.section-wave-bottom{ padding-bottom: 0; }
.section-wave-top{ padding-top: 0; }

/* Header refined */
.site-header{ position:sticky; top:0; z-index:40; background: rgba(250,243,232,.85); border-bottom:1px solid #e0d6c9; backdrop-filter: blur(16px) saturate(1.3); box-shadow:0 2px 8px -2px rgba(0,0,0,.08); }
.nav{ display:flex; align-items:center; justify-content:space-between; width:var(--container); margin:auto; padding:.55rem min(4vw,20px); }
.nav-list{ display:flex; gap:12px; list-style:none; margin:0; padding:0; align-items:center; }
.nav-list li{ display:flex; }
.nav-list a{ position:relative; font-weight:600; letter-spacing:.5px; text-decoration:none; color:var(--charcoal); padding:.6rem .9rem; display:flex; align-items:center; }
.nav-list a::after{ content:""; position:absolute; left:14px; right:14px; bottom:8px; height:2px; background:linear-gradient(90deg,var(--cactus), var(--terra)); transform:scaleX(0); transform-origin:left; transition:.4s cubic-bezier(.4,0,.2,1); border-radius:2px; }
.nav-list a:hover::after, .nav-list a:focus-visible::after{ transform:scaleX(1); }

/* Hero media animation + cactus fit */
.hero__media--animate{ position:relative; }
.hero__media--animate::after{ content:""; position:absolute; inset:0; border-radius:var(--radius-lg); background:radial-gradient(circle at 70% 30%, rgba(255,255,255,.35), transparent 60%); mix-blend-mode:overlay; pointer-events:none; opacity:0; animation: heroGlow 6s ease-in-out infinite; }
.hero-img{ animation: heroFloat 10s ease-in-out infinite; object-fit:contain; width:100%; height:auto; max-height:560px; }
@media (max-width:700px){ .hero-img{ max-height:420px; } }
@keyframes heroFloat{ 0%,100%{ transform:translateY(0) scale(1);} 50%{ transform:translateY(-10px) scale(1.015);} }
@keyframes heroGlow{ 0%,100%{ opacity:.15;} 50%{ opacity:.5;} }

/* Category cards */
.category img{ aspect-ratio:4/3; width:100%; height:100%; object-fit:cover; filter: sepia(.15) contrast(1.05) saturate(1.1); transition: transform 1.2s ease, filter 1.2s ease; }
.category{ position:relative; overflow:hidden; cursor:pointer; transition: transform .55s cubic-bezier(.19,1,.22,1), box-shadow .6s ease, filter .6s; background:#201d1a; }
.category::after{ content:""; position:absolute; inset:0; background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.08), transparent 60%), linear-gradient(120deg, rgba(0,0,0,.45), rgba(0,0,0,0)); opacity:.35; mix-blend-mode:overlay; transition:.6s; }
.category::before{ content:""; position:absolute; inset:0; background: repeating-linear-gradient(45deg, rgba(255,255,255,.04) 0 6px, rgba(0,0,0,0) 6px 12px); opacity:.15; pointer-events:none; }
.category h3{ position:absolute; left:10px; bottom:10px; margin:0; background:rgba(32,29,26,.75); color:#fff; padding:.5rem .85rem; border-radius: var(--radius-pill); font-size:1rem; letter-spacing:.5px; backdrop-filter: blur(3px); box-shadow:0 4px 14px -4px rgba(0,0,0,.5); }
.category:hover{ transform: translateY(-6px); box-shadow:0 18px 46px -12px rgba(0,0,0,.45); }
.category:hover::after{ opacity:.6; }
.category:hover img{ transform: scale(1.08); filter: sepia(.28) contrast(1.1) saturate(1.2); }

/* Carousel (controlled, no native scroll) */
.carousel{ position:relative; display:flex; align-items:center; gap:10px; }
.carousel__viewport{ overflow:hidden; flex:1; }
.carousel__track{ list-style:none; margin:0; padding:0; display:flex; gap:16px; transition: transform .7s cubic-bezier(.4,0,.2,1); }
.carousel__track > li{ flex:0 0 100%; opacity:.45; transform: scale(.9); transition: transform .7s cubic-bezier(.4,0,.2,1), opacity .6s; }
@media (min-width:640px){ .carousel__track > li{ flex:0 0 50%; } }
@media (min-width:960px){ .carousel__track > li{ flex:0 0 25%; } }
.carousel__track > li.is-active{ opacity:1; transform: scale(1); }
.carousel__track > li.is-active .product{ box-shadow:0 16px 40px -14px rgba(0,0,0,.35); }
.carousel__track > li:not(.is-active) .product{ box-shadow:0 6px 18px -6px rgba(0,0,0,.18); filter:brightness(.9); }
.carousel__track img{ width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; }
/* Prevent cut on 2nd image by enforcing consistent heights */
.carousel__viewport{ --card-h: clamp(240px, 40vw, 320px); }
.carousel__track .product img{ height:var(--card-h); }

/* Global reveal animation reused */
.reveal{ opacity:0; transform: translateY(18px) scale(.98); animation:revealUp .9s forwards; }
.reveal.delay-1{ animation-delay:.15s; }
.reveal.delay-2{ animation-delay:.3s; }
@keyframes revealUp{ to{ opacity:1; transform: translateY(0) scale(1);} }

/* Copper about image animation similar to hero */
.about__img img{ animation: aboutPulse 12s ease-in-out infinite; }
@keyframes aboutPulse{ 0%,100%{ transform:scale(1);} 50%{ transform:scale(1.02);} }
.carousel__btn{ border:none; background:var(--cactus); color:#fff; width:42px; height:42px; border-radius:50%; cursor:pointer; display:grid; place-items:center; font-size:1.2rem; box-shadow: var(--shadow); transition:.3s; }
.carousel__btn[disabled]{ opacity:.25; cursor:not-allowed; }
.carousel__btn:hover:not([disabled]){ background:var(--terra); }
.carousel__dots{ display:flex; gap:6px; justify-content:center; margin-top:18px; }
.carousel__dots button{ width:10px; height:10px; border-radius:50%; border:none; background:#c9c0b6; cursor:pointer; padding:0; transition:.3s; }
.carousel__dots button[aria-current="true"]{ background:var(--cactus); transform:scale(1.25); }

/* Fade-in animation for cards */
.grid-cards > *{ animation:fadeUp .7s both; }
.grid-cards > *:nth-child(2){ animation-delay:.06s; }
.grid-cards > *:nth-child(3){ animation-delay:.12s; }
.grid-cards > *:nth-child(4){ animation-delay:.18s; }
@keyframes fadeUp{ from{ opacity:0; transform: translateY(14px);} to{ opacity:1; transform: translateY(0);} }

/* Product image fit */
.product img{ aspect-ratio:4/3; width:100%; object-fit:cover; }

/* Mirror / reflection effect for product cards */
.product.mirror{ position:relative; overflow:hidden; }
.product.mirror img{ display:block; }
.product.mirror::after{ content:""; position:absolute; left:0; right:0; bottom:-35%; height:35%; background:inherit; background-image: none; }
.product.mirror img + div{ position:relative; z-index:2; }
.product.mirror .reflection{ position:absolute; left:0; right:0; bottom:-34%; transform: scaleY(-1); opacity:.25; filter: blur(2px) saturate(.9); mask-image: linear-gradient(to bottom, rgba(0,0,0,.6), transparent); -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.6), transparent); transition:opacity .6s ease; }
.product.mirror:hover .reflection{ opacity:.35; }

/* Responsive tweaks */
@media (max-width:600px){ .hero__ctas{ flex-direction:column; } .hero__ctas .btn{ width:100%; } h1{ font-size: clamp(1.9rem, 8vw, 2.4rem); } }
@media (max-width:420px){ .card.product h3{ font-size:1rem; } .card.product .btn{ padding:.7rem .9rem; } }