/* =========================================================
   SATYAM FURNITURE — Premium Industrial Luxury (multi-page)
   Black & Gold · Apple/Tesla product-launch aesthetic
   ========================================================= */

:root{
  --bg:#FBF9F1; --bg-2:#E9EDDA; --bg-3:#DCE2C6; --panel:#FFFDF6;
  --gold:#C8A15A; --gold-soft:#B58F49; --gold-bright:#DEC183;
  --sage:#6B7A5E; --sage-deep:#2A3320;
  --white:#262A1E; --gray:#686B54; --gray-dim:#93967F;
  --line:rgba(200,161,90,.4); --line-soft:rgba(38,41,31,.1);
  --shadow:0 30px 70px -28px rgba(38,41,31,.16);
  --ease:cubic-bezier(.22,1,.36,1); --maxw:1320px;
}
*{margin:0;padding:0;box-sizing:border-box}
.page-transition{position:fixed;inset:0;z-index:100000;background:#0c0a08;opacity:0;pointer-events:none;transition:opacity .42s cubic-bezier(.65,0,.35,1)}
.page-transition.active{opacity:1;pointer-events:all}
@media (hover:hover) and (pointer:fine){
  a,button,.prod-card,.cat-card,.chip{cursor:none}
}
.cursor-dot{position:fixed;top:0;left:0;width:7px;height:7px;border-radius:50%;background:var(--gold);pointer-events:none;z-index:99999;transform:translate(-50%,-50%);margin-left:0;margin-top:0;transition:width .3s var(--ease),height .3s var(--ease)}
.cursor-ring{position:fixed;top:0;left:0;width:34px;height:34px;border:1px solid rgba(200,161,90,.5);border-radius:50%;pointer-events:none;z-index:99998;transform:translate(-50%,-50%);transition:width .3s var(--ease),height .3s var(--ease),border-color .3s var(--ease)}
.cursor-dot.big{width:10px;height:10px}
.cursor-ring.big{width:54px;height:54px;border-color:var(--gold)}
@media (hover:none),(pointer:coarse){.cursor-dot,.cursor-ring{display:none}}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{background:radial-gradient(circle at 12% 0%,rgba(200,161,90,.07),transparent 42%),radial-gradient(circle at 88% 8%,rgba(200,161,90,.05),transparent 38%),radial-gradient(circle at 50% 100%,rgba(200,161,90,.04),transparent 45%),var(--bg);background-attachment:fixed;color:var(--white);font-family:'Poppins',sans-serif;font-weight:300;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.no-scroll{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
ul{list-style:none}
::selection{background:var(--gold);color:#fff}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:#F0EDE6}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--gold),#8a712066);border-radius:20px}

.container{width:min(92%,var(--maxw));margin-inline:auto}

/* Typography helpers */
.eyebrow{display:inline-flex;align-items:center;gap:.65rem;font-size:.72rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--gold);opacity:.7}
.eyebrow.center{justify-content:center}
.eyebrow.center::after{content:"";width:34px;height:1px;background:var(--gold);opacity:.7}
.section-title{font-family:'Playfair Display',serif;font-weight:700;line-height:1.08;letter-spacing:-.01em;font-size:clamp(1.8rem,4vw,3.1rem)}
h1,h2,h3{font-family:'Playfair Display',serif}
.section-title .thin{font-weight:200;color:var(--gray)}
.section-title .gold{color:var(--gold)}
.lead{color:var(--gray);font-weight:300;font-size:clamp(.92rem,1.2vw,1.02rem);max-width:60ch}
.serif{font-family:'Cormorant Garamond',serif}
section{position:relative}
.section-pad{padding:clamp(6rem,11vw,10.5rem) 0}
.gold-glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(200,161,90,.5),transparent 70%)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:1rem 2rem;border-radius:60px;font-weight:500;font-size:.92rem;letter-spacing:.02em;position:relative;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease),color .4s var(--ease);will-change:transform}
.btn-ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.5);pointer-events:none;transform:scale(0);animation:rippleOut .65s cubic-bezier(.33,1,.68,1) forwards}
@keyframes rippleOut{to{transform:scale(1);opacity:0}}
.btn i{transition:transform .4s var(--ease)}
.btn:hover i{transform:translateX(4px)}
.btn-gold{background:linear-gradient(100deg,var(--gold),var(--gold-bright));color:#100d05;box-shadow:0 14px 40px -14px rgba(200,161,90,.7)}
.btn-gold:hover{transform:translateY(-3px);box-shadow:0 22px 55px -14px rgba(200,161,90,.9)}
.btn-ghost{border:1px solid var(--line);color:var(--white);background:rgba(255,255,255,.02)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-3px)}
.btn-wa{background:#1f9d4d;color:#fff;box-shadow:0 14px 40px -16px rgba(31,157,77,.8)}
.btn-wa:hover{transform:translateY(-3px);background:#22a955}

/* ============ PRELOADER / INTRO ============ */
.preloader{position:fixed;inset:0;z-index:10000;background:var(--panel);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.4rem}
.preloader.fadeout{animation:preFade .55s var(--ease) forwards}
@keyframes preFade{to{opacity:0;visibility:hidden;pointer-events:none}}
.pre-glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(200,161,90,.22),transparent 65%);filter:blur(40px);animation:prePulse 2.4s ease-in-out infinite}
@keyframes prePulse{50%{transform:scale(1.12);opacity:.7}}
.pre-logo{width:min(210px,58vw);position:relative;z-index:2;opacity:0;transform:translateY(14px) scale(.94);animation:preLogo .8s var(--ease) .1s forwards}
@keyframes preLogo{to{opacity:1;transform:none}}
.pre-word{position:relative;z-index:2;display:flex;gap:.55rem;font-weight:600;letter-spacing:.42em;font-size:.8rem;color:var(--gray);text-transform:uppercase;overflow:hidden}
.pre-word span{opacity:0;transform:translateY(100%);display:inline-block;animation:preWord .6s var(--ease) forwards}
.pre-bar{position:relative;z-index:2;width:180px;height:2px;background:rgba(0,0,0,.08);border-radius:2px;overflow:hidden}
.pre-bar::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,var(--gold),var(--gold-bright));animation:preBar 1.7s var(--ease) .2s forwards}
@keyframes preBar{to{transform:translateX(0)}}
@keyframes preWord{to{opacity:1;transform:none}}

