/* =====================================================================
   Site em 5 Dias — "Luxury Digital Studio" (camada sobre base.css)
   Foco: hierarquia comercial clara, projetos reais em destaque,
   alternância de seções escuras e claras, microinterações discretas.
   ===================================================================== */

/* ---------------- HOME ---------------- */
.hero3 { position: relative; overflow: hidden; isolation: isolate; padding: clamp(20px, 3.5vh, 48px) 0 clamp(56px, 8vh, 96px); border-bottom: 1px solid var(--line); }
.hero3__light { position: absolute; inset: 0; z-index: -1; pointer-events: none; background:
  radial-gradient(50% 60% at 78% 40%, rgba(71, 123, 255, .13), transparent 70%),
  radial-gradient(35% 45% at 95% 85%, rgba(135, 91, 255, .12), transparent 70%),
  linear-gradient(180deg, #0B1020 0%, var(--ink) 60%); }
.hero3__light::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(245, 247, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(245, 247, 255, .035) 1px, transparent 1px); background-size: 96px 96px; -webkit-mask-image: linear-gradient(180deg, #000, transparent 85%); mask-image: linear-gradient(180deg, #000, transparent 85%); }
.hero3__grid { display: grid; grid-template-columns: minmax(0, 5.5fr) minmax(0, 6.5fr); gap: clamp(32px, 5vw, 84px); align-items: center; min-height: min(calc(100svh - 150px), 820px); }
.hero3__copy { animation: fadeUp 1s var(--ease-out) both; }
.hero3__title { font: 800 clamp(40px, 4.25vw, 76px)/.96 var(--display); letter-spacing: -.045em; text-wrap: balance; }
.hero3__title em { display: block; margin-top: .12em; background: linear-gradient(100deg, #5C8BFF 0%, #8E7BFF 60%, #C9B8FF 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero3__lead { margin-top: 20px; font-size: clamp(16.5px, 1.3vw, 19px); color: #C3CAE0; max-width: 520px; }
.terms { margin-top: 26px; display: grid; grid-template-columns: auto minmax(0, 1fr); border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); }
.terms__item { display: flex; flex-direction: column; gap: 6px; padding: 15px 24px 15px 0; }
.terms__item + .terms__item { padding-left: 24px; padding-right: 0; border-left: 1px solid var(--line-2); }
.terms dt { font: 500 11px/1.2 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: #9DB4FF; }
.terms dd { margin: 0; font-size: 15px; color: var(--muted); display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
.terms dd strong { font: 800 26px/1.05 var(--display); letter-spacing: -.03em; color: var(--ice); }
.terms__item--price dd strong { font-size: clamp(32px, 3vw, 44px); }
.terms dd span { flex-basis: 100%; font-size: 13px; color: var(--soft); line-height: 1.45; }
.hero3__ctas { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 12px; }

/* Vitrine de projetos reais */
.show { --accent: #E8DCCB; position: relative; animation: fadeUp 1.2s .15s var(--ease-out) both; }
.show::before { content: ""; position: absolute; z-index: -1; left: 6%; right: 2%; top: 4%; height: 74%; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--accent) 32%, transparent), transparent); filter: blur(40px); opacity: .7; transition: background 1s var(--ease-out); }
.show__stage { position: relative; padding: 0 0 0 9%; }
.show__desk { position: relative; border-radius: 16px; overflow: hidden; background: #0E1322; border: 1px solid rgba(245, 247, 255, .16); box-shadow: 0 60px 120px -50px rgba(0, 0, 0, .95), 0 0 0 1px rgba(0, 0, 0, .4); }
.show__bar { display: flex; align-items: center; gap: 6px; height: 30px; padding: 0 14px; background: #121A30; border-bottom: 1px solid var(--line); }
.show__bar i { width: 8px; height: 8px; border-radius: 50%; background: rgba(245, 247, 255, .2); }
.show__bar span { margin-left: 10px; font: 500 11px var(--mono); color: var(--soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.show__view { display: block; overflow: hidden; }
.show__view img { width: 100%; aspect-ratio: 1200 / 650; object-fit: cover; object-position: top; transition: opacity .32s ease, transform 1.2s var(--ease-out); }
.show__phone { position: absolute; left: 0; bottom: -7%; width: 21%; border-radius: 22px; overflow: hidden; border: 5px solid #1E2640; box-shadow: 20px 30px 70px -20px rgba(0, 0, 0, .95); transition: transform .8s var(--ease-out); }
.show__phone img { width: 100%; aspect-ratio: 390 / 760; object-fit: cover; object-position: top; transition: opacity .32s ease; }
.show.is-switching .show__view img, .show.is-switching .show__phone img { opacity: 0; }
.show:hover .show__view img { transform: scale(1.015); }
.show:hover .show__phone { transform: translateY(-8px); }
.show__info { margin-top: clamp(40px, 5vw, 56px); padding-left: 9%; display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
.show__meta { font: 500 11px var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--accent); transition: color .6s; }
.show__name { margin-top: 6px; font: 700 clamp(24px, 2.2vw, 32px)/1.05 var(--display); letter-spacing: -.03em; }
.show__open { flex-shrink: 0; display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--line-2); font-size: 14px; font-weight: 600; text-decoration: none; transition: border-color .3s, background-color .3s; }
.show__open:hover { border-color: rgba(143, 174, 255, .7); background: rgba(71, 123, 255, .1); }
.show__pick { margin-top: 18px; padding-left: 9%; display: flex; flex-wrap: wrap; gap: 6px; }
.show__pick button { --accent: #9AA4B8; display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 13px; border-radius: 999px; border: 1px solid var(--line); background: transparent; color: var(--muted); font: 500 13px var(--sans); cursor: pointer; transition: color .25s, border-color .25s, background-color .25s; }
.show__pick button i { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.show__pick button:hover { color: var(--ice); border-color: var(--line-2); }
.show__pick button[aria-pressed="true"] { color: var(--ink); background: var(--ice); border-color: var(--ice); }
@media (prefers-reduced-motion: reduce) { .show__view img, .show__phone img { transition: none; } }

@media (max-width: 1100px) {
  .hero3__grid { grid-template-columns: 1fr; min-height: 0; }
  .show { max-width: 760px; }
}
@media (max-width: 600px) {
  .hero3 { padding-top: 22px; }
  .hero3__title { font-size: clamp(36px, 10.4vw, 52px); }
  .hero3__lead { margin-top: 16px; font-size: 16px; }
  .terms { margin-top: 20px; grid-template-columns: 1fr 1fr; }
  .terms__item { padding: 14px 12px 14px 0; }
  .terms__item + .terms__item { padding-left: 14px; }
  .terms dd strong { font-size: 22px; }
  .terms__item--price dd strong { font-size: 28px; }
  .terms dd { font-size: 13.5px; }
  .terms dd span { font-size: 12px; }
  .hero3__ctas { margin-top: 20px; }
  .hero3__ctas .pill { flex: 1 1 100%; --h: 54px; }
  .show__stage { padding-left: 7%; }
  .show__info, .show__pick { padding-left: 0; }
  .show__info { flex-direction: column; align-items: flex-start; }
  .show__open { width: 100%; justify-content: center; }
}

/* ---------------- PORTFÓLIO (galeria) ---------------- */
.cases { background: linear-gradient(180deg, var(--ink), var(--ink-2)); }
.gallery { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(28px, 3vw, 44px) clamp(20px, 2.4vw, 32px); }
.gcard { --accent: #9AA4B8; grid-column: span 4; display: flex; flex-direction: column; min-width: 0; }
.gcard--premium { grid-column: span 6; }
.gcard.is-hidden, .gsoon.is-hidden { display: none; }
.gcard__media { position: relative; display: block; width: 100%; padding: clamp(16px, 2vw, 28px) clamp(16px, 2vw, 28px) 0; border: 1px solid var(--line-2); border-radius: 22px; background: radial-gradient(70% 80% at 50% 100%, color-mix(in srgb, var(--accent) 26%, transparent), transparent 70%), linear-gradient(160deg, #1A2238, #0E1322); overflow: hidden; cursor: zoom-in; text-align: left; transition: border-color .4s; }
.gcard__media:hover, .gcard__media:focus-visible { border-color: color-mix(in srgb, var(--accent) 55%, transparent); }
.gcard__desk { display: block; border-radius: 10px 10px 0 0; overflow: hidden; border: 1px solid var(--line-2); border-bottom: 0; background: #0E1322; transition: transform .9s var(--ease-out); transform-origin: 50% 100%; }
.gcard__desk img { width: 100%; aspect-ratio: 1200 / 680; object-fit: cover; object-position: top; }
.gcard--premium .gcard__desk img { aspect-ratio: 1200 / 640; }
.gcard__phone { position: absolute; right: clamp(12px, 2.4vw, 30px); bottom: 0; width: 20%; border-radius: 14px 14px 0 0; overflow: hidden; border: 4px solid #232C47; border-bottom: 0; box-shadow: -14px 0 40px -14px rgba(0, 0, 0, .9); transition: transform .9s var(--ease-out); }
.gcard__phone img { width: 100%; aspect-ratio: 390 / 600; object-fit: cover; object-position: top; }
.gcard__zoom { position: absolute; left: 16px; top: 14px; padding: 6px 10px; border-radius: 999px; background: rgba(9, 13, 22, .78); border: 1px solid var(--line-2); font: 500 10.5px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: #DDE4FA; opacity: 0; transform: translateY(-4px); transition: opacity .3s, transform .4s var(--ease-out); }
.gcard__media:hover .gcard__desk, .gcard__media:focus-visible .gcard__desk { transform: scale(1.02) translateY(-3px); }
.gcard__media:hover .gcard__phone, .gcard__media:focus-visible .gcard__phone { transform: translateY(-10px); }
.gcard__media:hover .gcard__zoom, .gcard__media:focus-visible .gcard__zoom { opacity: 1; transform: none; }
.gcard__body { display: flex; flex-direction: column; flex: 1; padding: 22px 4px 0; }
.gcard__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; font: 500 11px var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--soft); }
.gcard__plan { color: var(--accent); display: inline-flex; align-items: center; gap: 8px; }
.gcard__plan::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 10px var(--accent); }
.gcard__title { margin-top: 12px; font: 700 clamp(24px, 2vw, 30px)/1.05 var(--display); letter-spacing: -.03em; }
.gcard--premium .gcard__title { font-size: clamp(28px, 2.6vw, 40px); }
.gcard__seg { margin-top: 6px; font-size: 14px; color: #B7C8FF; }
.gcard__desc { margin-top: 12px; color: var(--muted); font-size: 15px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.gcard__foot { margin-top: auto; padding-top: 20px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; border-top: 1px solid var(--line); margin-top: 20px; }
.gcard__price { display: flex; flex-direction: column; font: 700 20px/1.15 var(--display); letter-spacing: -.02em; }
.gcard__price small { font: 500 10.5px/1.6 var(--mono); color: var(--soft); text-transform: uppercase; letter-spacing: .1em; }
.gcard__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.gcard__style { font-size: 14px; font-weight: 600; color: #B7C8FF; text-decoration: none; }
.gcard__style:hover { color: #fff; }
.gsoon { grid-column: span 12; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 20px 24px; border: 1px dashed rgba(245, 247, 255, .2); border-radius: 18px; color: var(--muted); font-size: 15px; }
.gsoon strong { color: var(--ice); font-weight: 600; }
.gsoon__tag { font: 500 10.5px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: #FFD98A; border: 1px solid rgba(255, 217, 138, .35); border-radius: 999px; padding: 6px 10px; }
@media (max-width: 1100px) { .gcard { grid-column: span 6; } }
@media (max-width: 720px) { .gcard, .gcard--premium { grid-column: span 12; } .gcard__foot { flex-direction: column; align-items: stretch; } .gcard__acts { width: 100%; flex-direction: column; align-items: stretch; gap: 12px; } .gcard__acts .pill { width: 100%; --h: 50px; } .gcard__style { text-align: center; padding: 4px 0; } }

/* ---------------- SEÇÕES CLARAS (respiro) ---------------- */
.sec--light { --ice: #090D16; --muted: #4A5268; --soft: #6A7288; --line: rgba(9, 13, 22, .09); --line-2: rgba(9, 13, 22, .16); background: #F5F7FF; color: #090D16; border-top: 0 !important; }
.sec--light .kicker { color: #3D5AD6; }
.sec--light .kicker .idx { color: #090D16; }
.sec--light .lead a, .sec--light .note { color: #4A5268; }
.sec--light h2 em { background: linear-gradient(100deg, #3D6BFF, #7A4FF2); -webkit-background-clip: text; background-clip: text; color: transparent; }
.plans.sec--light::before { display: none; }
.sec--light .step-plan { background: #fff; border-color: rgba(9, 13, 22, .1); box-shadow: 0 30px 60px -40px rgba(20, 30, 80, .35); }
.sec--light .step-plan::before { background: radial-gradient(380px circle at var(--mx, 50%) var(--my, 0%), rgba(71, 123, 255, .07), transparent 60%); }
.sec--light .step-plan__list li { color: #2D3448; }
.sec--light .step-plan__list li::before { border-color: #3D6BFF; }
.sec--light .plan__prefix { color: #3D5AD6; }
.sec--light .step-plan.is-featured { --ice: #F5F7FF; --muted: #AAB2C8; --soft: #7E879F; --line: rgba(245, 247, 255, .1); --line-2: rgba(245, 247, 255, .16); background: linear-gradient(180deg, #1B2141, #0E1322 60%); color: #F5F7FF; box-shadow: 0 50px 90px -40px rgba(40, 50, 140, .6); }
.sec--light .step-plan.is-featured .step-plan__list li { color: #D3D8E8; }
.sec--light .step-plan.is-featured .step-plan__list li::before { border-color: #C3B2FF; }
.sec--light .step-plan.is-featured .plan__prefix { color: #A9BEFF; }
.sec--light .step-plan.is-picked { box-shadow: 0 50px 90px -50px rgba(60, 70, 180, .55); border-color: rgba(61, 107, 255, .5); }
.sec--light .pill--ghost { color: #090D16; border-color: rgba(9, 13, 22, .22); background: #fff; }
.sec--light .pill--ghost:hover { border-color: #3D6BFF; background: #EEF2FF; }
.sec--light .stair::after { background: linear-gradient(90deg, transparent, rgba(61, 107, 255, .45), rgba(122, 79, 242, .45), transparent); }
.sec--light .compare { background: #fff; border-color: rgba(9, 13, 22, .1); box-shadow: 0 30px 60px -45px rgba(20, 30, 80, .3); }
.sec--light .seg { background: #EEF1FA; border-color: rgba(9, 13, 22, .06); }
.sec--light .crow > span { color: #2D3448; }
.sec--light .crow > span.is-on { background: linear-gradient(180deg, rgba(71, 123, 255, .1), rgba(135, 91, 255, .07)); color: #090D16; }
.sec--light .extras__list li { color: #4A5268; }
.sec--light .qa summary:hover { color: #3D5AD6; }
.sec--light .qa summary::after { background: linear-gradient(#3D6BFF, #3D6BFF) center / 11px 1.6px no-repeat, linear-gradient(#3D6BFF, #3D6BFF) center / 1.6px 11px no-repeat; }
.sec--light .qa[open] summary::after { background-color: rgba(61, 107, 255, .14); }
.sec--light .qa[open] .qa__n { color: #3D5AD6; }
.sec--light .lead a { color: #3D5AD6; }

/* ---------------- SIMULADOR: resumo com valores separados ---------------- */
.receipt__in { display: flex; flex-direction: column; }
.receipt__k { order: 1; } .sum__ref, .receipt__plan { order: 2; } .receipt__lines { order: 3; } .receipt__sum { order: 4; } .receipt__total { order: 5; }
.receipt__deadline, .receipt__fields, #sim-send, .receipt__small, .receipt__brief { order: 6; }
.receipt__total { margin-top: 12px; padding-top: 14px; border-top: 1px dashed rgba(245, 247, 255, .22); }
.receipt__total #sum-prefix { font-size: 10.5px; }
.receipt__lbl { display: block; font: 500 11.5px var(--mono); letter-spacing: .12em; text-transform: uppercase; color: #C9D6FF; }
.receipt__total #sum-prefix { margin-top: 4px; }
.receipt__sum { margin: 14px 0 0; padding: 14px 0 0; border-top: 1px solid rgba(245, 247, 255, .14); display: grid; grid-template-columns: 1fr auto; gap: 8px 14px; font-size: 14px; }
.receipt__sum dt { color: #DDE3F5; font-weight: 600; }
.receipt__sum dd { margin: 0; text-align: right; font-weight: 700; }
.receipt__lines { margin-top: 14px !important; }

/* ---------------- PROCESSO sem arte 3D ---------------- */
.process__grid { display: block; }
.process__copy { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px clamp(32px, 6vw, 96px); align-items: start; }
.process__copy > header { position: sticky; top: calc(var(--hh) + 32px); }
.process__copy .days { margin-top: 0; grid-column: 2; }
.process__copy .rule { grid-column: 2; }
@media (max-width: 960px) { .process__copy { grid-template-columns: 1fr; } .process__copy > header { position: static; } .process__copy .days, .process__copy .rule { grid-column: 1; } }

/* ---------------- CONTATO ---------------- */
.contact { background: radial-gradient(60% 70% at 85% 30%, rgba(71, 123, 255, .14), transparent 70%), radial-gradient(40% 50% at 100% 100%, rgba(135, 91, 255, .14), transparent 70%); }
