/* ==================================================================
   SMART OPUS · PROPOSTA CARIJÓS
   Componentes específicos de proposta, sobre o design system do
   site institucional (assets/portfolio.css).
   ================================================================== */

/* ----------------------------------------------------------- meta do hero */
.meta{
  position:relative;z-index:10;margin-top:2.75rem;display:grid;gap:1px;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  background:rgba(59,27,99,.55);
  border:1px solid rgba(59,27,99,.55);border-radius:.85rem;overflow:hidden;
  max-width:52rem;
}
.meta div{background:rgba(23,13,38,.85);padding:1.1rem 1.25rem}
.meta dt{
  font-family:var(--font-spacemono);font-size:10px;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(255,255,255,.45);
}
.meta dd{margin-top:.45rem;font-size:.98rem;font-weight:500;color:#fff}

/* ----------------------------------------------------------- grid de escopo */
.escopo-grid{
  position:relative;z-index:10;margin-top:3.5rem;display:grid;gap:1.5rem;
  grid-template-columns:1fr;
}
@media(min-width:900px){.escopo-grid{grid-template-columns:repeat(2,1fr)}}
.escopo-card{display:flex;flex-direction:column;padding:2rem}
.escopo-head{display:flex;align-items:flex-start;gap:1rem}
.escopo-num{
  font-family:var(--font-spacemono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(255,255,255,.4);
}
.escopo-card h3{
  font-family:var(--font-haboro);font-size:1.35rem;line-height:1.2;
  color:#fff;margin-top:.35rem;
}
.escopo-card p.desc{
  margin-top:1rem;font-size:.9375rem;font-weight:300;line-height:1.7;
  color:rgba(255,255,255,.65);
}

/* ----------------------------------------------------------- investimento */
.precos{
  position:relative;z-index:10;margin-top:3.5rem;display:grid;gap:1.5rem;
  grid-template-columns:1fr;align-items:stretch;
}
@media(min-width:820px){.precos{grid-template-columns:1fr 1.25fr}}
.preco{padding:2.25rem 2rem;display:flex;flex-direction:column}
.preco .tipo{
  font-family:var(--font-spacemono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(255,255,255,.45);
}
.preco .valor{
  font-family:var(--font-haboro);font-weight:300;line-height:1;margin-top:1rem;
  font-size:clamp(2.4rem,6vw,3.4rem);letter-spacing:-.02em;color:rgba(255,255,255,.55);
}
.preco .valor .cents{font-size:.42em;letter-spacing:0;color:rgba(255,255,255,.4)}
.preco .conta{
  margin-top:.9rem;font-family:var(--font-spacemono);font-size:12px;
  letter-spacing:.08em;color:rgba(255,255,255,.45);
}
.preco .nota{
  margin-top:1.25rem;padding-top:1.25rem;font-size:.9rem;font-weight:300;line-height:1.7;
  border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.6);
}
.preco.tabela .valor{text-decoration:line-through;text-decoration-thickness:2px;
  text-decoration-color:rgba(228,201,106,.55)}

.preco.acordo{border-top-color:rgba(228,201,106,.6)}
.preco.acordo::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 90% at 100% 0,rgba(201,166,70,.12),transparent 60%);
}
.preco.acordo .valor{
  background:linear-gradient(100deg,#FFF3CF,#E4C96A 45%,#C9A646);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.selo{
  align-self:flex-start;font-family:var(--font-spacemono);font-size:10px;
  letter-spacing:.2em;text-transform:uppercase;color:#1A0F26;font-weight:700;
  background:linear-gradient(135deg,#E4C96A,#C9A646 55%,#8A6E2A);
  border-radius:9999px;padding:.35rem .85rem;margin-bottom:1.15rem;
}
.economia{
  margin-top:auto;padding-top:1.5rem;font-size:.9375rem;font-weight:300;
  color:rgba(255,255,255,.7);
}
.economia b{color:var(--gold-light);font-weight:500}

.incluso{
  position:relative;z-index:10;margin-top:2.5rem;padding:2rem;
}
.incluso h3{
  font-family:var(--font-spacemono);font-size:12px;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(255,255,255,.5);
}
.incluso .feature-list{grid-template-columns:1fr}
@media(min-width:760px){.incluso .feature-list{grid-template-columns:repeat(2,1fr);gap:.85rem 2rem}}

/* ----------------------------------------------------------- comparativo */
.comparativo{
  position:relative;z-index:10;margin-top:3rem;display:grid;gap:1.25rem;
  grid-template-columns:1fr;
}
@media(min-width:820px){.comparativo{grid-template-columns:repeat(2,1fr)}}
.comp-card{padding:2rem;display:flex;flex-direction:column;gap:.85rem}
.comp-card .quem{
  font-family:var(--font-spacemono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(255,255,255,.45);
}
.comp-card .cifra{
  font-family:var(--font-haboro);font-weight:300;font-size:clamp(1.9rem,4.4vw,2.6rem);
  line-height:1.05;color:#fff;
}
.comp-card.nossa .cifra{
  background:linear-gradient(100deg,#FFF3CF,#E4C96A 45%,#C9A646);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.comp-card p{font-size:.9375rem;font-weight:300;line-height:1.7;color:rgba(255,255,255,.65)}
.comp-nota{
  margin-top:1.75rem;font-size:.875rem;font-weight:300;line-height:1.75;
  color:rgba(255,255,255,.5);border-left:2px solid rgba(228,201,106,.4);padding-left:1rem;
}

/* ----------------------------------------------------------- prazo */
.prazo-painel{
  position:relative;z-index:10;margin-top:3rem;padding:2.5rem 2rem;
  display:grid;gap:2rem;grid-template-columns:1fr;align-items:center;
}
@media(min-width:820px){.prazo-painel{grid-template-columns:auto 1fr;gap:3rem;padding:3rem}}
.prazo-num{
  font-family:var(--font-haboro);font-weight:300;line-height:.9;
  font-size:clamp(4rem,11vw,7rem);letter-spacing:-.03em;
  background:linear-gradient(100deg,#FFF3CF,#E4C96A 45%,#C9A646);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.prazo-num small{
  display:block;font-family:var(--font-spacemono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;-webkit-text-fill-color:rgba(255,255,255,.45);color:rgba(255,255,255,.45);
  margin-top:.75rem;
}
.prazo-painel .prazo-txt h3{font-family:var(--font-haboro);font-size:1.5rem;line-height:1.2;color:#fff}
.prazo-painel .prazo-txt p{margin-top:1rem;font-size:1rem;font-weight:300;line-height:1.8;color:rgba(255,255,255,.65)}

/* ----------------------------------------------------------- tema claro
   Alternância clara/escura do site institucional (.theme-light) adaptada
   aos componentes da proposta.
   ------------------------------------------------------------------- */
.theme-light{
  position:relative;isolation:isolate;color:#1a0f26;
  background:radial-gradient(circle at 82% 8%,rgba(201,166,70,.10),transparent 30%),
             linear-gradient(160deg,#fff,#faf8f6 55%,#fff);
  box-shadow:inset 0 1px rgba(255,255,255,.95),inset 0 -1px rgba(14,9,21,.07);
}
.theme-light::after{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.18;pointer-events:none;
  background-image:linear-gradient(rgba(14,9,21,.05) 1px,transparent 0),
                   linear-gradient(90deg,rgba(14,9,21,.05) 1px,transparent 0);
  background-size:110px 110px;
}
.section-transition{position:relative}
.section-transition::before{
  content:"";position:absolute;inset:-34px 0 auto;height:68px;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(201,166,70,.08),transparent);filter:blur(12px);
}
.theme-light .blob{opacity:.1!important;filter:blur(125px)}

.theme-light .section-head h2,.theme-light .escopo-card h3,
.theme-light .comp-card .cifra,.theme-light .incluso h3{color:#1a0f26}
.theme-light .section-head p.lead,.theme-light .escopo-card p.desc,
.theme-light .comp-card p{color:rgba(26,15,38,.72)}
.theme-light .eyebrow{color:#8A6E2A}
.theme-light .escopo-num,.theme-light .comp-card .quem,.theme-light .por-mes{color:rgba(26,15,38,.5)}
.theme-light .hl{color:#1a0f26}
.theme-light .comp-nota{color:rgba(26,15,38,.6);border-left-color:rgba(138,110,42,.5)}

.theme-light .gi-card{
  background:#fff;
  border-color:rgba(201,166,70,.5) rgba(14,9,21,.09) rgba(14,9,21,.09);
  box-shadow:0 24px 70px -46px rgba(14,9,21,.45),inset 0 1px rgba(255,255,255,.95);
}
.theme-light .gi-card:hover{
  border-color:rgba(138,110,42,.45);
  box-shadow:0 30px 70px -38px rgba(60,40,20,.35),inset 0 1px #fff;
}
.theme-light .feature-list li{color:rgba(26,15,38,.75)}
.theme-light .feature-list .tick{
  border-color:rgba(138,110,42,.4);background:rgba(201,166,70,.16);color:#8A6E2A;
}
.theme-light .so-logo{border-color:rgba(26,15,38,.16);background:rgba(26,15,38,.03)}
.theme-light .so-logo-mono,.theme-light .comp-card.nossa .cifra{
  background:linear-gradient(100deg,#8A6E2A,#C9A646 55%,#8A6E2A);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
/* ilha escura dentro da seção clara (mesmo recurso do site institucional) */
.theme-light .gi-card.dark-island{
  background:linear-gradient(145deg,#2a1547,#180d28);
  border-color:rgba(201,166,70,.4) rgba(255,255,255,.08) rgba(255,255,255,.08);
  box-shadow:0 30px 80px -40px rgba(14,9,21,.65),inset 0 1px rgba(255,255,255,.12);
}
.theme-light .dark-island .cifra{color:#fff}
.theme-light .dark-island p{color:rgba(255,255,255,.72)}
.theme-light .dark-island .quem{color:rgba(255,255,255,.5)}
.theme-light .dark-island .hl{color:#fff}
.theme-light .dark-island.nossa .cifra{
  background:linear-gradient(100deg,#FFF3CF,#E4C96A 45%,#C9A646);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}

.theme-light .hairline{background:linear-gradient(90deg,rgba(138,110,42,.5),rgba(26,15,38,.12) 45%,transparent)}

.por-mes{font-size:.42em;color:rgba(255,255,255,.45)}
.hl{color:#fff;font-weight:500}

/* ----------------------------------------------------------- impressão */
@media print{
  body{background:#fff!important;background-image:none!important;color:#3d3550}
  body::after,.blob,.ghost-letter,.scroll-progress,.site-header,.marquee,.cta-actions{display:none!important}
  .section-glow::before,.theme-light::after,.section-transition::before{display:none!important}
  .theme-light{background:#fff!important;box-shadow:none!important;color:#3d3550!important}
  .theme-light .gi-card.dark-island{background:#fff!important}
  .section,.hero{min-height:0;padding:1.25rem 0;page-break-inside:avoid}
  .hero-inner{padding:.5rem 0}
  .hero h1{font-size:2.4rem}

  /* nenhum texto em degradê some no papel */
  *{-webkit-text-fill-color:currentColor!important}
  body,p,li,span,dt,a,.sub,.lead,.section-head p.lead{color:#3d3550!important}
  h1,h2,h3,.section-head h2,.cta-panel h2,.escopo-card h3,.prazo-painel .prazo-txt h3,
  .meta dd,.comp-card .cifra,.incluso h3{color:#1A1520!important}
  .gold-text,.stat-num,.so-logo-mono,.preco.acordo .valor,.comp-card.nossa .cifra,
  .prazo-num,.footer-bottom .tag,.selo,strong,b{color:#8A6E2A!important;background:none!important}
  .eyebrow,.escopo-num,.preco .tipo,.preco .conta,.meta dt,.stat-label,.comp-card .quem,
  .prazo-num small,.comp-nota,.por-mes{color:#6b6280!important}
  .preco.tabela .valor{color:#6b6280!important;text-decoration-color:#8A6E2A}

  /* superfícies */
  .gi-card,.meta div,.preco,.incluso,.comp-card,.prazo-painel,.cta-panel,.pill,
  .hero-stats,.hero-stats .cell,.site-footer{
    background:#fff!important;background-image:none!important;
    border:1px solid #d8d2e2!important;box-shadow:none!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  }
  .preco.acordo::after{display:none!important}
  .meta{background:#d8d2e2;border-color:#d8d2e2}
  .hero-stats{border:0!important;gap:1px;background:#d8d2e2!important}
  .so-logo,.feature-list .tick,.selo,.btn-gold{
    background:none!important;border:1px solid #c9a646!important;box-shadow:none!important;color:#8A6E2A!important;
  }
  .hairline{background:#d8d2e2!important}
  .reveal{opacity:1!important;filter:none!important;transform:none!important}
  a[href^="http"]::after{content:""}
}

/* ----------------------------------------------------------- ajustes de escala */
.hero-stats .stat-num{font-size:clamp(1.5rem,5.2vw,2.5rem);white-space:nowrap}
@media(min-width:900px){.hero-stats{grid-template-columns:repeat(4,1fr)}}
