/* ===================================================================
   ACTIVE VIDA · premium site — shared stylesheet
   Warm "royal" palette (ivory + antique gold + espresso) over the
   live waterfall video. Real product photography. Custom cursor.
   =================================================================== */
:root{
  --ivory:#FBF6EE;
  --ivory-veil:rgba(252,247,239,.92);
  --ink:#2A211B;
  --ink-soft:#6B5B4E;
  --gold:#AE8B52;
  --gold-bright:#CBA968;
  --plum:#5C4663;
  --wine:#9E2B36;        /* brand red accent, used sparingly */
  --pearl:#FFF9F0;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Manrope',sans-serif;font-weight:300;color:var(--ink);line-height:1.75;overflow-x:hidden;background:#241C17}
::selection{background:var(--gold);color:var(--pearl)}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px;border-radius:2px}
img{max-width:100%;display:block}
h1,h2,h3,h4,.display{font-family:'Italiana',serif;font-weight:400;letter-spacing:.02em}
.serif-accent{font-family:'Cormorant Garamond',serif;font-style:italic}

/* ---------- LIVE VIDEO BACKDROP ---------- */
.bg-video,.bg-fallback{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}
.bg-fallback{z-index:-4;background:linear-gradient(180deg,#C9AFD2,#E0BFCB 32%,#F2D2C2 60%,#F4DCC6)}
.bg-wash{position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:radial-gradient(ellipse 70% 50% at 72% 4%,rgba(255,231,184,.28),transparent 60%),
  linear-gradient(180deg,rgba(42,33,27,.40) 0%,rgba(42,33,27,.22) 28%,rgba(42,33,27,.34) 60%,rgba(36,28,23,.66) 100%)}
.bg-tone{position:fixed;inset:0;z-index:-2;pointer-events:none;mix-blend-mode:soft-light;
  background:linear-gradient(180deg,rgba(255,213,150,.5),rgba(216,184,207,.28) 55%,rgba(255,222,180,.4))}
.grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E")}

/* ---------- CUSTOM CURSOR ---------- */
@media (pointer:fine){
  body.cursor-on{cursor:none}
  body.cursor-on a,body.cursor-on button,body.cursor-on .hov,body.cursor-on input,body.cursor-on textarea{cursor:none}
}
.cur-ring,.cur-drop{position:fixed;top:0;left:0;z-index:9999;pointer-events:none;will-change:transform}
.cur-ring{width:46px;height:46px;border:1.5px solid rgba(203,169,104,.6);border-radius:50%;margin:-23px 0 0 -23px;transition:width .25s ease,height .25s ease,margin .25s ease,background .25s ease,border-color .25s ease}
.cur-drop{width:20px;height:26px;margin:-2px 0 0 -10px;filter:drop-shadow(0 3px 6px rgba(30,80,110,.45))}
.cur-drop svg{width:100%;height:100%;display:block}
body.cur-hover .cur-ring{width:66px;height:66px;margin:-33px 0 0 -33px;background:rgba(203,169,104,.12);border-color:rgba(255,249,240,.8)}
body.cur-hover .cur-drop{filter:drop-shadow(0 3px 8px rgba(30,80,110,.55))}

/* faint move trail */
.ripple{position:fixed;z-index:9998;pointer-events:none;border-radius:50%;border:1.5px solid rgba(150,215,235,.5);transform:translate(-50%,-50%);animation:rip 1s ease-out forwards}
@keyframes rip{0%{width:6px;height:6px;opacity:.55}100%{width:54px;height:54px;opacity:0}}

/* click water-burst */
.splash{position:fixed;z-index:9997;pointer-events:none;border-radius:50%;margin:-4px 0 0 -4px;
  background:radial-gradient(circle at 35% 30%,#f2fdff,#8fd9ec 55%,#3f9fc0);
  box-shadow:0 0 7px rgba(130,215,238,.75)}
.splash-ring{position:fixed;z-index:9996;pointer-events:none;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;
  border:2px solid rgba(160,225,245,.8);animation:splashring .6s ease-out forwards}
@keyframes splashring{0%{transform:scale(.35);opacity:.85}100%{transform:scale(4.2);opacity:0}}

/* ---------- NAV ---------- */
nav.site{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:18px 6vw;background:linear-gradient(180deg,rgba(28,20,15,.55),transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
nav.site .logo{display:flex;align-items:baseline;gap:10px;text-decoration:none;color:var(--pearl)}
nav.site .logo .mark{font-family:'Italiana',serif;font-size:23px;letter-spacing:.34em;text-transform:uppercase;text-shadow:0 2px 14px rgba(0,0,0,.5)}
nav.site .logo .mark b{font-weight:400;color:var(--gold-bright)}
.nav-links{display:flex;gap:38px;list-style:none;align-items:center}
.nav-links a{color:rgba(255,249,240,.86);text-decoration:none;font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;transition:color .3s;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.nav-links a:hover,.nav-links a.active{color:var(--gold-bright)}
.nav-wa{border:1px solid rgba(255,249,240,.5);padding:11px 22px;border-radius:2px;font-size:11px!important;letter-spacing:.24em!important}
.nav-wa:hover{border-color:var(--gold-bright);background:rgba(203,169,104,.12)}
.nav-burger{display:none;background:none;border:none;color:var(--pearl);font-size:24px}

/* ---------- BUTTONS ---------- */
.btn{font-family:'Manrope',sans-serif;font-size:12px;letter-spacing:.3em;text-transform:uppercase;font-weight:600;padding:17px 40px;border-radius:2px;cursor:pointer;text-decoration:none;display:inline-block;transition:transform .35s,box-shadow .35s,background .35s,color .35s}
.btn-fill{background:var(--pearl);color:var(--ink);border:1px solid var(--pearl);box-shadow:0 14px 36px rgba(0,0,0,.32)}
.btn-fill:hover{transform:translateY(-3px);background:#fff;box-shadow:0 20px 46px rgba(0,0,0,.42)}
.btn-line{background:rgba(28,20,15,.22);color:var(--pearl);border:1px solid rgba(255,249,240,.55);backdrop-filter:blur(4px)}
.btn-line:hover{border-color:var(--gold-bright);color:var(--gold-bright);transform:translateY(-3px)}
.btn-dark{background:var(--ink);color:var(--pearl);border:1px solid var(--ink)}
.btn-dark:hover{background:#1d1611;transform:translateY(-3px)}
.btn-ink-line{background:transparent;color:var(--ink);border:1px solid rgba(42,33,27,.35)}
.btn-ink-line:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-3px)}

/* ---------- LAYOUT / PANELS ---------- */
main{position:relative;z-index:2}
.panel{max-width:1180px;margin:0 auto 100px;background:var(--ivory-veil);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(174,139,82,.24);border-radius:4px;padding:78px clamp(26px,6vw,84px);box-shadow:0 30px 80px rgba(36,28,23,.42);position:relative}
.panel::before{content:'';position:absolute;inset:13px;border:1px solid rgba(174,139,82,.26);border-radius:2px;pointer-events:none}
.window-gap{height:34vh}
.sec-label{font-size:11px;letter-spacing:.5em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:20px;display:block}
.sec-head{text-align:center;margin-bottom:50px}
h2{font-size:clamp(32px,4vw,52px);line-height:1.12}
h2 .serif-accent{color:var(--plum)}
.intro{color:var(--ink-soft);font-size:16px}

/* page banner (sub-pages) */
.page-banner{position:relative;z-index:2;text-align:center;padding:170px 6vw 60px;color:var(--pearl)}
.page-banner .kicker{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;color:var(--gold-bright);text-shadow:0 2px 14px rgba(0,0,0,.5)}
.page-banner h1{font-size:clamp(46px,6vw,84px);color:#EBCB80;text-shadow:0 3px 26px rgba(0,0,0,.7),0 0 2px rgba(0,0,0,.55)}
.page-banner .crumbs{margin-top:14px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,249,240,.75);font-weight:500}
.page-banner .crumbs a{color:var(--gold-bright);text-decoration:none}

/* ---------- FEATURE TRIO ---------- */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}
.trio .it{padding:36px 30px;border:1px solid rgba(174,139,82,.22);border-radius:4px;background:#FFFDF8;transition:transform .4s,box-shadow .4s}
.trio .it:hover{transform:translateY(-7px);box-shadow:0 24px 50px rgba(36,28,23,.18)}
.trio .it .ic{width:46px;height:46px;margin-bottom:20px;color:var(--gold)}
.trio .it h4{font-size:21px;margin-bottom:10px}
.trio .it p{font-size:14px;color:var(--ink-soft)}

/* ---------- PRODUCT CARDS ---------- */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pcard{position:relative;background:#FFFDF8;border:1px solid rgba(174,139,82,.26);border-radius:4px;padding:30px 26px 26px;text-align:center;overflow:hidden;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s,border-color .5s}
.pcard::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);transition:transform .5s}
.pcard:hover{transform:translateY(-10px);box-shadow:0 30px 60px rgba(36,28,23,.22);border-color:rgba(174,139,82,.5)}
.pcard:hover::after{transform:scaleX(1)}
.pcard .use{position:absolute;top:16px;left:16px;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:600;border:1px solid rgba(174,139,82,.4);padding:5px 11px;border-radius:40px}
.pcard .shot{height:280px;display:flex;align-items:center;justify-content:center;margin:8px 0 14px}
.pcard .shot img{height:100%;width:auto;object-fit:contain;transition:transform .6s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 18px 26px rgba(36,28,23,.22))}
.pcard:hover .shot img{transform:translateY(-8px) scale(1.06)}
.pcard h3{font-size:24px;line-height:1.05}
.pcard .desc{font-size:13px;color:var(--ink-soft);margin-top:12px;min-height:54px}
.pcard .row{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:18px;border-top:1px solid rgba(174,139,82,.22)}
.pcard .price .amt{font-family:'Italiana',serif;font-size:32px;color:var(--ink);line-height:1}
.pcard .price .lbl{display:block;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-top:2px}
.pcard .buy{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--pearl);background:var(--ink);padding:13px 20px;border-radius:2px;text-decoration:none;transition:background .3s,transform .3s}
.pcard .buy:hover{background:var(--gold);transform:translateY(-2px)}

/* ---------- GALLERY ---------- */
.gallery-grid{column-count:4;column-gap:16px}
.gallery-grid a{display:block;margin-bottom:16px;border-radius:4px;overflow:hidden;border:1px solid rgba(174,139,82,.25);background:#FFFDF8;break-inside:avoid;position:relative}
.gallery-grid img{width:100%;transition:transform .7s ease,filter .5s ease;filter:saturate(1.03)}
.gallery-grid a::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(42,33,27,.45));opacity:0;transition:opacity .5s}
.gallery-grid a:hover img{transform:scale(1.06)}
.gallery-grid a:hover::after{opacity:1}

/* lightbox */
.lb{position:fixed;inset:0;z-index:9000;background:rgba(20,14,10,.92);display:none;align-items:center;justify-content:center;padding:5vw}
.lb.open{display:flex}
.lb img{max-width:90vw;max-height:88vh;border-radius:4px;box-shadow:0 40px 90px rgba(0,0,0,.6)}
.lb .x{position:absolute;top:24px;right:30px;color:var(--pearl);font-size:34px;background:none;border:none;cursor:pointer}
.lb .ar{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,249,240,.12);border:1px solid rgba(255,249,240,.4);color:var(--pearl);width:54px;height:54px;border-radius:50%;font-size:22px;cursor:pointer}
.lb .ar.l{left:24px}.lb .ar.r{right:24px}

/* ---------- TESTIMONIALS ---------- */
.tgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:46px}
.tcard{background:#FFFDF8;border:1px solid rgba(174,139,82,.22);border-radius:4px;padding:34px 32px}
.tcard p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--ink);line-height:1.6}
.tcard .who{display:flex;align-items:center;gap:14px;margin-top:20px}
.tcard .who .av{width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--pearl);display:flex;align-items:center;justify-content:center;font-family:'Italiana',serif;font-size:18px}
.tcard .who b{font-weight:600;font-family:'Manrope';font-size:14px;letter-spacing:.04em}
.tcard .who span{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:600}

