@charset "UTF-8";

/* ─── RESET E VARIÁVEIS ─── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --k:#0f0f0f; --k2:#1a1a1a; --k3:#111111;
  --w:#ffffff; --g5:#F2F7F3; --gwarm:#F5FAF6; --gbeige:#EEF5EF;
  --terr:#F0F7F1;
  --gm:#86868B; --gd:#3a3a3c;
  --b:#CE2B37; --bw:#A8222C; --bl:#E8606B; 
  --ig:#009246; --igw:#006E34; 
  --ease:cubic-bezier(0.23,1,0.32,1);
  --fd:'Playfair Display',Georgia,serif;
  --fb:'Helvetica Neue',Helvetica,Arial,sans-serif;
}
html{scroll-behavior:smooth;font-size:17px}
body{font-family:var(--fb);background:var(--w);color:var(--k);-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:980px;margin:0 auto;padding:0 44px}
section{padding:112px 0;position:relative}
section.tight{padding:80px 0}
.label{font-family:var(--fb);font-size:.67rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--gm)}
.body{font-size:.94rem;line-height:1.74;color:var(--gd)}
.body strong{color:var(--k);font-weight:600}

/* ─── PATTERNS SVG ─── */
.pat-arch{position:absolute;inset:0;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg width='80' height='80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23CE2B37' stroke-opacity='0.14' stroke-width='.75'%3E%3Cpath d='M20 60V38Q20 22 35 22Q50 22 50 38V60'%3E%3C/path%3E%3Cline x1='14' y1='60' x2='56' y2='60'%3E%3C/line%3E%3Ccircle cx='35' cy='22' r='3'%3E%3C/circle%3E%3Cline x1='0' y1='80' x2='80' y2='80'%3E%3C/line%3E%3Cline x1='80' y1='0' x2='80' y2='80'%3E%3C/line%3E%3C/g%3E%3C/svg%3E");background-size:80px 80px}
.pat-tile{position:absolute;inset:0;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23009246' stroke-opacity='0.10' stroke-width='.6'%3E%3Crect x='4' y='4' width='52' height='52' rx='2'%3E%3C/rect%3E%3Ccircle cx='30' cy='30' r='10'%3E%3C/circle%3E%3Cpath d='M4 4L30 18L56 4'%3E%3C/path%3E%3Cpath d='M4 56L30 42L56 56'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");background-size:60px 60px}
.pat-diamond{position:absolute;inset:0;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg width='48' height='48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 4 L44 24 L24 44 L4 24 Z' fill='none' stroke='%23009246' stroke-opacity='0.12' stroke-width='.6'%3E%3C/path%3E%3C/svg%3E");background-size:48px 48px}

/* ─── ANIMAÇÕES ON SCROLL ─── */
[data-r]{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
[data-r].on{opacity:1;transform:none}

/* ─── NAV E HEADER ─── */
nav{position:fixed;top:0;left:0;right:0;z-index:999;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:rgba(10,10,10,.82);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);border-bottom:1px solid rgba(255,255,255,.07);transition:background .3s,border-color .3s, top .3s}
nav.ln{background:rgba(255,255,255,.92);border-bottom-color:rgba(0,0,0,.08)}

/* ─── ATUALIZAÇÃO DA MARCA (HEADER E FOOTER) ─── */
.nbrand { font-family: var(--fd); font-size: .94rem; text-decoration: none; cursor: pointer; }
.nbrand span { transition: color .2s var(--ease); }
.nbrand .do, .nbrand .ax { color: var(--w); font-style: italic; font-weight: 300; }
.nbrand .barro { color: #C4956A; font-weight: 800; }
.nbrand .pedra { color: #C2BDB5; font-weight: 800; }
.nbrand:hover span { color: var(--w); }
nav.ln .nbrand .do, nav.ln .nbrand .ax { color: var(--gd); }
nav.ln .nbrand:hover span { color: var(--k); }

/* ─── MENU DESKTOP (PADRÃO) ─── */
.nlinks { display: flex; align-items: center; gap: 20px; list-style: none; margin: 0 !important; padding: 0 !important; height: 100%; }
.nlinks li { margin: 0 !important; padding: 0 !important; display: flex; align-items: center; }
.nlinks a { font-size: .7rem; color: rgba(255,255,255,.6); text-decoration: none; transition: color .2s; }
.nlinks a:hover { color: var(--w); }
nav.ln .nlinks a { color: var(--gd); }
nav.ln .nlinks a:hover { color: var(--k); }
.ncta { font-size: .7rem; font-weight: 600; color: var(--w); background: var(--b); padding: 7px 15px; border-radius: 20px; text-decoration: none; transition: background .2s; }
.ncta:hover { background: var(--bw); color: var(--w) !important; }
.m-toggle { display: none; background: transparent; border: none; color: var(--w); font-size: 1.4rem; cursor: pointer; transition: color .2s; padding: 4px; }
nav.ln .m-toggle { color: var(--k); }
body.admin-bar nav { top: 32px; }

/* ─── HERO ─── */
#hero { min-height: 100svh; background-color: var(--k); background-image: linear-gradient(to right, var(--k) 10%, rgba(15,15,15,0.85) 55%, rgba(15,15,15,0) 100%), var(--bg-hero); background-size: cover; background-position: right center; background-repeat: no-repeat; display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; padding: 100px 0 96px; }
.hero-glow { position: absolute; width: 700px; height: 700px; border-radius: 50%; background: radial-gradient(circle, rgba(206,43,55,.15) 0%, transparent 68%); left: 0; top: 50%; transform: translate(-30%, -50%); pointer-events: none; }
.hero-content { display: flex; flex-direction: column; align-items: flex-start; text-align: left; max-width: 740px; position: relative; z-index: 2; padding-left: max(88px, 8vw); }
.htitle { font-family: var(--fd); font-weight: 800; font-size: clamp(3.5rem, 5.5vw, 7rem); color: var(--w); line-height: 1.03; letter-spacing: -.025em; margin-bottom: 56px; position: relative; z-index: 2; opacity: 1; }
.htitle.on { opacity: 1; transform: none; }
.htitle .do, .htitle .ax { font-style: italic; font-weight: 300; font-size: .55em; color: #ffffff; vertical-align: middle; margin-right: .04em; letter-spacing: -.01em; }
.htitle .barro { color: #C4956A; }
.htitle .pedra { color: #C2BDB5; }
.hsub { font-size: clamp(.78rem, 1.6vw, 1rem); font-weight: 400; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.9); margin-bottom: 44px; position: relative; z-index: 2; opacity: 1; }
.hsub.on { opacity: 1; transform: none; }
.hstats { display: flex; justify-content: flex-start; gap: 52px; flex-wrap: wrap; margin-bottom: 52px; position: relative; z-index: 2; opacity: 1; }
.hstats.on { opacity: 1; transform: none; }
.hstats > div { display: flex; flex-direction: column; align-items: center; text-align: center; }
.hsn { font-family: var(--fd); font-size: clamp(1.8rem, 4.5vw, 2.8rem); font-weight: 700; color: var(--w); line-height: 1; }
.hsl { font-size: .62rem; letter-spacing: .09em; text-transform: uppercase; color: rgba(255,255,255,.3); margin-top: 5px; }
.hcta { display: inline-flex; align-items: center; gap: 9px; font-size: .94rem; font-weight: 500; color: var(--w); background: var(--b); padding: 17px 44px; border-radius: 100px; text-decoration: none; position: relative; z-index: 2; opacity: 0; transform: translateY(14px); transition: opacity 1s var(--ease) .62s, transform 1s var(--ease) .62s, background .2s, box-shadow .2s; }
.hcta.on { opacity: 1; transform: none; }
.hcta:hover { background: var(--bw); box-shadow: 0 8px 32px rgba(206,43,55,.38); color: var(--w) !important; }

/* ─── POR QUE ─── */
#porque{background:var(--k);position:relative;overflow:hidden}
.porque-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.05);position:relative;z-index:2}

.pq-h{font-family:var(--fd);font-size:1.1rem;font-weight:700;color:var(--w);margin-bottom:12px;line-height:1.2}
.pq-p{font-size:.78rem;color:rgba(255,255,255,.45);line-height:1.65}
.pq-card {
    padding: 36px 28px;
    transition: transform .3s var(--ease), background .3s var(--ease);
}
.pq-card:hover {
    transform: translateY(-4px); /* Elevação suave */
}

/* Estado de repouso */
.pq-card-1 { background: rgba(255,255,255,.04); }
.pq-card-2 { background: rgba(255,255,255,.07); border-left: 1px solid rgba(255,255,255,.06); border-right: 1px solid rgba(255,255,255,.06); }
.pq-card-3 { background: rgba(0,146,70,.08); }

/* Estado de interação (iluminação) */
.pq-card-1:hover { background: rgba(255,255,255,.08); }
.pq-card-2:hover { background: rgba(255,255,255,.11); }
.pq-card-3:hover { background: rgba(0,146,70,.14); }

.pq-icon {
    font-size: 2rem;
    margin-bottom: 16px;
    color: rgba(255,255,255,.8); /* Adicionado para garantir a cor dos novos ícones */
}



/* ─── HISTÓRIA ─── */
#historia{background:var(--w)}
.hist-2col{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.hist-h{font-family:var(--fd);font-size:clamp(2rem,4vw,2.9rem);font-weight:700;line-height:1.1;letter-spacing:-.015em;margin:12px 0 26px}
.img-wrapper{width:100%;height:100%}
.img-wrapper img{width:100%;height:auto;border-radius:18px;object-fit:cover;aspect-ratio:4/5;display:block}
.img-placeholder{border-radius:18px;overflow:hidden;aspect-ratio:4/5;background:var(--g5);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:2px dashed rgba(0,0,0,.1);color:var(--gm)}
.img-placeholder i{font-size:2.4rem;color:rgba(0,0,0,.12)}
.img-placeholder span{font-size:.69rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}

/* ─── TRAJETÓRIA ─── */
#trajetoria{background:var(--terr);position:relative;overflow:hidden}
.traj-inner{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.unico-badge{background:linear-gradient(135deg,var(--b),var(--bw));color:var(--w);border-radius:16px;padding:28px 32px;margin-bottom:40px;box-shadow:0 12px 40px rgba(206,43,55,.28)}
.unico-badge .label{color:rgba(255,255,255,.6);display:block;margin-bottom:10px}
.unico-badge h3{font-family:var(--fd);font-size:clamp(1.2rem,2.5vw,1.7rem);font-weight:700;line-height:1.2;color:var(--w)}
.unico-badge p{font-size:.8rem;color:rgba(255,255,255,.72);margin-top:10px;line-height:1.55}
.tl{display:flex;flex-direction:column}
.tli{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid rgba(0,0,0,.08);align-items:start}
.tli:first-child{padding-top:0}
.tli:last-child{border-bottom:none;background:rgba(206,43,55,.06);border-radius:12px;padding:14px 12px;margin-top:4px}
.tly{font-family:var(--fd);font-size:1rem;font-weight:700;color:var(--b);line-height:1;padding-top:3px}
.tli:last-child .tly{color:var(--bw)}
.tlt{font-size:.82rem;font-weight:600;color:var(--k);margin-bottom:3px}
.tld{font-size:.74rem;color:var(--gm);line-height:1.5}
.cioff-panel{background:var(--w);border-radius:14px;padding:24px 26px;margin-top:32px;border:1px solid rgba(0,0,0,.06)}
.cioff-panel .label{display:block;margin-bottom:10px}
.cioff-panel p{font-size:.8rem;color:var(--gd);line-height:1.6}
.cioff-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ctag{font-size:.62rem;font-weight:600;color:var(--b);background:rgba(0,146,70,.08);padding:4px 10px;border-radius:7px}

/* ─── FOLGUEDOS ─── */
#folguedos{background:var(--k);padding:100px 0 88px;position:relative;overflow:hidden}
.fi{text-align:center;margin-bottom:56px;position:relative;z-index:2}
.fi .label{color:rgba(255,255,255,.3);display:block;margin-bottom:14px}
.fi h2{font-family:var(--fd);font-size:clamp(2rem,4.5vw,3.2rem);font-weight:700;color:var(--w);line-height:1.1;letter-spacing:-.015em}
.fi h2 em{color:var(--bl);font-style:italic}
.fscroll-wrap {
    overflow-x: auto; 
    scrollbar-width: none; 
    -ms-overflow-style: none;
    padding-left: 44px; padding-right: 44px;
}
.fscroll-wrap::-webkit-scrollbar { display: none; }
.fscroll-track { display: flex; gap: 18px; width: max-content; }
.fc{flex:0 0 290px; /* scroll-snap-align: center; — desativado para loop infinito */ border-radius:16px;overflow:hidden;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);transition:border-color .3s,box-shadow .3s}
.fc:hover { border-color: rgba(255,255,255,0.3); box-shadow: 0 20px 50px rgba(0,0,0,0.9); z-index: 10; }
.fc-img{height:163px;background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.fc-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(transparent,rgba(0,0,0,.45))}
.fc-ph{display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.18);font-size:.62rem;letter-spacing:.07em;text-transform:uppercase}
.fc-ph i{font-size:1.6rem;color:rgba(255,255,255,.1)}
.fc-body{padding:20px}
.fc-name{font-family:var(--fd);font-size:1.1rem;font-weight:700;color:var(--w);margin-bottom:7px;line-height:1.1}
.fc-desc{font-size:.72rem;color:rgba(255,255,255,.46);line-height:1.55}
.btn-scroll { border: none; background: transparent; color: rgba(255,255,255,.7); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all .2s; font-size: 1.8rem; padding: 10px; }
.btn-scroll:hover { color: var(--w); transform: scale(1.15); }

/* ─── IMPRENSA ─── */
#imprensa{background:#1a1a1a;position:relative;overflow:hidden}
.ii{text-align:center;margin-bottom:64px;position:relative;z-index:2}
.ii .label{color:rgba(255,255,255,.3);display:block;margin-bottom:14px}
.ii h2{font-family:var(--fd);font-size:clamp(1.9rem,4.5vw,3.2rem);font-weight:700;color:var(--w);line-height:1.1;max-width:640px;margin:0 auto}
.ii p{font-size:1rem;color:rgba(255,255,255,.42);max-width:520px;margin:20px auto 0;line-height:1.7;font-weight:300}
.icards{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.05);position:relative;z-index:2}
.icard{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);padding:32px 24px;transition:background .25s}
.icard:hover{background:rgba(255,255,255,.1)}
.icard-icon{font-size:1.3rem;color:var(--bl);margin-bottom:14px}
.icard-title{font-family:var(--fd);font-size:1rem;font-weight:700;color:var(--w);margin-bottom:8px;line-height:1.2}
.icard-body{font-size:.73rem;color:rgba(255,255,255,.42);line-height:1.6}
.iq{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:40px 50px;margin-top:28px;text-align:center;position:relative;z-index:2}
.iq-t{font-family:var(--fd);font-size:clamp(1.1rem,2vw,1.55rem);font-weight:500;font-style:italic;color:var(--w);line-height:1.5;margin-bottom:12px}
.iq-s{font-size:.63rem;color:rgba(255,255,255,.26);letter-spacing:.06em}
.inums{display:grid;grid-template-columns:repeat(3,1fr);margin-top:24px;border:1px solid rgba(255,255,255,.07);border-radius:14px;overflow:hidden;position:relative;z-index:2}
.inum{background:rgba(255,255,255,.05);padding:32px 20px;text-align:center}
.inum:not(:first-child){border-left:1px solid rgba(255,255,255,.07)}
.inn{font-family:var(--fd);font-size:clamp(2rem,4.5vw,3.4rem);font-weight:700;color:var(--w);line-height:1}
.inl{font-size:.61rem;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.28);margin-top:7px}

/* ─── VANTAGENS ─── */
#vantagens{background:var(--g5);position:relative;overflow:hidden}
.si{text-align:center;margin-bottom:64px}
.si .label{display:block;margin-bottom:12px}
.si h2{font-family:var(--fd);font-size:clamp(2rem,4.5vw,3.2rem);font-weight:700;line-height:1.1;letter-spacing:-.015em}
.si p{font-size:1rem;color:var(--gd);max-width:540px;margin:18px auto 0;line-height:1.7;font-weight:300}
.vgrid{display:grid;grid-template-columns:1fr 1fr;gap:2px;border-radius:18px;overflow:hidden;background:rgba(0,0,0,.06)}
.vc{background:#1a1a1a;padding:36px 28px}
.vn{font-family:var(--fd);font-size:clamp(2rem,4vw,2.8rem);font-weight:800;color:var(--bl);line-height:1;margin-bottom:10px}
.vt{font-size:.88rem;font-weight:600;color:var(--w);margin-bottom:6px}
.vd{font-size:.76rem;color:rgba(255,255,255,.4);line-height:1.6}

/* ─── MAIS CULTURA (FISCAL) ─── */
#fiscal{background:#FDFAF5;position:relative;overflow:hidden;padding-bottom:40px !important;}
.mc-split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;margin-bottom:20px;}
.mc-h{font-family:var(--fd);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:800;line-height:1.15;letter-spacing:-.015em;margin:12px 0 20px}
.mc-h em{color:var(--b)}
.pct{display:inline-flex;align-items:center;gap:14px;background:linear-gradient(135deg,var(--b),var(--bw));color:var(--w);padding:18px 26px;border-radius:14px;margin-bottom:24px;box-shadow:0 8px 28px rgba(206,43,55,.25)}
.pct-n{font-family:var(--fd);font-size:2.4rem;font-weight:900;line-height:1}
.pct-t{font-size:.78rem;font-weight:500;line-height:1.45;max-width:148px}
.fbox{background:var(--g5);border-radius:18px;padding:34px}
.fblab{font-size:.61rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gm);margin-bottom:20px}
.fbrow{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;border-bottom:1px solid rgba(0,0,0,.07)}
.fbrow:last-of-type{border-bottom:none}
.fbk{font-size:.8rem;color:var(--gd)}
.fbv{font-family:var(--fd);font-size:1.06rem;font-weight:700;color:var(--k)}
.fbrow.hl{background:rgba(206,43,55,.06);margin:0 -8px;padding:13px 8px;border-radius:8px;border:none}
.fbrow.hl .fbv{color:var(--b);font-size:1.35rem}
.fbnote{font-size:.62rem;color:var(--gm);margin-top:14px;line-height:1.6;font-style:italic}

/* ─── CALCULADORA ─── */
#calculator { background: var(--gwarm); position: relative; overflow: hidden; }
.calc-wrap { max-width: 800px; margin: 0 auto; }
.calc-box { background: var(--w); border-radius: 22px; padding: 48px; box-shadow: 0 4px 40px rgba(0,0,0,0.06); }
.calc-title { font-family: var(--fd); font-size: clamp(1.5rem,3vw,2.2rem); font-weight: 700; line-height: 1.15; letter-spacing: -.01em; margin-bottom: 8px; }
.calc-sub { font-size: .88rem; color: var(--gm); margin-bottom: 36px; line-height: 1.6; }
.calc-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-bottom: 32px; width: 100%; align-items: end; }
.calc-field { display: flex; flex-direction: column; }
.calc-field label { font-size: .67rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--gm); margin-bottom: 8px; display: block; min-height: 14px; }
.calc-field input, .calc-field select { width: 100%; padding: 12px 14px; border-radius: 10px; border: 1.5px solid rgba(0,0,0,.1); font-family: var(--fb); font-size: .94rem; color: var(--k); background: var(--w); outline: none; height: 48px; transition: border-color .2s; }
.calc-field input:focus, .calc-field select:focus { border-color: var(--b); }
.calc-result { border-radius: 14px; background: linear-gradient(135deg, var(--b), var(--bw)); color: var(--w); display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; overflow: hidden; }
.cr-item { background: rgba(0,0,0,0.12); padding: 22px 20px; text-align: center; }
.cr-item:first-child { background: transparent; }
.crn { font-family: var(--fd); font-size: 1.8rem; font-weight: 800; color: var(--w); line-height: 1; }
.crl { font-size: .62rem; letter-spacing: .09em; text-transform: uppercase; color: rgba(255,255,255,.65); margin-top: 6px; }
.calc-note { font-size: .72rem; color: var(--gm); margin-top: 18px; line-height: 1.65; }
.calc-faq { margin-top: 32px; display: flex; flex-direction: column; border: 1px solid rgba(0,0,0,.07); border-radius: 14px; overflow: hidden; }
.faq-item { border-bottom: 1px solid rgba(0,0,0,.07); }
.faq-item:last-child { border-bottom: none; }
.faq-q { padding: 18px 22px; font-size: .88rem; font-weight: 600; color: var(--k); cursor: pointer; display: flex; justify-content: space-between; align-items: center; transition: background .2s; user-select: none; }
.faq-q:hover { background: rgba(0,0,0,0.02); }
.faq-q .arrow { font-size: .7rem; color: var(--gm); transition: transform .25s; }
.faq-a { max-height: 0; overflow: hidden; transition: max-height .4s var(--ease); }
.faq-a-inner { padding: 0 22px 18px; font-size: .82rem; color: var(--gd); line-height: 1.7; }
.faq-item.open .faq-q .arrow { transform: rotate(180deg); }