/* ============ NAV ============ */
.nav{position:fixed;top:0;left:0;width:100%;z-index:1000;transition:background .5s var(--ease),backdrop-filter .5s var(--ease),border-color .5s var(--ease),padding .5s var(--ease);border-bottom:1px solid transparent;padding:1.1rem 0}
.nav.scrolled{background:rgba(255,255,255,.92);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid var(--line);padding:.6rem 0;box-shadow:0 8px 30px -12px rgba(34,34,34,.12)}
.nav-inner{display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:.7rem}
.logo img{height:58px;width:auto;transition:height .5s var(--ease)}
.nav.scrolled .logo img{height:50px}
.logo .logo-txt{display:flex;flex-direction:column;line-height:1}
.logo .logo-txt b{font-weight:700;font-size:1.32rem;letter-spacing:.02em;color:#fff;transition:color .4s var(--ease)}
.nav.scrolled .logo .logo-txt b{color:#222}
.logo .logo-txt b span{color:var(--gold)}
.logo .logo-txt small{font-size:.52rem;letter-spacing:.34em;color:rgba(255,255,255,.65);margin-top:2px;transition:color .4s var(--ease)}
.nav.scrolled .logo .logo-txt small{color:var(--gray)}
.nav-menu{display:flex;align-items:center;gap:2.2rem}
.nav-menu a{font-size:.9rem;color:rgba(255,255,255,.88);position:relative;transition:color .35s var(--ease);font-weight:400}
.nav.scrolled .nav-menu a{color:var(--gray)}
.nav-menu a::after{content:"";position:absolute;left:0;bottom:-6px;height:1px;width:0;background:var(--gold);transition:width .4s var(--ease)}
.nav-menu a:hover,.nav-menu a.active{color:#fff}
.nav.scrolled .nav-menu a:hover,.nav.scrolled .nav-menu a.active{color:#222}
.nav-menu a.active::after,.nav-menu a:hover::after{width:100%}
.nav-cta{padding:.7rem 1.5rem;font-size:.85rem}
.nav-right{display:flex;align-items:center;gap:1.2rem}
.hamburger{display:none;flex-direction:column;gap:5px;width:28px;z-index:1001}
.hamburger span{height:2px;width:100%;background:var(--panel);transition:.4s var(--ease);transform-origin:center}
.nav.scrolled .hamburger span{background:#222}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-only{display:none !important}
.desktop-only{display:inline-flex}

/* ============ HERO (full-bleed, single background) ============ */
.hero{min-height:min(92vh,760px);position:relative;overflow:hidden;display:flex;align-items:center;background:#0c0a08}
.hero-photo-zoom{position:absolute;inset:0;background:url('lifestyle/wardrobe-brown.jpg') center/cover no-repeat;z-index:0}
.hero-photo-fade{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(28,35,22,.72) 0%,rgba(28,35,22,.5) 22%,rgba(28,35,22,.2) 42%,transparent 60%);transition:opacity .5s var(--ease)}
.hero-text-panel{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;max-width:640px;padding:8rem clamp(1.6rem,4vw,2rem) 6rem clamp(2rem,6vw,5.5rem);overflow:visible}
.hero #heroHeadline,.hero #heroSubtext,.hero .hero-eyebrow,.hero-tag{transition:opacity .35s ease}
.hero.hero-switching #heroSubtext,.hero.hero-switching .hero-eyebrow,.hero.hero-switching .hero-tag{opacity:0}
.hero-dots-nav{position:absolute;bottom:2rem;left:clamp(2rem,6vw,5.5rem);z-index:5;display:flex;gap:.5rem}
.hero-dots-nav button{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.35);transition:.4s var(--ease)}
.hero-dots-nav button.active{background:var(--gold);width:26px;border-radius:20px}
.hero-dots-nav button:hover{background:rgba(255,255,255,.6)}
.hero-accent-ring{position:absolute;top:-90px;right:-90px;width:280px;height:280px;border:1px solid rgba(200,161,90,.22);border-radius:50%;animation:ringSpin 46s linear infinite;pointer-events:none}
.hero-accent-ring::before{content:"";position:absolute;inset:26px;border:1px solid rgba(200,161,90,.14);border-radius:50%}
@keyframes ringSpin{to{transform:rotate(360deg)}}
.hero-accent-blob{position:absolute;bottom:-70px;left:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(200,161,90,.2),transparent 70%);filter:blur(8px);animation:blobPulse 6s ease-in-out infinite;pointer-events:none}
@keyframes blobPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.3)}}
.hero .eyebrow.hero-eyebrow{position:relative;z-index:2;color:var(--gold-bright);opacity:0;letter-spacing:.85em;animation:eyebrowExpand 1s var(--ease) .15s forwards}
@keyframes eyebrowExpand{from{opacity:0;letter-spacing:1em}to{opacity:1;letter-spacing:.34em}}
.hero .eyebrow::before{width:0;animation:lineGrow .7s var(--ease) .55s forwards}
@keyframes lineGrow{to{width:34px}}
.hero h1{position:relative;z-index:2;font-family:'Playfair Display',serif;font-weight:700;letter-spacing:-.01em;line-height:1;font-size:clamp(2.1rem,4.6vw,3.8rem);margin:1rem 0 1.2rem}
.hero h1 .ln{display:block;overflow:hidden}
.hero h1 .ln span{display:block;transform:translateX(-100%);opacity:0;color:#fff;animation:lnLeft 1s var(--ease) forwards}
.hero h1 .ln:nth-child(1) span{animation-delay:.32s}
.hero h1 .ln:nth-child(2) span{animation-delay:.5s}
@keyframes lnLeft{to{transform:translateX(0);opacity:1}}
.hero h1 .gold{background:linear-gradient(90deg,var(--gold) 0%,var(--gold-bright) 25%,var(--gold) 50%,var(--gold-soft) 75%,var(--gold) 100%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:goldShimmer 6s linear infinite}
@keyframes goldShimmer{to{background-position:-220% center}}
.hero-sub-anim{position:relative;z-index:2;opacity:0;max-width:42ch;border-left:2px solid var(--gold);padding-left:1.1rem;animation:subReveal .9s var(--ease) .85s forwards}
@keyframes subReveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero-sub{color:rgba(255,255,255,.8);font-size:clamp(.9rem,1.15vw,.98rem);font-weight:300;margin-bottom:0;line-height:1.65}
.hero-sub b{color:#fff;font-weight:500}
.hero-btn-anim{position:relative;z-index:2;display:flex;gap:1rem;flex-wrap:wrap;margin:2rem 0 1.8rem;opacity:0;transform:scale(.82);animation:btnPop .65s var(--ease) 1.2s forwards}
@keyframes btnPop{to{opacity:1;transform:scale(1)}}
.hero-actions .btn-gold{animation:ctaPulse 2.8s ease-in-out 2.4s infinite}
@keyframes ctaPulse{0%,100%{box-shadow:0 14px 40px -14px rgba(200,161,90,.7)}50%{box-shadow:0 16px 48px -8px rgba(200,161,90,1)}}
.hero-chips{position:relative;z-index:2;display:flex;gap:.6rem;flex-wrap:wrap}
.hero-chips .chip{color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.06)}
.hero-chips .chip:hover{border-color:var(--gold);color:var(--gold-bright);background:rgba(200,161,90,.14)}
.chip{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--line-soft);border-radius:40px;font-size:.78rem;color:var(--gray);background:rgba(255,255,255,.02);opacity:0;transform:translateY(14px) scale(.94);animation:chipIn .6s var(--ease) forwards;transition:transform .35s var(--ease),border-color .35s var(--ease),background .35s var(--ease),color .35s var(--ease)}
.chip:nth-child(1){animation-delay:1.45s}
.chip:nth-child(2){animation-delay:1.53s}
.chip:nth-child(3){animation-delay:1.61s}
.chip:nth-child(4){animation-delay:1.69s}
.chip:nth-child(5){animation-delay:1.77s}
@keyframes chipIn{to{opacity:1;transform:none}}
.chip:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-3px);background:rgba(200,161,90,.07)}
.chip i{color:var(--gold);font-size:.75rem;transition:transform .35s var(--ease)}
.chip:hover i{transform:scale(1.2) rotate(-8deg)}
.hero-tag{position:absolute;z-index:4;background:rgba(35,42,28,.65);border:1px solid var(--line);backdrop-filter:blur(10px);border-radius:14px;padding:.6rem .9rem;font-size:.74rem;display:flex;align-items:center;gap:.5rem;color:#fff;animation:tagFloat 4.5s ease-in-out infinite}
.hero-tag i{color:var(--gold)}
.hero-tag.t1{top:16%;right:6%;animation-delay:.2s}
.hero-tag.t2{bottom:22%;right:10%;animation-delay:1.4s}
@keyframes tagFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.scroll-cue{position:absolute;left:50%;bottom:1.4rem;transform:translateX(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:rgba(255,255,255,.6);font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;animation:cueBob 2.2s ease-in-out infinite}
.scroll-cue i{font-size:.9rem}
@keyframes cueBob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}
.particle{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--gold);opacity:.5;z-index:1;filter:blur(.5px)}
@keyframes floatUp{0%{transform:translateY(0);opacity:.5}50%{opacity:.8}100%{transform:translateY(-70px) translateX(10px);opacity:0}}

