*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;overflow-x:hidden;background:#faf9f7;color:#281810}
::selection{background:#7d1414;color:#fff}
.font-serif{font-family:'DM Serif Display',serif}
.tight{letter-spacing:-0.02em}

/* ── GLASS SYSTEM ── */
.gl{background:rgba(255,255,255,0.45);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid rgba(255,255,255,0.55);box-shadow:0 1px 2px rgba(0,0,0,0.03),0 8px 24px rgba(0,0,0,0.025)}
.gl-strong{background:rgba(255,255,255,0.6);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border:1px solid rgba(255,255,255,0.65);box-shadow:0 1px 2px rgba(0,0,0,0.03),0 20px 40px -8px rgba(0,0,0,0.07)}
.gl-d{background:rgba(255,255,255,0.06);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid rgba(255,255,255,0.09);box-shadow:inset 0 1px 0 rgba(255,255,255,0.05),0 8px 24px rgba(0,0,0,0.08)}
.gl-d-strong{background:rgba(255,255,255,0.09);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border:1px solid rgba(255,255,255,0.12);box-shadow:inset 0 1px 0 rgba(255,255,255,0.08),0 20px 40px -8px rgba(0,0,0,0.12)}
.gl-hero{background:rgba(250,249,247,0.75);backdrop-filter:blur(32px) saturate(1.5);-webkit-backdrop-filter:blur(32px) saturate(1.5);border:1px solid rgba(255,255,255,0.55);box-shadow:0 1px 0 rgba(255,255,255,0.5),0 32px 64px -16px rgba(0,0,0,0.08)}

/* ── AMBIENT LAYERS ── */
.ambient{position:fixed;inset:0;pointer-events:none;z-index:-2}
.ambient::before{content:'';position:absolute;top:-20%;right:-15%;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(circle,rgba(125,20,20,0.035) 0%,transparent 65%);animation:ambientDrift 25s ease-in-out infinite alternate}
.ambient::after{content:'';position:absolute;bottom:-15%;left:-10%;width:50vw;height:50vw;border-radius:50%;background:radial-gradient(circle,rgba(42,26,18,0.04) 0%,transparent 60%);animation:ambientDrift 30s ease-in-out infinite alternate-reverse}
@keyframes ambientDrift{0%{transform:translate(0,0)}100%{transform:translate(3%,20px)}}

/* Floating orbs for tinto sections */
.orb{position:absolute;pointer-events:none;opacity:0.04;color:#ff877d}
.orb-1{width:280px;height:auto;top:8%;right:4%;animation:orbFloat 22s ease-in-out infinite alternate}
.orb-2{width:200px;height:auto;bottom:12%;left:6%;animation:orbFloat 28s ease-in-out infinite alternate-reverse;opacity:0.03}
@keyframes orbFloat{0%{transform:translate(0,0) scale(1)}50%{transform:translate(20px,-15px) scale(1.05)}100%{transform:translate(-10px,10px) scale(0.97)}}

/* Watermark */
.wm{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'DM Serif Display',serif;font-size:38vw;color:#7d1414;opacity:0.01;z-index:-1;user-select:none;pointer-events:none;line-height:1}

/* Noise overlay */
body::before{content:'';position:fixed;inset:0;opacity:.018;z-index:-3;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.material-symbols-outlined{font-variation-settings:'FILL' 0,'wght' 300,'GRAD' 0,'opsz' 24}

/* ── MICRO INTERACTIONS ── */
.lift{transition:transform .45s cubic-bezier(.25,.46,.45,.94),box-shadow .45s ease}
.lift:hover{transform:translateY(-4px)}
.lift-glow:hover{box-shadow:0 20px 40px -8px rgba(90,0,5,0.08),0 0 0 1px rgba(125,20,20,0.04)}
.lift-glow-d:hover{box-shadow:0 20px 40px -8px rgba(0,0,0,0.25),inset 0 1px 0 rgba(255,255,255,0.1)}

/* Magnetic tilt on cards */
.tilt{transition:transform .4s cubic-bezier(.25,.46,.45,.94)}

/* ── BUTTONS ── */
.btn-p{position:relative;background:linear-gradient(135deg,#7d1414,#5a0005);color:#fff;overflow:hidden;transition:all .35s ease;box-shadow:0 2px 8px rgba(90,0,5,0.2);border-radius:.7rem}
.btn-p::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,0.12),transparent 60%);opacity:0;transition:opacity .35s}
.btn-p:hover{box-shadow:0 8px 28px rgba(90,0,5,0.3);transform:translateY(-1px)}
.btn-p:hover::before{opacity:1}
.btn-w{background:#fff;color:#5a0005;transition:all .35s ease;box-shadow:0 2px 8px rgba(0,0,0,0.06);border-radius:.7rem;position:relative;overflow:hidden}
.btn-w::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,218,214,0.4),transparent 60%);opacity:0;transition:opacity .35s}
.btn-w:hover{box-shadow:0 8px 28px rgba(0,0,0,0.1);transform:translateY(-1px)}
.btn-w:hover::before{opacity:1}
.btn-g{border:1.5px solid rgba(40,24,16,0.12);color:#281810;transition:all .35s ease;border-radius:.7rem}
.btn-g:hover{border-color:#7d1414;color:#7d1414;background:rgba(125,20,20,0.02)}

/* ── PILL SHIMMER ── */
.pill{position:relative;overflow:hidden}
.pill::after{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);transition:left .6s ease}
.pill:hover::after{left:120%}

/* ── REVEAL SYSTEM ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.fade-up{animation:fadeUp .8s cubic-bezier(.25,.46,.45,.94) both}
.rv{opacity:0;transform:translateY(28px);transition:opacity .65s cubic-bezier(.25,.46,.45,.94),transform .65s cubic-bezier(.25,.46,.45,.94)}
.rv.vis{opacity:1;transform:translateY(0)}
/* Stagger children */
.stagger>.rv:nth-child(1){transition-delay:0s}
.stagger>.rv:nth-child(2){transition-delay:.08s}
.stagger>.rv:nth-child(3){transition-delay:.16s}
.stagger>.rv:nth-child(4){transition-delay:.24s}

/* ── SCROLL PROGRESS ── */
.sp{position:fixed;top:0;left:0;height:2px;z-index:100;background:linear-gradient(90deg,#ff877d,#ffdad6,#ff877d);background-size:200% 100%;animation:shimmerBar 3s linear infinite;transform-origin:left}
@keyframes shimmerBar{0%{background-position-x:200%}100%{background-position-x:-200%}}

/* ── SEPARATOR LINE ── */
.sep{height:1px;background:linear-gradient(90deg,transparent,rgba(125,20,20,0.1),transparent)}
.sep-light{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.08),transparent)}

/* Pain accent */
.pa{position:relative;overflow:hidden}
.pa::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(to bottom,#ff877d,#7d1414);border-radius:3px;transition:width .35s ease}
.pa:hover::before{width:5px}

/* Quote */
.qm{font-family:'DM Serif Display',serif;font-size:5rem;line-height:1;color:#ff877d;opacity:.2;position:absolute;top:-6px;left:18px}

/* Diff icon */
.di{width:50px;height:50px;border-radius:.7rem;display:flex;align-items:center;justify-content:center;transition:all .4s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden}
.di::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(125,20,20,0.15),transparent);opacity:0;transition:opacity .35s}
.lift:hover .di::before{opacity:1}
.lift:hover .di{transform:scale(1.05)}

/* Contact input */
.ci{background:transparent;border:none;border-bottom:1.5px solid rgba(255,255,255,0.12);padding:13px 0;color:#fff;outline:none;width:100%;transition:border-color .35s ease,box-shadow .35s ease;font-family:'DM Sans',sans-serif;font-size:15px}
.ci:focus{border-color:#ff877d;box-shadow:0 2px 8px rgba(255,135,125,0.08)}
.ci::placeholder{color:rgba(255,255,255,0.28)}

/* FABs */
.fab{position:fixed;z-index:90;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .35s cubic-bezier(.25,.46,.45,.94)}
.fab-wa{bottom:24px;right:24px;width:56px;height:56px;background:#25D366;border-radius:.7rem;box-shadow:0 4px 16px rgba(37,211,102,0.3)}
.fab-wa:hover{transform:scale(1.06) translateY(-2px);box-shadow:0 8px 28px rgba(37,211,102,0.35)}
.fab-top{bottom:90px;right:24px;width:40px;height:40px;background:linear-gradient(135deg,#7d1414,#5a0005);border-radius:.7rem;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;box-shadow:0 4px 12px rgba(90,0,5,0.25)}
.fab-top.show{opacity:1;pointer-events:auto}
.fab-top:hover{transform:translateY(-2px)}

/* Logo */

/* Arch grid */
.ag{background-image:radial-gradient(rgba(255,255,255,0.1) 0.5px,transparent 0.5px);background-size:60px 60px}

/* Stat */
.sn{background:linear-gradient(135deg,#7d1414,#5a0005);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Animated gradient border for hero */
@keyframes borderGlow{0%{opacity:.4}50%{opacity:.7}100%{opacity:.4}}
.hero-border{position:absolute;inset:-1px;border-radius:1rem;background:linear-gradient(135deg,rgba(125,20,20,0.15),rgba(255,218,214,0.1),rgba(125,20,20,0.08));z-index:-1;animation:borderGlow 4s ease-in-out infinite}

/* Counter animation */
@keyframes countPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}100%{transform:scale(1)}}

/* Section divider decorative */
.deco-line{width:40px;height:2px;background:linear-gradient(90deg,#7d1414,#ff877d);border-radius:2px;display:inline-block}
.deco-line-light{width:40px;height:2px;background:linear-gradient(90deg,#ff877d,#ffdad6);border-radius:2px;display:inline-block}

/* Radio pills for form */
.rpill{transition:all .25s ease}
.rpill-input:checked+.rpill{background:#7d1414;color:#fff;border-color:#7d1414;box-shadow:0 2px 8px rgba(125,20,20,0.2)}

/* ═══ AGENDA FISCAL ═══ */
.agenda-tab{color:#705a4f;background:transparent}
.agenda-tab.active{background:linear-gradient(135deg,#7d1414,#5a0005);color:#fff;box-shadow:0 2px 8px rgba(90,0,5,0.2)}
.agenda-tab:not(.active):hover{background:rgba(125,20,20,0.05)}
.agenda-card{transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s ease,opacity .4s ease}
.agenda-card:hover{transform:translateY(-3px);box-shadow:0 16px 32px -8px rgba(90,0,5,0.08)}
.agenda-card.past{opacity:.5}
.agenda-card.current{box-shadow:0 0 0 2px #7d1414,0 8px 24px rgba(90,0,5,0.1)}
.agenda-card .status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.agenda-card .deadline-item{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,0.04)}
.agenda-card .deadline-item:last-child{border-bottom:none}
.month-btn{transition:all .25s ease}
.month-btn.active{background:linear-gradient(135deg,#7d1414,#5a0005);color:#fff;box-shadow:0 2px 6px rgba(90,0,5,0.15)}
.month-btn:not(.active):hover{background:rgba(125,20,20,0.06)}
@keyframes cardIn{from{opacity:0;transform:translateY(16px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.agenda-card.anim{animation:cardIn .4s cubic-bezier(.25,.46,.45,.94) both}