/* ─── STEPS ─── */
#steps{background:#111111;position:relative;overflow:hidden}
.steps-intro .label{color:rgba(255,255,255,.3);display:block;margin-bottom:12px}
.steps-intro h2{font-family:var(--fd);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700;color:var(--w);line-height:1.15;letter-spacing:-.015em;margin-bottom:40px}
.steps-intro h2 em{color:var(--bl)}
.stps{position:relative;display:flex;flex-direction:column}
.stps::before{content:'';position:absolute;left:20px;top:0;bottom:0;width:1px;background:rgba(255,255,255,.1);z-index:0}
.stp{display:flex;gap:22px;align-items:flex-start;padding:0 0 26px;position:relative;z-index:1}
.stp:last-child{padding-bottom:0}
.snum{width:40px;height:40px;border-radius:50%;background:var(--b);color:var(--w);font-family:var(--fb);font-size:.94rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 14px rgba(206,43,55,.2)}
.sbody{padding-top:5px}
.stitle{font-size:.88rem;font-weight:700;color:var(--w);margin-bottom:4px}
.sdesc{font-size:.76rem;color:rgba(255,255,255,.45);line-height:1.58}
.stag{display:inline-block;margin-top:6px;font-size:.56rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:rgba(206,43,55,.15);color:var(--bl);padding:3px 8px;border-radius:6px}