/* hero stats strip */
.hero-stats{position:absolute;left:0;right:0;bottom:0;z-index:3;border-top:1px solid rgba(255,255,255,.14);padding:1.6rem 0;background:rgba(28,35,22,.6);backdrop-filter:blur(8px)}
.hero-stats .container{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.hstat{display:flex;align-items:center;gap:.9rem}
.hstat i{color:var(--gold-bright);font-size:1.4rem;width:34px;text-align:center}
.hstat b{display:block;font-size:1.25rem;font-weight:700;line-height:1;color:#fff}
.hstat span{font-size:.76rem;color:rgba(255,255,255,.65)}

/* ============ PAGE HEADER (inner pages) ============ */
.page-header{padding:11rem 0 4rem;position:relative;overflow:hidden;text-align:center}
.page-header::before{content:"";position:absolute;inset:0;background:var(--ph-img,none) center/cover no-repeat;opacity:.85;z-index:0;filter:contrast(1.06) saturate(1.05)}
.page-header::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(28,35,22,.42),rgba(28,35,22,.68) 65%,rgba(28,35,22,.82) 100%)}
.page-header .gold-glow{width:520px;height:520px;top:-30%;left:50%;transform:translateX(-50%);z-index:1}
.page-header .hero-accent-ring{top:8%;left:6%;animation-duration:40s}
.page-header .hero-accent-blob{bottom:10%;right:6%;left:auto}
.page-header .container{position:relative;z-index:3}
.page-header .crumbs{color:rgba(255,255,255,.7);font-size:.8rem;letter-spacing:.06em;margin-top:1rem}
.page-header .crumbs a:hover{color:var(--gold)}
.page-header h1{font-size:clamp(1.9rem,4.2vw,3.1rem);font-weight:700;letter-spacing:-.02em;line-height:1.05;margin-top:1rem;color:#fff}
.page-header h1 .gold{background:linear-gradient(90deg,var(--gold) 0%,var(--gold-bright) 25%,var(--gold) 50%,var(--gold-soft) 75%,var(--gold) 100%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:goldShimmer 6s linear infinite}
.page-header p{color:rgba(255,255,255,.82);max-width:56ch;margin:1.2rem auto 0}

/* distinct entrance animation per page, so About/Products/Contact don't feel identical */
.page-header.anim-slideleft [data-hero-anim]{animation-name:phSlideLeft}
@keyframes phSlideLeft{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
.page-header.anim-zoom [data-hero-anim]{animation-name:phZoom}
@keyframes phZoom{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:none}}
.page-header.anim-drop [data-hero-anim]{animation-name:phDrop}
@keyframes phDrop{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:none}}

/* ============ MARQUEE ============ */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.5rem 0;overflow:hidden;background:var(--bg-2)}
.marquee-track{display:flex;gap:3.5rem;white-space:nowrap;width:max-content;animation:marq 34s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee span{font-size:clamp(1.2rem,2.4vw,2rem);font-weight:600;color:var(--white);opacity:.82;display:flex;align-items:center;gap:3.5rem}
.marquee .dot{color:var(--gold);-webkit-text-stroke:0}
@keyframes marq{to{transform:translateX(-50%)}}

/* ============ STATS ============ */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.stat-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:18px;padding:2.4rem 1.8rem;position:relative;overflow:hidden;transition:transform .6s var(--ease),border-color .6s var(--ease),box-shadow .6s var(--ease);box-shadow:0 20px 50px -30px rgba(34,34,34,.15)}
.stat-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:0;transition:opacity .5s}
.stat-card:hover{transform:translateY(-8px);border-color:var(--gold);box-shadow:0 30px 60px -25px rgba(200,161,90,.3)}
.stat-card:hover::before{opacity:1}
.stat-num{font-size:clamp(2.4rem,4.4vw,3.4rem);font-weight:700;color:var(--gold);line-height:1;letter-spacing:-.02em}
.stat-label{color:var(--gray);margin-top:.6rem;font-size:.9rem}

