/* HEADER */
.site-header{position:fixed;top:0;left:0;right:0;z-index:900;background:rgba(245,242,238,.93);backdrop-filter:blur(14px) saturate(150%);border-bottom:1px solid var(--rule)}
.header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:64px;gap:24px}
.logo{font-family:var(--fd);font-size:17px;font-weight:300;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.logo-mark{width:26px;height:26px;border:1px solid var(--ink-40);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px}
.mnav{display:flex;gap:0;align-items:center;justify-content:center}
.mnav a{font-size:10px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-40);padding:8px 14px;transition:color .2s;position:relative}
.mnav a::after{content:'';position:absolute;bottom:4px;left:14px;right:14px;height:1px;background:var(--ink);transform:scaleX(0);transition:transform .25s;transform-origin:left}
.mnav a:hover{color:var(--ink)}
.mnav a:hover::after,.mnav a.active::after{transform:scaleX(1)}
.mnav a.active{color:var(--ink)}
.hactions{display:flex;gap:6px;align-items:center;justify-content:flex-end}
.hbtn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--ink-40);border:1px solid transparent;transition:all .2s;position:relative;font-size:13px}
.hbtn:hover{color:var(--ink);border-color:var(--rule)}
.hnav-text{font-size:10px;font-weight:400;letter-spacing:.10em;text-transform:uppercase;color:var(--ink-70);padding:0 4px;white-space:nowrap;transition:color .2s}
.hnav-text:hover{color:var(--ink)}
.cdot{position:absolute;top:5px;right:5px;width:5px;height:5px;background:var(--accent);border-radius:50%}
.hamburger{display:none;flex-direction:column;gap:5px;padding:8px}
.hamburger span{width:20px;height:1px;background:var(--ink-70);display:block}
@media(max-width:840px){.mnav{display:none}.hamburger{display:flex}}
@media(max-width:680px){.hnav-text{display:none}}

/* MOBILE MENU */
.mmenu{position:fixed;inset:0;z-index:2000;pointer-events:none}
.mmenu-ov{position:absolute;inset:0;background:transparent;transition:background .3s}
.mmenu-panel{position:absolute;top:0;right:0;width:min(280px,84vw);height:100%;background:var(--white);border-left:1px solid var(--rule);transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1)}
.mmenu.open{pointer-events:all}
.mmenu.open .mmenu-ov{background:rgba(10,10,10,.32)}
.mmenu.open .mmenu-panel{transform:translateX(0)}
.mmenu-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--rule)}
.mmenu-close{width:32px;height:32px;border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;font-size:14px}
.mmenu nav{display:flex;flex-direction:column;padding:8px 24px}
.mmenu nav a{display:block;padding:14px 0;font-family:var(--fs);font-size:16px;color:var(--ink-70);border-bottom:1px solid var(--rule)}

/* BUTTONS */
.btn-ink{display:inline-flex;align-items:center;gap:10px;padding:12px 28px;background:var(--ink);color:var(--white);font-size:10px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--ink);transition:all .25s}
.btn-ink:hover{background:transparent;color:var(--ink)}
.btn-out{display:inline-flex;align-items:center;gap:10px;padding:12px 28px;background:transparent;color:var(--ink);font-size:10px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--rule);transition:all .25s}
.btn-out:hover{border-color:var(--ink)}
.btn-txt{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-70);border-bottom:1px solid var(--rule);padding-bottom:2px;transition:all .2s}
.btn-txt:hover{color:var(--ink);border-color:var(--ink)}
.btn-block{width:100%;justify-content:center}

/* HERO */
.hero{min-height:70svh;padding-top:64px;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden}
.hero-left{display:flex;flex-direction:column;justify-content:flex-end;padding:80px 60px 80px 40px;position:relative;z-index:2}
.hero-index{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-40);margin-bottom:48px}
.hero-title{font-family:var(--fd);font-size:clamp(40px,6vw,96px);font-weight:300;letter-spacing:-.03em;line-height:.93;margin-bottom:32px}
.hero-title em{font-style:italic;color:var(--accent)}
.hero-sub{font-family:var(--fs);font-size:17px;color:var(--ink-70);line-height:1.7;max-width:360px;margin-bottom:52px}
.hero-ctas{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:64px}
.hero-stats{display:flex;gap:40px;flex-wrap:wrap}
.stat-n{font-family:var(--fd);font-size:36px;font-weight:300;line-height:1}
.stat-l{font-size:10px;letter-spacing:.10em;text-transform:uppercase;color:var(--ink-40);margin-top:4px}
.hero-right{position:relative;overflow:hidden;background:var(--paper2);min-height:320px}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
.hero-overlay-caption{position:absolute;bottom:32px;right:32px;z-index:2;text-align:right}
.hero-overlay-caption .cap{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,242,238,.75)}
.hero-overlay-caption p{font-family:var(--fs);font-style:italic;font-size:13px;color:rgba(245,242,238,.60);margin-top:4px}
@media(max-width:840px){.hero{grid-template-columns:1fr}.hero-right{height:320px}.hero-left{padding:48px 20px}}