/* ---------- CONTACT ---------- */
.contact-wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:start}
.cinfo .line{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid rgba(174,139,82,.22)}
.cinfo .line .ic{width:24px;height:24px;color:var(--gold);flex-shrink:0;margin-top:3px}
.cinfo .line a,.cinfo .line span{color:var(--ink-soft);text-decoration:none;font-size:15px}
.cinfo .line a:hover{color:var(--gold)}
.cform{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cform .full{grid-column:1/-1}
.cform input,.cform textarea{width:100%;background:#FFFDF8;border:1px solid rgba(174,139,82,.3);border-radius:3px;padding:15px 16px;font-family:'Manrope';font-size:14px;color:var(--ink);transition:border-color .3s}
.cform input:focus,.cform textarea:focus{outline:none;border-color:var(--gold)}
.cform textarea{min-height:130px;resize:vertical}
.map-wrap{margin-top:40px;border:1px solid rgba(174,139,82,.3);border-radius:4px;overflow:hidden}
.map-wrap iframe{width:100%;height:360px;border:0;display:block;filter:sepia(.15) saturate(1.05)}

/* ---------- FOOTER ---------- */
footer.site{position:relative;z-index:2;background:linear-gradient(180deg,rgba(42,33,27,.96),rgba(28,20,15,.98));backdrop-filter:blur(8px);color:#EFE4D4;padding:80px 6vw 42px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1.3fr;gap:56px;max-width:1180px;margin:0 auto 56px}
.foot-grid h4{font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:20px;font-weight:600;font-family:'Manrope'}
.foot-grid p,.foot-grid a,.foot-grid li{font-size:14px;color:rgba(239,228,212,.75);font-weight:300;text-decoration:none;margin-bottom:10px;list-style:none}
.foot-grid a:hover{color:var(--gold-bright)}
.foot-logo{font-family:'Italiana',serif;font-size:25px;letter-spacing:.34em;text-transform:uppercase;margin-bottom:18px;color:var(--pearl)}
.foot-logo b{font-weight:400;color:var(--gold-bright)}
.news{display:flex;gap:8px;margin-top:6px}
.news input{flex:1;background:rgba(255,249,240,.08);border:1px solid rgba(203,169,104,.3);border-radius:3px;padding:12px 14px;color:var(--pearl);font-family:'Manrope';font-size:13px}
.news button{background:var(--gold);border:none;color:var(--pearl);padding:0 18px;border-radius:3px;cursor:pointer;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.foot-bottom{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:28px;border-top:1px solid rgba(203,169,104,.2);font-size:12px;color:rgba(239,228,212,.45);letter-spacing:.1em}

/* whatsapp float */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:95;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .3s}
.wa-float:hover{transform:scale(1.1)}
.wa-float svg{width:30px;height:30px;fill:#fff}

/* reveal */
.reveal{opacity:0;transform:translateY(34px);transition:opacity 1s ease,transform 1s ease}
.reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

@media (max-width:1000px){
  .nav-links{position:fixed;inset:0 0 0 auto;width:74%;max-width:320px;flex-direction:column;justify-content:center;gap:30px;background:rgba(28,20,15,.97);transform:translateX(100%);transition:transform .4s ease;padding:40px}
  .nav-links.open{transform:none}
  .nav-burger{display:block;z-index:101}
  .trio,.pgrid{grid-template-columns:1fr 1fr}
  .tgrid{grid-template-columns:1fr}
  .gallery-grid{column-count:2}
  .contact-wrap{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;gap:36px}
  .panel{margin-left:5vw;margin-right:5vw}
}
@media (max-width:600px){.pgrid,.trio{grid-template-columns:1fr}.gallery-grid{column-count:1}.cform{grid-template-columns:1fr}}