/* ============ CATEGORIES ============ */
.collection-layout{display:grid;grid-template-columns:270px 1fr;gap:2.6rem;align-items:start}
.cat-sidebar{background:var(--bg-2);border:1px solid var(--line-soft);border-radius:18px;padding:1.8rem 1.5rem;position:sticky;top:104px}
.cat-sidebar h3{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;margin-bottom:1rem}
.cat-sidebar ul{display:flex;flex-direction:column;gap:.3rem}
.cat-sidebar li a{display:flex;align-items:center;justify-content:space-between;padding:.75rem .6rem;border-radius:10px;font-size:.88rem;color:var(--white);transition:.3s var(--ease)}
.cat-sidebar li a span{display:flex;align-items:center;gap:.65rem}
.cat-sidebar li a i:first-child{color:var(--gold);width:16px;text-align:center}
.cat-sidebar li a i:last-child{font-size:.7rem;color:var(--gray-dim);transition:transform .3s var(--ease)}
.cat-sidebar li a:hover{background:rgba(200,161,90,.1);color:var(--gold)}
.cat-sidebar li a:hover i:last-child{transform:translateX(3px);color:var(--gold)}
.cat-sidebar-cta{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.2rem;padding:.8rem;border-radius:10px;background:var(--gold);color:#fff;font-size:.85rem;font-weight:600;transition:.35s var(--ease)}
.cat-sidebar-cta:hover{background:var(--gold-soft);transform:translateY(-2px)}
.cats{display:grid;grid-template-columns:repeat(6,1fr);gap:1.6rem}
.cat-card{grid-column:span 2;position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line-soft);min-height:380px;display:flex;flex-direction:column;justify-content:flex-end;padding:1.8rem;background:var(--panel);transition:border-color .6s var(--ease),transform .6s var(--ease),box-shadow .6s var(--ease);cursor:pointer;box-shadow:0 20px 50px -32px rgba(34,34,34,.18)}
.cat-card:nth-child(1),.cat-card:nth-child(2){grid-column:span 3}
.cat-card .cat-img{position:absolute;left:0;right:0;top:0;height:60%;display:flex;align-items:center;justify-content:center;padding:2.4rem 2.4rem 0;z-index:1}
.cat-card .cat-img img{height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 30px 40px rgba(0,0,0,.6));transition:transform .8s var(--ease)}
.cat-card .cat-halo{position:absolute;top:6%;left:50%;transform:translateX(-50%);width:74%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(200,161,90,.16),transparent 65%);z-index:0;transition:background .6s}
.cat-card .cat-meta{position:relative;z-index:3;padding-top:.5rem;border-top:1px solid var(--line-soft)}
.cat-idx{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--gold);letter-spacing:.2em}
.cat-card h3{font-size:1.5rem;font-weight:600;margin:.2rem 0 .3rem}
.cat-card p{color:var(--gray);font-size:.85rem;max-width:34ch}
.cat-card .cat-go{margin-top:1rem;display:inline-flex;align-items:center;gap:.5rem;color:var(--gold);font-size:.82rem;opacity:0;transform:translateY(8px);transition:.5s var(--ease)}
.cat-card .cat-go i{transition:transform .4s var(--ease)}
.cat-card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 30px 60px -25px rgba(200,161,90,.28)}
.cat-card:hover .cat-img img{transform:translateY(-10px) scale(1.04)}
.cat-card:hover .cat-halo{background:radial-gradient(circle,rgba(200,161,90,.32),transparent 62%)}
.cat-card:hover .cat-go{opacity:1;transform:translateY(0)}
.cat-card:hover .cat-go i{transform:translateX(4px)}
.cat-card::before{content:"";position:absolute;top:0;left:-60%;width:36%;height:100%;background:linear-gradient(115deg,transparent,rgba(200,161,90,.18),transparent);z-index:4;pointer-events:none;transition:left .85s var(--ease)}
.cat-card:hover::before{left:130%}

/* ============ PRODUCTS ============ */
.prod-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:3rem}
.filter-bar{display:flex;gap:.5rem;flex-wrap:wrap}
.filter-bar button{padding:.55rem 1.15rem;border-radius:40px;border:1px solid var(--line-soft);color:var(--gray);font-size:.82rem;transition:.35s var(--ease)}
.filter-bar button.active,.filter-bar button:hover{border-color:var(--gold);color:var(--gold);background:rgba(200,161,90,.06)}
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.9rem;transition:opacity .22s var(--ease),transform .22s var(--ease)}
.prod-grid.grid-fade{opacity:0;transform:scale(.98)}
.filter-bar button{transition:.35s var(--ease),transform .3s var(--ease)}
.filter-bar button:active{transform:scale(.94)}
.prod-card{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line-soft);background:var(--panel);transition:transform .6s var(--ease),border-color .6s var(--ease),box-shadow .6s var(--ease);cursor:pointer;display:flex;flex-direction:column;box-shadow:0 16px 40px -30px rgba(34,34,34,.15)}
.prod-card:hover{transform:translateY(-8px);border-color:var(--gold);box-shadow:0 30px 60px -25px rgba(200,161,90,.3)}
.prod-card:active{transform:translateY(-4px) scale(.98)}
.prod-card::before{content:"";position:absolute;top:0;left:-60%;width:36%;height:100%;background:linear-gradient(115deg,transparent,rgba(200,161,90,.16),transparent);z-index:5;pointer-events:none;transition:left .85s var(--ease)}
.prod-card:hover::before{left:130%}
.prod-media{position:relative;aspect-ratio:4/4.3;display:flex;align-items:center;justify-content:center;padding:2.2rem 2.2rem 2.6rem;overflow:hidden;background:radial-gradient(circle at 50% 82%,rgba(200,161,90,.08),transparent 60%) , #F7F6F2}
.prod-media .halo{position:absolute;bottom:-25%;left:50%;transform:translateX(-50%);width:75%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(200,161,90,.14),transparent 62%);transition:.6s}
.prod-media img{position:relative;z-index:2;height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 26px 34px rgba(34,34,34,.22));transition:transform .8s var(--ease)}
.prod-card:hover .prod-media img{transform:scale(1.06) translateY(-6px)}
.prod-card:hover .prod-media .halo{background:radial-gradient(circle,rgba(200,161,90,.3),transparent 60%)}
.prod-badge{position:absolute;top:1rem;left:1rem;z-index:3;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);border:1px solid var(--line);padding:.32rem .7rem;border-radius:30px;background:rgba(255,255,255,.9);transition:transform .45s var(--ease),background .45s,border-color .45s}
.prod-card:hover .prod-badge{transform:scale(1.08);border-color:var(--gold);background:rgba(200,161,90,.14)}
.prod-info{padding:1.4rem 1.5rem 1.6rem;border-top:1px solid var(--line-soft);background:var(--panel)}
.prod-info h3{font-size:1.34rem;font-weight:700;color:var(--sage-deep);font-family:'Playfair Display',serif;letter-spacing:-.01em}
.prod-info h3 .name-highlight{color:var(--gold-soft);font-weight:800}
.prod-info .dims{color:var(--gold);font-size:.78rem;letter-spacing:.04em;margin-top:.25rem}
.prod-info p{color:var(--gray);font-size:.83rem;margin:.55rem 0 1rem;min-height:2.4em}
.prod-info .view{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--white);transition:color .35s}
.prod-info .view i{transition:transform .4s var(--ease)}
.prod-card:hover .prod-info .view{color:var(--gold)}
.prod-card:hover .prod-info .view i{transform:translateX(4px)}

/* ============ WHY ============ */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}