/* ─── COTAS ─── */
#cotas{background:#1a0e08;position:relative;overflow:hidden}
.ci{text-align:center;margin-bottom:52px;position:relative;z-index:2}
.ci .label{color:rgba(255,255,255,.3);display:block;margin-bottom:12px}
.ci h2{font-family:var(--fd);font-size:clamp(2rem,4.5vw,3.2rem);font-weight:700;color:var(--w);line-height:1.1}
.ci p{font-size:.94rem;color:rgba(255,255,255,.42);max-width:480px;margin:16px auto 0;line-height:1.7;font-weight:300}
.cotas-layout{display:flex;flex-direction:column;gap:14px;position:relative;z-index:2}
.cotas-row1{display:grid;grid-template-columns:1.55fr 1fr;gap:14px}
.cotas-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cc{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:26px 22px;transition:border-color .25s,background .25s,transform .25s}
.cc:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.18);transform:translateY(-3px)}
.cc.master{background:var(--b);border-color:transparent;display:grid;grid-template-columns:1fr 1fr;gap:20px;box-shadow:0 12px 44px rgba(206,43,55,.35);}
.cc.master:hover{background:var(--bw);transform:translateY(-3px)}
.ct{font-size:.57rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:9px}
.cc.master .ct{color:rgba(255,255,255,.6)}
.cn{font-family:var(--fd);font-size:1.8rem;font-weight:700;color:var(--w);line-height:1;margin-bottom:5px}
.cp{font-size:.78rem;color:rgba(255,255,255,.4);margin-bottom:14px}
.cc.master .cp{color:rgba(255,255,255,.65)}
.cbadge{display:inline-block;background:rgba(255,255,255,.14);font-size:.55rem;font-weight:700;color:rgba(255,255,255,.82);padding:3px 9px;border-radius:7px;margin-bottom:12px}
.clist { list-style: none; display: flex; flex-direction: column; gap: 7px; padding: 0 !important; margin: 0 !important; }
.clist li { font-size: .68rem; color: rgba(255,255,255,.48); display: flex; align-items: flex-start; gap: 6px; line-height: 1.4; padding: 0 !important; margin: 0 !important; }
.cc.master .clist li{color:rgba(255,255,255,.78)}
.clist li i{color:var(--bl);font-size:.6rem;flex-shrink:0;margin-top:2px}
.cc.master .clist li i{color:rgba(255,255,255,.75)}
.ccnt{font-size:.55rem;color:rgba(255,255,255,.22);margin-top:12px}
.capa{background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.12);border-radius:14px;padding:26px 32px;text-align:center;position:relative;z-index:2}
.capa .ct{color:rgba(255,255,255,.3)}
.capa .cn{font-size:1.47rem}
.capa p{font-size:.8rem;color:rgba(255,255,255,.38);margin-top:10px;line-height:1.65}

