*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--f-body);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;}
img{max-width:100%;display:block;}
button,input,select,textarea{font-family:inherit;}

.container{max-width:1280px;margin:0 auto;padding:0 40px;}
.section{padding:6rem 0;}
.section-sm{padding:3.5rem 0;}

/* ── TYPOGRAPHY ── */
.display{font-family:var(--f-display);font-weight:600;font-size:var(--fs-display);line-height:.94;letter-spacing:-2px;}
.display em{font-style:italic;color:var(--rust);}
h1,.h1{font-family:var(--f-display);font-weight:600;font-size:var(--fs-h1);line-height:1.02;letter-spacing:-1.5px;}
h2,.h2{font-family:var(--f-display);font-weight:600;font-size:var(--fs-h2);line-height:1.05;letter-spacing:-.5px;}
h3,.h3{font-family:var(--f-display);font-weight:600;font-size:var(--fs-h3);}
.lead{font-size:var(--fs-lead);color:var(--muted);line-height:1.6;}
.eyebrow{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);}
.mono{font-variant-numeric:tabular-nums;}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:var(--fs-sm);
  text-transform:uppercase;letter-spacing:.06em;padding:14px 26px;border:1px solid var(--ink);
  background:transparent;color:var(--ink);cursor:pointer;text-decoration:none;transition:var(--t);}
.btn-solid{background:var(--ink);color:var(--paper);}
.btn-solid:hover{background:var(--rust);border-color:var(--rust);}
.btn-rust{background:var(--rust);border-color:var(--rust);color:var(--paper);}
.btn-rust:hover{background:var(--rust-dark);border-color:var(--rust-dark);}
.btn-ghost:hover{background:var(--ink);color:var(--paper);}
.btn-sm{padding:10px 18px;font-size:.75rem;}

/* ── NAV ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;
  padding:22px 40px;transition:var(--t);border-bottom:1px solid transparent;}
.nav.scrolled{background:rgba(247,242,233,.92);backdrop-filter:blur(14px);border-bottom-color:var(--line-strong);padding:16px 40px;}
.nav-logo{font-family:var(--f-display);font-weight:700;font-size:19px;letter-spacing:-.5px;text-decoration:none;color:var(--ink);white-space:nowrap;}
.nav-logo span{color:var(--brand-red);}
.nav-links{display:flex;gap:34px;list-style:none;}
.nav-links a{font-size:var(--fs-sm);font-weight:500;text-decoration:none;color:var(--ink);border-bottom:1px solid transparent;padding-bottom:2px;transition:var(--t);}
.nav-links a:hover,.nav-links a.active{border-color:var(--rust);color:var(--rust);}
.hamburger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px;}
.hamburger span{display:block;width:22px;height:1.5px;background:var(--ink);}
.mnav{display:none;position:fixed;inset:0;z-index:199;background:var(--paper);flex-direction:column;align-items:center;justify-content:center;gap:8px;}
.mnav.open{display:flex;}
.mnav-close{position:absolute;top:22px;right:30px;background:none;border:none;font-size:28px;cursor:pointer;}
.mnav a{font-family:var(--f-display);font-size:28px;font-weight:600;text-decoration:none;color:var(--ink);padding:10px 40px;}

/* ── FOOTER ── */
.footer{background:var(--ink);color:var(--paper);padding:5rem 0 2rem;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(247,242,233,.14);}
.footer-brand{font-family:var(--f-display);font-size:24px;font-weight:700;margin-bottom:.75rem;}
.footer-brand span{color:var(--brand-red);}
.footer-tagline{font-size:var(--fs-sm);color:rgba(247,242,233,.55);line-height:1.7;max-width:260px;}
.footer-col-title{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:rgba(247,242,233,.4);margin-bottom:1.1rem;}
.footer-list{list-style:none;display:flex;flex-direction:column;gap:.6rem;}
.footer-list a{color:rgba(247,242,233,.7);text-decoration:none;font-size:var(--fs-sm);}
.footer-list a:hover{color:var(--rust);}
.footer-contact{font-size:var(--fs-sm);color:rgba(247,242,233,.7);line-height:1.9;}
.footer-contact a{color:rgba(247,242,233,.85);text-decoration:none;}
.footer-bottom{display:flex;justify-content:space-between;padding-top:1.75rem;font-size:var(--fs-xs);color:rgba(247,242,233,.35);}

/* ── PAGE HERO (inner pages) ── */
.page-hero{padding:150px 0 60px;border-bottom:1px solid var(--line-strong);}
.breadcrumb{display:flex;gap:.5rem;font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:1.5rem;}
.breadcrumb a{text-decoration:none;color:var(--muted);}
.breadcrumb a:hover{color:var(--rust);}

/* ── REVEAL ── */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.rv.in{opacity:1;transform:translateY(0);}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}

/* ── FORMS ── */
.form-label{display:block;font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);margin-bottom:.5rem;}
.form-input,.form-select,.form-textarea{width:100%;padding:14px 16px;border:1px solid var(--line-strong);background:var(--white);
  font-size:var(--fs-body);font-family:var(--f-body);color:var(--ink);transition:var(--t);}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--rust);}
.form-textarea{resize:vertical;min-height:130px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-group{margin-bottom:1.25rem;}

/* ── CONTACT FABS (WhatsApp / Viber) ── */
.contact-fabs{position:fixed;bottom:26px;right:26px;z-index:150;display:flex;flex-direction:column;gap:12px;}
.whatsapp-fab{width:56px;height:56px;border-radius:50%;
  background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 16px rgba(0,0,0,.25);transition:var(--t);text-decoration:none;}
.whatsapp-fab:hover{transform:scale(1.08);}

/* ── UTIL ── */
.divider{height:1px;background:var(--line-strong);}
.badge{display:inline-flex;align-items:center;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;background:var(--badge-bg);color:var(--badge-fg);padding:5px 11px;}
.badge-outline{background:transparent;border:1px solid var(--line-strong);color:var(--ink);}

/* ── RESPONSIVE ── */
@media(max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:768px){
  .nav-links,.nav-cta{display:none;}
  .hamburger{display:flex;}
  .footer-grid{grid-template-columns:1fr;gap:2rem;}
  .footer-bottom{flex-direction:column;gap:.6rem;text-align:center;}
  .form-row{grid-template-columns:1fr;}
  .container{padding:0 22px;}
  .section{padding:4rem 0;}
}