/* process timeline */
.process-track{display:grid;grid-template-columns:repeat(4,1fr);gap:1.8rem;position:relative}
.process-track::before{content:"";position:absolute;top:34px;left:12.5%;right:12.5%;height:1px;background:repeating-linear-gradient(90deg,var(--gold) 0,var(--gold) 8px,transparent 8px,transparent 16px);opacity:.5;z-index:0}
.process-step{position:relative;z-index:1;text-align:center;padding:0 .5rem}
.process-icon{position:relative;width:68px;height:68px;margin:0 auto 1.4rem;border-radius:50%;background:var(--panel);border:2px solid var(--gold);display:grid;place-items:center;font-size:1.3rem;color:var(--gold);transition:.5s var(--ease);box-shadow:var(--shadow)}
.process-step:nth-child(even) .process-icon{border-color:var(--sage);color:var(--sage)}
.process-step:hover .process-icon{transform:translateY(-6px) scale(1.06)}
.process-no{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:var(--sage-deep);color:#fff;font-size:.68rem;font-weight:700;display:grid;place-items:center;font-family:'Playfair Display',serif}
.process-step h4{font-size:1.05rem;font-weight:600;margin-bottom:.5rem}
.process-step p{color:var(--gray);font-size:.85rem;line-height:1.6}
.why-card{border:1px solid var(--line-soft);border-radius:16px;padding:1.9rem 1.6rem;background:var(--panel);transition:.5s var(--ease);position:relative;overflow:hidden;box-shadow:0 16px 40px -32px rgba(34,34,34,.15)}
.why-card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 26px 50px -25px rgba(200,161,90,.28)}
.why-ico{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:rgba(200,161,90,.1);border:1px solid var(--line);color:var(--gold);font-size:1.15rem;margin-bottom:1.1rem;transition:.5s var(--ease)}
.why-ico.sage{background:rgba(107,122,94,.12);border-color:rgba(107,122,94,.4);color:var(--sage)}
.why-card:hover .why-ico{background:var(--gold);color:#fff}
.why-card:hover .why-ico.sage{background:var(--sage);color:#fff}
.why-card h4{font-size:1.02rem;font-weight:600;margin-bottom:.35rem}
.why-card p{color:var(--gray);font-size:.83rem}

/* ============ MANUFACTURING ============ */
.mfg{background:linear-gradient(180deg,rgba(251,248,242,.94),rgba(251,248,242,.97)),url("lifestyle/box-packing.jpg") center/cover no-repeat fixed}
.mfg-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:3rem}
.mfg-step{position:relative;border:1px solid var(--line-soft);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.85);backdrop-filter:blur(6px);transition:.5s var(--ease);box-shadow:0 20px 45px -30px rgba(34,34,34,.2)}
.mfg-step:hover{transform:translateY(-8px);border-color:var(--gold)}
.mfg-step .mfg-img{aspect-ratio:16/10;overflow:hidden;position:relative}
.mfg-step .mfg-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) contrast(1.05);transition:.7s var(--ease)}
.mfg-step:hover .mfg-img img{filter:grayscale(0);transform:scale(1.07)}
.mfg-step .mfg-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(28,35,22,.6))}
.mfg-step .mfg-step-no{position:absolute;top:1rem;left:1rem;z-index:2;font-family:'Cormorant Garamond',serif;font-size:2rem;color:var(--gold);line-height:1}
.mfg-step .mfg-body{padding:1.3rem 1.5rem 1.6rem}
.mfg-step h4{font-size:1.08rem;font-weight:600}
.mfg-step p{color:var(--gray);font-size:.83rem;margin-top:.3rem}

/* ============ TECHNOLOGY ============ */
.tech-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center}
.tech-list{display:flex;flex-direction:column;gap:.4rem;margin-top:2rem}
.tech-item{display:flex;align-items:center;gap:1.3rem;padding:1.3rem .4rem;border-bottom:1px solid var(--line-soft);transition:.5s var(--ease)}
.tech-item:hover{padding-left:1.2rem}
.tech-item .t-no{font-family:'Cormorant Garamond',serif;color:var(--gold);font-size:1.3rem;min-width:44px}
.tech-item h4{font-size:1.15rem;font-weight:500;flex:1}
.tech-item .t-bar{width:0;height:1px;background:var(--gold);transition:width .6s var(--ease)}
.tech-item:hover .t-bar{width:40px}
.tech-visual{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3.4;background:#F1EEE6;box-shadow:var(--shadow)}
.tech-visual img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2)}
.tech-visual .tv-tag{position:absolute;bottom:1.2rem;left:1.2rem;background:rgba(255,255,255,.88);backdrop-filter:blur(8px);border:1px solid var(--line);padding:.7rem 1.1rem;border-radius:12px;font-size:.8rem;color:var(--white)}
.tech-visual .tv-tag b{color:var(--gold)}

/* ============ ABOUT ============ */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.about-media{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/4.4}
.about-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.about-media-product{background:radial-gradient(circle at 50% 80%,rgba(200,161,90,.1),transparent 60%),var(--panel)}
.about-media-product img{object-fit:contain;padding:2.2rem;width:100% !important;height:100% !important;margin:0 !important;filter:drop-shadow(0 30px 40px rgba(38,41,31,.22))}
[data-parallax]{transition:none !important;transform:translateY(0);will-change:transform}
.about-media img[data-parallax]{width:118%;height:118%;margin:-9%}
.about-media:hover img{transform:scale(1.05)}
.about-badge{position:absolute;bottom:1.4rem;left:1.4rem;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:16px;padding:1.1rem 1.4rem;box-shadow:0 15px 40px -20px rgba(34,34,34,.25)}
.about-badge b{display:block;font-size:1.8rem;color:var(--gold);font-weight:700;line-height:1}
.about-badge span{font-size:.78rem;color:var(--gray)}
.chapters{margin-top:2.2rem;display:flex;flex-direction:column;gap:1.4rem}
.chapter{display:flex;gap:1.3rem;align-items:flex-start}
.chapter .c-no{font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:var(--gold);min-width:52px;line-height:1;border-right:1px solid var(--line);padding-right:1rem}
.chapter h4{font-size:1.02rem;font-weight:600;margin-bottom:.2rem}
.chapter p{color:var(--gray);font-size:.86rem}