/* ─── CONTRAPARTIDAS ─── */
#contra{background:var(--gbeige)}
.ctgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;border-radius:16px;overflow:hidden;background:rgba(0,0,0,.06)}
.ctcol{background:var(--w);padding:32px 24px}
.cticon{font-size:1.3rem;color:var(--b);margin-bottom:12px}
.cthead{font-family:var(--fd);font-size:1rem;font-weight:700;color:var(--k);margin-bottom:14px;line-height:1.2}
.ctl{list-style:none;display:flex;flex-direction:column;padding:0!important;margin:0!important}
.ctl li{font-size:.73rem;color:var(--gd);display:flex;align-items:flex-start;gap:7px;line-height:1.5;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.ctl li:last-child{border-bottom:none}
.ctl li::before{content:'→';color:var(--bl);flex-shrink:0;font-size:.61rem;margin-top:2px}
.ctnote{margin-top:28px;padding:24px 28px;background:var(--w);border-radius:11px;text-align:center}
.ctnote p{font-size:.88rem;color:var(--gd);font-style:italic;line-height:1.65}

/* ─── ORÇAMENTO ─── */
#orc{background:#F4F4F6}
.ogrid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.olist{list-style:none}
.oi{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid rgba(0,0,0,.07);font-size:.88rem;color:var(--gd)}
.oi:first-child{padding-top:0}
.oi i{color:var(--b);width:15px;flex-shrink:0}
.obox{background:var(--k);border-radius:18px;padding:36px;color:var(--w)}
.obox h3{font-family:var(--fd);font-size:1.47rem;font-weight:700;margin-bottom:8px;color:var(--w)!important}
.obox p{font-size:.8rem;color:rgba(255,255,255,.42);margin-bottom:24px;line-height:1.6}
.ochecks{list-style:none;display:flex;flex-direction:column;gap:10px;padding:0!important;margin:0!important}
.ochecks li{display:flex;align-items:center;gap:11px;font-size:.8rem;color:rgba(255,255,255,.62)}
.ochecks li i{color:var(--ig)}

/* ─── IMPACTO ─── */
#impacto{background:#1C1C1E;position:relative;overflow:hidden}
.impwrap{max-width:700px;margin:0 auto;text-align:center;position:relative;z-index:2}
.impwrap h2{font-family:var(--fd);font-size:clamp(1.8rem,4.5vw,3rem);font-weight:700;line-height:1.2;margin-bottom:26px;color:var(--w)}
.impwrap h2 em{color:var(--bl);font-style:normal}
.impwrap p{font-size:.94rem;color:rgba(255,255,255,.5);line-height:1.78;margin-bottom:16px}
.imppull{font-family:var(--fd);font-size:1.18rem;font-style:italic;color:var(--bl);margin-top:28px;line-height:1.5}

/* ─── CTA & FOOTER ─── */
#cta{background:#0a0a0a;text-align:center;padding:128px 0;position:relative;overflow:hidden}
.cta-ey{font-size:.61rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.26);margin-bottom:15px;position:relative;z-index:2}
.cta-title{font-family:var(--fd);font-size:clamp(2.4rem,7vw,5.2rem);font-weight:800;color:var(--w);line-height:1.03;letter-spacing:-.022em;margin-bottom:14px;position:relative;z-index:2}
.cta-title em{color:var(--bl);font-style:italic}
.cta-sub{font-size:1rem;color:rgba(255,255,255,.4);max-width:490px;margin:0 auto 52px;line-height:1.65;position:relative;z-index:2}
.cglass{display:inline-flex;align-items:stretch;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;margin-bottom:28px;position:relative;z-index:2}
.cgcol{padding:20px 26px;text-align:left}
.cgdiv{width:1px;background:rgba(255,255,255,.07);flex-shrink:0}
.cglbl{font-size:.55rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.27);margin-bottom:6px;display:flex;align-items:center;gap:5px}
.cgval{font-size:.94rem;font-weight:500;color:var(--w);text-decoration:none}
.cgval:hover{color:var(--bl)}
.cta-btns{display:flex;justify-content:center;gap:11px;flex-wrap:wrap;position:relative;z-index:2}
.btn{display:inline-flex;align-items:center;gap:7px;font-size:.94rem;font-weight:500;padding:13px 25px;border-radius:100px;text-decoration:none;transition:transform .2s,filter .2s}
.btn:hover{transform:scale(1.03);filter:brightness(1.1)}
.btw{background:var(--w);color:var(--k)}
.btg{background:#25D366;color:var(--w)}
.cta-dl{font-size:.73rem;color:rgba(255,255,255,.2);margin-top:28px;position:relative;z-index:2}
.cta-dl strong{color:rgba(255,255,255,.62)}

footer{background:#000;padding:44px 0 30px;border-top:1px solid rgba(255,255,255,.06);text-align:center}
.fbrand{font-family:var(--fd);font-size:1.06rem;font-weight:700;color:var(--w);margin-bottom:6px}
.fbrand em{color:var(--bl)}
.fbot{border-top:1px solid rgba(255,255,255,.06);padding-top:20px;font-size:.62rem;color:rgba(255,255,255,.16);display:flex;justify-content:center;gap:7px;margin-top:24px}

/* ─── BACK TO TOP ─── */
#back-to-top { position: fixed; bottom: 30px; right: 30px; width: 45px; height: 45px; background-color: var(--b); color: #fff; text-decoration: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold; box-shadow: 0 4px 15px rgba(0,0,0,0.2); z-index: 1000; transition: all .3s var(--ease); opacity: 0; visibility: hidden; transform: translateY(20px); }
#back-to-top.show { opacity: 1; visibility: visible; transform: translateY(0); }
#back-to-top:hover { transform: translateY(-5px); background-color: var(--bw); }

/* ─── FALLBACKS DE ANIMAÇÃO ─── */
.htitle, .hsub, .hstats, .hcta { animation: fadeFallback 0.5s forwards; animation-delay: 2s; }
@keyframes fadeFallback { to { opacity: 1; transform: translateY(0); } }


/* ─── BOTÃO VOLTAR AO SITE ─── */
.ncta.ncta-green {
  background: var(--ig);
  color: var(--w);
}
.ncta.ncta-green:hover {
  background: var(--igw);
  color: var(--w) !important;
}
nav.ln .ncta.ncta-green {
  background: var(--ig);
  color: var(--w);
}
nav.ln .ncta.ncta-green:hover {
  background: var(--igw);
  color: var(--w) !important;
}
.nlinks .ncta-green-mobile {
  color: var(--ig) !important;
  font-weight: 600;
  border: 1.5px solid var(--ig);
  padding: 8px 18px;
  border-radius: 20px;
  font-size: .7rem;
  transition: background .2s, color .2s;
  display: none;
}
.nlinks .ncta-green-mobile:hover {
  background: var(--ig);
  color: var(--w) !important;
}

/* ─── MEDIA QUERIES ─── */
@media(max-width: 991px) {
  /* --- MENU MOBILE --- */
  .m-toggle { display: block; }
  .nlinks .ncta-green-mobile { display: block; text-align: center; margin-top: 8px; }
  .nlinks { position: fixed; top: 72px; left: 20px; right: 20px; background: rgba(15, 15, 15, 0.95) !important; border: 1px solid rgba(255, 255, 255, 0.12); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-radius: 16px; flex-direction: column; justify-content: flex-start; align-items: center; gap: 24px; padding: 40px 20px !important; height: auto !important; opacity: 0; pointer-events: none; transition: opacity .3s var(--ease), transform .3s var(--ease); transform: translateY(-10px); z-index: 998; max-height: calc(100vh - 80px); overflow-y: auto; box-shadow: 0 30px 60px rgba(0,0,0,0.8); }
  .nlinks.active { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .nlinks a { font-size: 1.15rem; font-weight: 500; color: var(--w); }
  nav.ln .nlinks { background: rgba(255,255,255,.95) !important; border-color: rgba(0,0,0,.08); box-shadow: 0 20px 50px rgba(0,0,0,0.1); }
  nav.ln .nlinks a { color: var(--k); }

  /* --- HERO MOBILE REFINADO --- */
  #hero { background-image: linear-gradient(to top, rgba(15,15,15,0.95) 30%, rgba(15,15,15,0.4) 100%), var(--bg-hero) !important; background-size: 100% 100%, auto 100% !important; background-position: center bottom, right -70px center !important; background-repeat: no-repeat; }
  #hero .pat-arch { display: none !important; }
  .hero-content { max-width: 100%; padding-left: 22px !important; padding-right: 22px !important; align-items: center !important; text-align: center !important; }
  .hstats { display: grid; grid-template-columns: repeat(2, 1fr); width: 100%; gap: 32px; }
}

@media(max-width: 768px) {
    .fscroll-wrap { padding-left: 22px; padding-right: 22px; }
  .wrap { padding: 0 22px; }
  section { padding: 72px 0; }
  nav { padding: 0 16px; }
  .hist-2col, .traj-inner, .mc-split, .ogrid, .cotas-row1, .cotas-row2, .cc.master { grid-template-columns: 1fr; gap: 44px; }
  .porque-grid, .icards, .vgrid, .ctgrid { grid-template-columns: 1fr; }
  .inums { grid-template-columns: 1fr; }
  .inum:not(:first-child) { border-left: none; border-top: 1px solid rgba(255,255,255,.07); }
  .cglass { flex-direction: column; }
  .cgdiv { width: 100%; height: 1px; }
  .calc-fields { grid-template-columns: 1fr; gap: 24px; }
  .calc-result { grid-template-columns: 1fr; gap: 2px; }
  #back-to-top { display: none !important; }
}