/* SECTION HEADER */
.sec-head{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:40px;margin-bottom:56px;padding-top:96px}
.sec-head .cap{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40);margin-bottom:12px}
.sec-title{font-family:var(--fd);font-size:clamp(32px,4vw,60px);font-weight:300;letter-spacing:-.02em;line-height:1.0}
.sec-title em{font-style:italic}
.sec-line{height:1px;background:var(--rule);align-self:center;margin-bottom:12px}
@media(max-width:640px){.sec-head{grid-template-columns:1fr;gap:12px;padding-top:56px}.sec-line{display:none}}

/* TRUST MARQUEE */
.trust-bar{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);overflow-x:auto;scrollbar-width:none}
.trust-bar::-webkit-scrollbar{display:none}
.trust-track{display:flex;white-space:nowrap}
.trust-item{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:14px 36px;border-right:1px solid var(--rule);font-size:10px;letter-spacing:.10em;text-transform:uppercase;color:var(--ink-70)}
.trust-item strong{color:var(--ink)}

/* FOOTER */
.site-footer{margin-top:120px;border-top:1px solid var(--rule);padding:80px 0 40px;background:var(--paper)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:64px}
.foot-brand-name{font-family:var(--fd);font-size:28px;font-weight:300;letter-spacing:-.01em;margin-bottom:16px}
.foot-brand-desc{font-family:var(--fs);font-size:14px;color:var(--ink-70);line-height:1.7;max-width:280px}
.foot-col-title{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40);margin-bottom:20px}
.foot-links{display:flex;flex-direction:column;gap:10px}
.foot-links a{font-family:var(--fs);font-size:14px;color:var(--ink-70);transition:color .2s}
.foot-links a:hover{color:var(--ink)}
.foot-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:28px;border-top:1px solid var(--rule);font-size:10px;color:var(--ink-40);flex-wrap:wrap;gap:12px}
.foot-social{display:flex;gap:14px}
.foot-social a{font-size:11px;color:var(--ink-40);transition:color .2s;letter-spacing:.08em}
.foot-social a:hover{color:var(--ink)}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.foot-grid{grid-template-columns:1fr}}

/* FORMS (login, cadastro, checkout, perfil) */
.fgrp{margin-bottom:22px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.flbl{display:block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40);margin-bottom:8px}
.finp,.fsel{width:100%;background:none;border:none;border-bottom:1px solid var(--rule);padding:8px 0;font-family:var(--fs);font-size:16px;color:var(--ink);transition:border-color .2s}
.finp:focus,.fsel:focus{outline:none;border-color:var(--ink)}
.finp::placeholder{color:var(--ink-40)}
.auth-card{max-width:420px;margin:0 auto;padding-top:64px;padding-bottom:100px}
.form-error{border:1px solid var(--red);color:var(--red);padding:12px 16px;font-family:var(--fs);font-size:14px;margin-bottom:24px}
.form-success{border:1px solid var(--accent);color:var(--accent);padding:12px 16px;font-family:var(--fs);font-size:14px;margin-bottom:24px}
.form-check{display:flex;align-items:flex-start;gap:10px;font-family:var(--fs);font-size:13px;color:var(--ink-70);line-height:1.5}
.form-check input{width:15px;height:15px;margin-top:2px;accent-color:var(--ink);flex-shrink:0}
@media(max-width:640px){.frow{grid-template-columns:1fr}}

/* TOAST (flash messages) */
.toast-wrap{position:fixed;bottom:24px;right:24px;left:24px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}
.toast{display:flex;align-items:center;gap:12px;padding:14px 20px;background:var(--ink);color:var(--white);font-size:12px;letter-spacing:.02em;max-width:360px;pointer-events:all}
.toast.success{border-left:3px solid var(--accent)}
.toast.error{border-left:3px solid var(--red)}

/* EMPTY */
.empty{text-align:center;padding:100px 24px}
.empty-icon{font-family:var(--fd);font-size:72px;font-weight:300;color:var(--ink-15);margin-bottom:20px}
.empty-title{font-family:var(--fd);font-size:30px;font-weight:300;margin-bottom:12px}
.empty-sub{font-family:var(--fs);font-size:16px;color:var(--ink-40);margin-bottom:32px}

/* SCROLL/LAYOUT UTILS */
.page-pad{padding-top:64px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 24px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 28px}
@media(max-width:1100px){.g4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.g4,.g3{grid-template-columns:repeat(2,1fr);gap:24px 14px}}
@media(max-width:420px){.g4,.g3{grid-template-columns:1fr}}