/* ============ CTA ============ */
.cta-box{position:relative;border-radius:28px;overflow:hidden;padding:clamp(3rem,7vw,6rem);text-align:center;background:linear-gradient(120deg,#2A3320,#1C2417 60%);border:1px solid var(--line)}
.cta-box::before{content:"";position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:70%;aspect-ratio:1.6;border-radius:50%;background:radial-gradient(circle,rgba(200,161,90,.4),transparent 60%);filter:blur(60px)}
.cta-box h2{position:relative;font-size:clamp(1.7rem,4vw,2.8rem);font-weight:700;letter-spacing:-.02em;line-height:1.05;color:#fff}
.cta-box h2 .gold{color:var(--gold)}
.cta-box p{position:relative;color:rgba(255,255,255,.75);max-width:52ch;margin:1.1rem auto 2.2rem}
.cta-actions{position:relative;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ============ CONTACT ============ */
.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}
.c-card{border:1px solid var(--line-soft);border-radius:16px;padding:1.5rem;background:var(--panel);transition:.4s var(--ease);box-shadow:0 16px 40px -32px rgba(34,34,34,.15)}
.c-card:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 24px 50px -25px rgba(200,161,90,.28)}
.c-card i{color:var(--gold);font-size:1.2rem}
.c-card span{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gray-dim);margin:.8rem 0 .3rem}
.c-card a,.c-card p{font-size:.92rem;color:var(--white);word-break:break-word}
.map-wrap{margin-top:0;border:1px solid var(--line-soft);border-radius:16px;overflow:hidden;height:400px;position:relative;background:#F1EEE6}
.map-wrap iframe{width:100%;height:100%;border:0;filter:grayscale(.25) contrast(1.02)}
.contact-form{border:1px solid var(--line);border-radius:22px;padding:clamp(1.6rem,3vw,2.6rem);background:var(--panel);box-shadow:var(--shadow)}
.contact-form h3{font-size:1.5rem;font-weight:600;margin-bottom:.4rem}
.contact-form .fnote{color:var(--gray);font-size:.85rem;margin-bottom:1.6rem}
.field{margin-bottom:1.1rem}
.field label{display:block;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);margin-bottom:.5rem}
.field input,.field textarea,.field select{width:100%;padding:.9rem 1rem;background:#F8F9FA;border:1px solid var(--line-soft);border-radius:12px;color:var(--white);font-family:inherit;font-size:.92rem;transition:.35s var(--ease)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,161,90,.1)}
.field textarea{resize:vertical;min-height:120px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.form-msg{margin-top:1rem;font-size:.85rem;color:var(--gold);min-height:1.2em}

/* ============ FOOTER ============ */
footer{border-top:1px solid var(--line);background:#232B1C;padding:4rem 0 2rem}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:2.5rem}
.foot-brand .logo{margin-bottom:1.2rem}
.foot-brand p{color:rgba(255,255,255,.6);font-size:.86rem;max-width:34ch}
.foot-col h5{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem}
.foot-col a,.foot-col p{display:block;color:rgba(255,255,255,.65);font-size:.88rem;margin-bottom:.7rem;transition:color .3s}
.foot-col a:hover{color:var(--gold)}
.socials{display:flex;gap:.7rem;margin-top:1.4rem}
.socials a{width:40px;height:40px;border-radius:50%;border:1px solid var(--line-soft);display:grid;place-items:center;color:var(--gray);transition:.4s var(--ease);font-size:1rem}
.socials a:hover{transform:translateY(-3px)}
.socials a.s-fb{color:#1877F2;border-color:rgba(24,119,242,.35)}
.socials a.s-fb:hover{background:#1877F2;border-color:#1877F2;color:#fff}
.socials a.s-ig{color:#E1306C;border-color:rgba(225,48,108,.35)}
.socials a.s-ig:hover{background:linear-gradient(45deg,#f9ce34,#ee2a7b,#6228d7);border-color:transparent;color:#fff}
.socials a.s-wa{color:#25D366;border-color:rgba(37,211,102,.35)}
.socials a.s-wa:hover{background:#25D366;border-color:#25D366;color:#fff}
.foot-bottom{margin-top:3rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:rgba(255,255,255,.45);font-size:.8rem}

/* ============ MODAL ============ */
.modal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:2rem}
.modal.open{display:flex}
.modal-overlay{position:absolute;inset:0;background:rgba(28,35,22,.55);backdrop-filter:blur(10px);opacity:0;transition:opacity .5s var(--ease)}
.modal.open .modal-overlay{opacity:1}
.modal-card{position:relative;z-index:2;width:min(1100px,100%);max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:var(--shadow);transform:translateY(40px) scale(.97);opacity:0;transition:transform .6s var(--ease),opacity .5s var(--ease)}
.modal.open .modal-card{transform:translateY(0) scale(1);opacity:1}
.modal-close{position:sticky;top:0;float:right;margin:1rem 1rem 0 0;z-index:5;width:44px;height:44px;border-radius:50%;background:var(--panel);border:1px solid var(--line);display:grid;place-items:center;color:var(--white);transition:.35s var(--ease);box-shadow:0 10px 30px -15px rgba(34,34,34,.3)}
.modal-close:hover{background:var(--gold);color:#fff;transform:rotate(90deg)}
.modal-body{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:1rem 2.4rem 2.6rem}
.mg-main{position:relative;border:1px solid var(--line-soft);border-radius:18px;aspect-ratio:4/4.6;display:flex;align-items:center;justify-content:center;padding:2rem;overflow:hidden;background:radial-gradient(circle at 50% 80%,rgba(200,161,90,.08),transparent 60%),#F7F6F2}
.mg-main .mg-halo{position:absolute;bottom:-25%;left:50%;transform:translateX(-50%);width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(200,161,90,.22),transparent 62%)}
.mg-main img{position:relative;z-index:2;height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 30px 40px rgba(34,34,34,.22))}
.mg-thumbs{display:flex;gap:.7rem;margin-top:.9rem}
.mg-thumbs button{flex:1;aspect-ratio:1;border:1px solid var(--line-soft);border-radius:12px;overflow:hidden;padding:.5rem;background:#F8F9FA;transition:.35s var(--ease);display:flex;align-items:center;justify-content:center}
.mg-thumbs button.active,.mg-thumbs button:hover{border-color:var(--gold)}
.mg-thumbs img{max-height:100%;width:auto;object-fit:contain}
.modal-info .m-series{color:var(--gold);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}
.modal-info h2{font-size:2.5rem;font-weight:700;margin:.3rem 0 .2rem;letter-spacing:-.01em;font-family:'Playfair Display',serif;position:relative;display:inline-block;color:var(--sage-deep)}
.modal-info h2::after{content:"";position:absolute;left:0;bottom:-8px;width:52px;height:3px;background:var(--gold);border-radius:2px}
.modal-info h2 .name-highlight{color:var(--gold-soft);font-weight:800}
.modal-info .m-desc{color:var(--gray);font-size:.92rem;margin-bottom:1.4rem}
.dims-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-bottom:1.6rem}
.dim-box{border:1px solid var(--line-soft);border-radius:12px;padding:.9rem;text-align:center}
.dim-box b{display:block;font-size:1.3rem;color:var(--gold);font-weight:700}
.dim-box span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-dim)}
.m-tabs{display:flex;gap:.4rem;border-bottom:1px solid var(--line-soft);margin-bottom:1.2rem;flex-wrap:wrap}
.m-tabs button{padding:.6rem .9rem;font-size:.82rem;color:var(--gray);border-bottom:2px solid transparent;transition:.35s var(--ease)}
.m-tabs button.active{color:var(--gold);border-color:var(--gold)}
.m-panel{display:none}
.m-panel.active{display:block;animation:fadeUp .5s var(--ease)}
.m-panel ul li{display:flex;gap:.7rem;align-items:flex-start;color:var(--gray);font-size:.9rem;padding:.4rem 0}
.m-panel ul li.feat-highlight{color:var(--white);font-weight:600;background:rgba(200,161,90,.1);border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem;margin-bottom:.4rem}
.m-panel ul li.feat-highlight i{color:var(--gold)}
.m-panel ul li i{color:var(--gold);margin-top:.25rem;font-size:.8rem}
.m-panel .spec-row{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line-soft);font-size:.88rem}
.m-panel .spec-row span{color:var(--gray-dim)}
.m-panel .spec-row b{font-weight:500;text-align:right}
.modal-actions{display:flex;gap:.8rem;margin-top:1.8rem;flex-wrap:wrap}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ============ FLOATING WIDGETS ============ */
.floats{position:fixed;right:1.4rem;bottom:1.4rem;z-index:1500;display:flex;flex-direction:column;gap:.9rem;align-items:flex-end}
.float-btn{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;color:#fff;box-shadow:0 12px 30px -10px rgba(34,34,34,.35);transition:transform .4s var(--ease);position:relative}
.float-btn:hover{transform:scale(1.08) translateY(-2px)}
.float-wa{background:#25D366}
.float-wa::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;animation:pulseRing 2s ease-out infinite}
@keyframes pulseRing{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.7);opacity:0}}
.float-chat{background:linear-gradient(135deg,var(--gold),var(--gold-bright));color:#100d05}
.chat-panel{position:fixed;right:1.4rem;bottom:5.8rem;z-index:1600;width:min(360px,90vw);height:min(520px,72vh);background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;transform:translateY(20px) scale(.96);opacity:0;visibility:hidden;transition:.45s var(--ease)}
.chat-panel.open{transform:none;opacity:1;visibility:visible}
.chat-head{padding:1.1rem 1.2rem;background:linear-gradient(120deg,#2A3320,#1C2417);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:.8rem;color:#fff}
.chat-head img{height:34px;width:34px;border-radius:50%;background:var(--panel);padding:2px;object-fit:contain}
.chat-head b{font-size:.95rem;display:block;color:#fff}
.chat-head span{font-size:.72rem;color:#5fd18a;display:flex;align-items:center;gap:.35rem}
.chat-head span::before{content:"";width:7px;height:7px;border-radius:50%;background:#5fd18a}
.chat-head .chat-x{margin-left:auto;color:var(--gray);font-size:1.1rem}
.chat-body{flex:1;overflow-y:auto;padding:1.1rem;display:flex;flex-direction:column;gap:.7rem}
.msg{max-width:82%;padding:.7rem .9rem;border-radius:14px;font-size:.85rem;line-height:1.5}
.msg.bot{background:#F8F9FA;border:1px solid var(--line-soft);border-bottom-left-radius:4px;align-self:flex-start;color:var(--white)}
.msg.user{background:linear-gradient(120deg,var(--gold),var(--gold-bright));color:#fff;border-bottom-right-radius:4px;align-self:flex-end}
.chat-quick{display:flex;flex-wrap:wrap;gap:.45rem;padding:0 1.1rem .6rem}
.chat-quick button{font-size:.75rem;padding:.45rem .8rem;border:1px solid var(--line);border-radius:30px;color:var(--gold);background:rgba(200,161,90,.08);transition:.3s var(--ease)}
.chat-quick button:hover{background:var(--gold);color:#fff}
.chat-input{display:flex;gap:.5rem;padding:.8rem 1.1rem 1rem;border-top:1px solid var(--line-soft)}
.chat-input input{flex:1;background:#F8F9FA;border:1px solid var(--line-soft);border-radius:30px;padding:.7rem 1rem;color:var(--white);font-size:.85rem;font-family:inherit}
.chat-input input:focus{outline:none;border-color:var(--gold)}
.chat-input button{width:42px;height:42px;border-radius:50%;background:var(--gold);color:#fff;display:grid;place-items:center;flex-shrink:0}

/* reveal utility — content is VISIBLE by default; .revealed plays a one-shot
   entrance animation. This guarantees content never stays hidden. */
.reveal,.reveal-left,.reveal-right,.reveal-scale,.reveal-blur{opacity:1}
.revealed{animation:revealUp 1.15s var(--ease) both}
.reveal-left.revealed{animation-name:revealLeft}
.reveal-right.revealed{animation-name:revealRight}
.reveal-scale.revealed{animation-name:revealScale}
.reveal-blur.revealed{animation-name:revealBlur}
@keyframes revealUp{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
@keyframes revealLeft{from{opacity:0;transform:translateX(-46px)}to{opacity:1;transform:none}}
@keyframes revealRight{from{opacity:0;transform:translateX(46px)}to{opacity:1;transform:none}}
@keyframes revealScale{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
@keyframes revealBlur{from{opacity:0;filter:blur(12px);transform:translateY(18px)}to{opacity:1;filter:none;transform:none}}

/* page-header entrance (About / Products / Contact) — reuses hero-anim pattern */
.page-header [data-hero-anim]{opacity:0;animation:fadeUpIn .8s var(--ease) forwards}
@keyframes fadeUpIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.page-header .eyebrow[data-hero-anim]{animation-delay:.05s}
.page-header h1[data-hero-anim]{animation-delay:.18s}
.page-header p[data-hero-anim]{animation-delay:.38s}
.page-header .crumbs[data-hero-anim]{animation-delay:.54s}

/* stagger cascade so grid items don't all pop in at once */
.cats>.revealed:nth-child(1),.prod-grid>.revealed:nth-child(1),.why-grid>.revealed:nth-child(1),
.mfg-timeline>.revealed:nth-child(1),.hero-stats>.revealed:nth-child(1),.contact-cards>.revealed:nth-child(1),
.chapters>.revealed:nth-child(1),.dealer-benefits>.revealed:nth-child(1){animation-delay:.02s}
.cats>.revealed:nth-child(2),.prod-grid>.revealed:nth-child(2),.why-grid>.revealed:nth-child(2),
.mfg-timeline>.revealed:nth-child(2),.hero-stats>.revealed:nth-child(2),.contact-cards>.revealed:nth-child(2),
.chapters>.revealed:nth-child(2),.dealer-benefits>.revealed:nth-child(2){animation-delay:.1s}
.cats>.revealed:nth-child(3),.prod-grid>.revealed:nth-child(3),.why-grid>.revealed:nth-child(3),
.mfg-timeline>.revealed:nth-child(3),.hero-stats>.revealed:nth-child(3),.contact-cards>.revealed:nth-child(3),
.chapters>.revealed:nth-child(3),.dealer-benefits>.revealed:nth-child(3){animation-delay:.18s}
.cats>.revealed:nth-child(4),.prod-grid>.revealed:nth-child(4),.why-grid>.revealed:nth-child(4),
.mfg-timeline>.revealed:nth-child(4),.hero-stats>.revealed:nth-child(4),.contact-cards>.revealed:nth-child(4),
.chapters>.revealed:nth-child(4),.dealer-benefits>.revealed:nth-child(4){animation-delay:.26s}
.cats>.revealed:nth-child(5),.prod-grid>.revealed:nth-child(5),.why-grid>.revealed:nth-child(5),
.mfg-timeline>.revealed:nth-child(5),.hero-stats>.revealed:nth-child(5){animation-delay:.34s}
.cats>.revealed:nth-child(6),.prod-grid>.revealed:nth-child(6),.why-grid>.revealed:nth-child(6),
.mfg-timeline>.revealed:nth-child(6){animation-delay:.42s}
.prod-grid>.revealed:nth-child(7),.why-grid>.revealed:nth-child(7){animation-delay:.5s}
.prod-grid>.revealed:nth-child(8){animation-delay:.58s}

/* ============ DEALERSHIP ============ */
.dealer{position:relative;overflow:hidden}
.dealer-box{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:0;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:linear-gradient(120deg,#2A3320,#1C2417)}
.dealer-info{padding:clamp(2rem,4vw,3.6rem)}
.dealer-info h2{font-size:clamp(1.5rem,2.8vw,2.3rem);font-weight:700;letter-spacing:-.02em;line-height:1.06;margin-top:1rem;color:#fff}
.dealer-info h2 .gold{color:var(--gold)}
.dealer-info p{color:rgba(255,255,255,.72);margin:1rem 0 1.6rem;max-width:46ch}
.dealer-benefits{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:2rem}
.dealer-benefits li{display:flex;gap:.7rem;align-items:flex-start;font-size:.9rem;color:#fff}
.dealer-benefits li i{color:var(--gold);margin-top:.25rem}
.dealer-actions{display:flex;gap:.9rem;flex-wrap:wrap}
.dealer-visual{position:relative;min-height:340px;background:var(--bg-3)}
.dealer-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.1)}
.dealer-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,35,22,.9),transparent 40%)}
.dealer-stat{position:absolute;bottom:1.4rem;right:1.4rem;z-index:2;background:rgba(10,10,10,.6);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:16px;padding:1rem 1.3rem;text-align:right}
.dealer-stat b{display:block;font-size:1.6rem;color:var(--gold);font-weight:700;line-height:1}
.dealer-stat span{font-size:.75rem;color:var(--gray)}

/* ============ CATALOGUE BAND ============ */
.cata{position:relative}
.cata-box{display:grid;grid-template-columns:.8fr 1.2fr;gap:2.5rem;align-items:center;border:1px solid var(--line-soft);border-radius:26px;padding:clamp(1.8rem,3.5vw,3rem);background:linear-gradient(180deg,var(--bg-3),var(--bg-2))}
.cata-cover{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line);aspect-ratio:3/4;background:#F1EEE6;display:flex;align-items:center;justify-content:center}
.cata-cover img{width:100%;height:100%;object-fit:cover}
.cata-cover .cata-badge{position:absolute;top:1rem;left:1rem;background:var(--gold);color:#0a0a0a;font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:.35rem .7rem;border-radius:30px}
.cata-info h2{font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:700;letter-spacing:-.02em;line-height:1.08}
.cata-info h2 .gold{color:var(--gold)}
.cata-info p{color:var(--gray);margin:1rem 0 1.6rem;max-width:48ch}
.cata-points{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.8rem}
.cata-points li{display:flex;gap:.7rem;align-items:center;color:var(--white);font-size:.9rem}
.cata-points li i{color:var(--gold)}
.cata-actions{display:flex;gap:.9rem;flex-wrap:wrap}

/* ============ RESPONSIVE ============ */
@media (max-width:1024px){
  .hero{min-height:min(100vh,680px);display:flex}
  .hero-text-panel{max-width:100%;padding:7rem 1.6rem 6rem}
  .hero-photo-fade{background:linear-gradient(180deg,rgba(28,35,22,.35) 0%,rgba(28,35,22,.72) 60%,rgba(28,35,22,.85) 100%)}
  .hero-tag{display:none}
  .hero-stats .container{grid-template-columns:repeat(3,1fr);gap:1.4rem}
  .stats{grid-template-columns:repeat(2,1fr)}
  .cats{grid-template-columns:repeat(2,1fr)}
  .cat-card,.cat-card:nth-child(1),.cat-card:nth-child(2){grid-column:span 1}
  .prod-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid,.process-track{grid-template-columns:repeat(2,1fr);row-gap:2.5rem}
  .mfg-timeline{grid-template-columns:repeat(2,1fr)}
  .tech-grid,.about-grid{grid-template-columns:1fr;gap:2.4rem}
  .collection-layout{grid-template-columns:1fr;gap:1.6rem}
  .cat-sidebar{position:static}
  .contact-cards{grid-template-columns:repeat(2,1fr)}
  .about-media,.tech-visual{max-width:520px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .dealer-box,.cata-box{grid-template-columns:1fr}
  .dealer-visual{min-height:260px;order:-1}
  .modal-body{grid-template-columns:1fr;padding:1rem 1.4rem 2rem}
}
@media (max-width:640px){
  .nav-menu{position:fixed;inset:0 0 0 auto;width:80%;max-width:340px;flex-direction:column;justify-content:center;align-items:flex-start;gap:1.6rem;padding:2rem 2.4rem;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);border-left:1px solid var(--line);transform:translateX(100%);transition:transform .5s var(--ease);box-shadow:-20px 0 60px -20px rgba(34,34,34,.2)}
  .nav-menu.open{transform:translateX(0)}
  .nav-menu a{font-size:1.15rem;color:var(--white)}
  .nav-menu .mob-logo{margin-bottom:1rem}
  .nav-menu .mob-logo img{height:42px}
  .nav-menu .nav-cta{margin-top:1rem}
  .hamburger{display:flex}
  .desktop-only{display:none !important}
  .mobile-only{display:flex !important}
  .stats{grid-template-columns:1fr 1fr;gap:.8rem}
  .prod-grid,.cats,.why-grid,.mfg-timeline,.contact-cards,.form-row,.foot-grid,.dealer-benefits,.process-track{grid-template-columns:1fr}
  .process-track::before{display:none}
  .process-step{margin-bottom:1.5rem}
  .hero-stats .container{grid-template-columns:1fr 1fr;gap:1.2rem}
  .hero-tag{display:none}
  .prod-head{align-items:flex-start}
  .foot-bottom{flex-direction:column}
  .section-pad{padding:4rem 0}
  .page-header{padding:9rem 0 3rem}
}
