/* Feitaz — casos. Acento do cliente aplicado por classe no body, sem esconder a marca Feitaz. */
.caso-pagina { --cliente:#ca582b; --cliente-halo:rgba(202,88,43,.26); }
.caso-pagina--maria { --cliente:#769c82; --cliente-halo:rgba(85,149,114,.28); }
.caso-pagina--paraiso { --cliente:#af925b; --cliente-halo:rgba(175,146,91,.25); }
.caso-pagina--vicmar { --cliente:#f56832; --cliente-halo:rgba(245,104,50,.28); }
.caso-pagina--vet { --cliente:#62a69a; --cliente-halo:rgba(98,166,154,.25); }
.caso-pagina--cocada { --cliente:#d87949; --cliente-halo:rgba(216,121,73,.27); }
.caso-pagina--testarudo { --cliente:#e4c435; --cliente-halo:rgba(228,196,53,.24); }
.caso-pagina--turismo { --cliente:#92b4a0; --cliente-halo:rgba(146,180,160,.25); }
.ca-hero { padding:125px 0 0; overflow:hidden; background:radial-gradient(ellipse 68% 80% at 72% 36%,var(--cliente-halo),transparent 69%),var(--carvao); }
.ca-hero__top { display:grid; grid-template-columns:minmax(0,1fr) minmax(270px,.48fr); align-items:end; gap:clamp(25px,4vw,65px); padding-bottom:clamp(36px,5vw,70px); }
.ca-hero h1 { font-size:clamp(3.3rem,7vw,8rem); margin:22px 0 20px; max-width:13ch; overflow-wrap:normal; }
.ca-hero__claim { display:block; font:italic 400 .56em/.95 var(--f-serifa); letter-spacing:0; color:var(--cliente); margin-top:.1em; }
.ca-hero__lado .lead { margin-bottom:24px; }
.ca-hero__status { display:flex; gap:12px; align-items:center; font:.72rem var(--f-mono); color:var(--cinza); letter-spacing:.08em; text-transform:uppercase; margin-bottom:20px; }
.ca-palco { position:relative; width:min(100% - 2*var(--gut),1560px); margin-inline:auto; padding:0 6% 60px 0; }
.ca-palco::after { content:''; position:absolute; z-index:0; width:58%; aspect-ratio:1; right:3%; top:-24%; background:radial-gradient(circle,var(--cliente-halo),transparent 63%); filter:blur(35px); pointer-events:none; }
.ca-palco__desktop { position:relative; z-index:1; width:88%; border:11px solid #252321; border-bottom-width:15px; border-radius:22px 22px 12px 12px; box-shadow:0 60px 110px -30px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.17); background:#181616; }
.ca-palco__desktop .nav-frame { box-shadow:none; border:0; border-radius:10px 10px 0 0; }
.ca-palco__desktop::after { content:''; position:absolute; bottom:-27px; left:-4%; width:108%; height:11px; border-radius:0 0 70% 70%; background:linear-gradient(#898783,#33312f); box-shadow:0 7px 10px #0008; }
.ca-palco__cel { position:absolute; z-index:2; width:19%; min-width:140px; max-width:260px; right:0; bottom:0; transform:rotate(7deg); }
.ca-palco video { object-fit:cover; }
.ca-palco .nav-frame__tela picture,.ca-palco .cel-frame__tela picture { position:absolute; inset:0; width:100%; height:100%; }
.ca-palco picture img { width:100%; height:100%; object-fit:cover; object-position:top center; }
.ca-palco__hint { position:absolute; z-index:3; bottom:10px; left:5%; padding:7px 12px; background:#141210d9; border:1px solid var(--linha-2); border-radius:5px; color:var(--osso); font:.67rem var(--f-mono); }
.ca-ficha { display:grid; grid-template-columns:1fr 1fr 1.4fr 1fr; gap:25px; align-items:start; padding:32px 0; border-top:1px solid var(--linha-2); border-bottom:1px solid var(--linha-2); margin-top:75px; }
.ca-ficha div { display:grid; gap:6px; } .ca-ficha dt { font:.65rem var(--f-mono); color:var(--cinza); text-transform:uppercase; letter-spacing:.1em; } .ca-ficha dd { font-size:.97rem; line-height:1.4; font-weight:640; } .ca-ficha a { color:var(--cliente); text-decoration:none; border-bottom:1px solid currentColor; } .ca-ficha a:hover { color:var(--osso); }
.ca-narrativa { background:var(--osso); color:var(--tinta); color-scheme:light; }
.ca-narrativa__intro { display:grid; grid-template-columns:1fr 1.35fr; gap:clamp(30px,8vw,130px); align-items:start; }
.ca-narrativa .olho { color:var(--brasa-escura); } .ca-narrativa .olho::before { background:var(--brasa-escura); }
.ca-narrativa h2 { margin:17px 0 0; }
.ca-narrativa__duo { display:grid; grid-template-columns:1fr 1fr; gap:30px; border-top:1px solid #ccc5bb; padding:28px 0; }
.ca-narrativa__duo:first-child { border-top:0; padding-top:0; }
.ca-narrativa__duo h3 { font-size:1.15rem; font-weight:800; letter-spacing:-.02em; } .ca-narrativa__duo p { line-height:1.55; color:var(--cinza-2); }
.ca-numeros { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #cfc9bf; margin-top:65px; }
.ca-numeros div { display:flex; flex-direction:column-reverse; align-items:flex-start; justify-content:flex-end; padding:24px 20px 0 0; } .ca-numeros dd { font:850 clamp(2.5rem,5vw,5.8rem)/.98 var(--f-display); font-stretch:120%; letter-spacing:-.05em; color:var(--brasa-escura); }
.ca-numeros dt { max-width:23ch; margin-top:10px; font-size:.85rem; color:var(--cinza-2); line-height:1.4; }
.ca-galeria { padding:var(--sec) 0; background:var(--carvao-2); }
.ca-galeria .cabeca { margin-bottom:48px; } .ca-galeria h2 { margin-top:18px; }
.ca-galeria__grade { display:grid; grid-template-columns:1.4fr .6fr; align-items:start; gap:clamp(20px,3vw,45px); }
.ca-galeria figure { min-width:0; } .ca-galeria__grade figure:first-child { grid-row:auto; }
.ca-galeria img { width:100%; border-radius:12px; border:1px solid var(--linha-2); }
.ca-galeria figcaption,.ca-marca figcaption { color:var(--cinza); font:.72rem/1.5 var(--f-mono); margin-top:12px; }
.ca-galeria__grade figure:nth-child(2) { width:85%; justify-self:center; } .ca-galeria__grade figure:nth-child(2) img { box-shadow:0 28px 60px #0008; }
.ca-galeria__rolagem { max-height:520px; overflow-y:auto; overscroll-behavior:contain; border:8px solid #2d2a27; border-radius:22px; scrollbar-color:var(--cliente) #24211e; }
.ca-galeria__rolagem img { max-height:none; border:0; border-radius:0; }
.ca-galeria__rolagem:focus-visible { outline:2px solid var(--brasa); outline-offset:4px; }
.ca-sistema { background:var(--carvao); padding:var(--sec) 0; border-top:1px solid var(--linha); }
.ca-sistema__head { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; margin-bottom:38px; }
.ca-sistema h2 { margin-top:18px; max-width:13ch; } .ca-sistema .lead { color:var(--cinza); }
.ca-sistema__visual { display:grid; grid-template-columns:1fr .6fr; gap:clamp(18px,3vw,40px); align-items:center; }
.ca-sistema__telas { display:grid; gap:18px; }
.ca-sistema__visual img { width:100%; border-radius:12px; border:1px solid var(--linha-2); }
.ca-sistema__visual figure { position:relative; background:var(--carvao-3); border:1px solid var(--linha); padding:12px; border-radius:18px; }
.ca-sistema__selo { position:absolute; z-index:2; top:20px; right:20px; padding:8px 10px; background:#141210; color:var(--osso); border:1px solid var(--linha-2); border-radius:6px; font:.6rem/1.3 var(--f-mono); letter-spacing:.05em; }
.ca-sistema__visual figcaption { padding:8px 3px 2px; font:.7rem var(--f-mono); color:var(--cinza); }
.ca-sistema__esquema { padding:clamp(20px,3vw,44px); border:1px solid var(--linha-2); background:radial-gradient(circle at 100% 0,var(--cliente-halo),transparent 58%),var(--carvao-3); border-radius:20px; }
.ca-sistema__esquema .mono { color:var(--cliente); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
.ca-sistema__esquema ol { padding:0; margin:24px 0 0; list-style:none; display:grid; gap:15px; }
.ca-sistema__esquema li { display:flex; gap:12px; align-items:center; border-top:1px solid var(--linha-2); padding-top:15px; font-size:1rem; line-height:1.35; }
.ca-sistema__esquema li::before { content:'↗'; color:var(--cliente); font-size:1.3rem; }
.ca-sistema__nota { color:var(--cinza); font-size:.8rem; margin-top:20px; }
.ca-marca { background:var(--osso-2); color:var(--tinta); padding:var(--sec) 0; } .ca-marca h2 { margin:18px 0 32px; }
.ca-marca__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ca-marca__grid--solo { grid-template-columns:minmax(0,680px); }
.ca-marca figure { min-width:0; padding:clamp(12px,2vw,24px); background:#fffdfa; border:1px solid #d8d1c5; border-radius:14px; display:grid; align-content:center; }
.ca-marca img { width:100%; max-height:430px; object-fit:contain; }
.ca-marca figcaption { color:var(--cinza-2); }
/* Peças-assinatura: a prova singular de cada caso sem dado de cliente inventado. */
.ca-assinatura { padding:clamp(85px,10vw,145px) 0; background:var(--osso-2); color:var(--tinta); }
.ca-assinatura .olho { color:var(--brasa-escura); }
.ca-assinatura .olho::before { background:var(--brasa-escura); }
.ca-assinatura h2 { max-width:20ch; margin:20px 0 45px; font-size:clamp(2.45rem,4.5vw,4.8rem); }
.ca-assinatura__nota { margin-top:20px; color:var(--cinza-2); font:.73rem/1.5 var(--f-mono); max-width:72ch; }
.ca-assinatura__fluxo { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:16px; align-items:center; }
.ca-assinatura__fluxo > div { min-height:210px; display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding:26px; border:1px solid rgba(11,10,9,.16); background:#fffdf8; border-radius:12px; }
.ca-assinatura__fluxo b,.ca-assinatura__idiomas b { color:var(--brasa-escura); font:.67rem var(--f-mono); text-transform:uppercase; letter-spacing:.08em; }
.ca-assinatura__fluxo strong,.ca-assinatura__idiomas strong { font-size:clamp(1.35rem,2vw,2.1rem); line-height:1.08; letter-spacing:-.03em; }
.ca-assinatura__fluxo p { color:var(--cinza-2); font-size:.97rem; line-height:1.4; }
.ca-assinatura__fluxo > span { color:var(--brasa-escura); font-size:2rem; }
.ca-assinatura--forno-e-pronto { background:radial-gradient(circle at 80% 5%,#f5dcbd,transparent 45%),var(--osso-2); }
.ca-assinatura--residencial-maria-rita { background:#173d34; color:var(--osso); }
.ca-assinatura--residencial-maria-rita .olho,.ca-assinatura--residencial-maria-rita .ca-assinatura__nota { color:#d2d9c7; }
.ca-assinatura--residencial-maria-rita .olho::before { background:#d2d9c7; }
.ca-assinatura__calendario { max-width:1050px; padding:clamp(18px,3vw,35px); border:1px solid #b2c6b377; background:#faf8ef; color:#153e32; border-radius:16px; box-shadow:0 35px 85px #0b281eaa; }
.ca-assinatura__calendario > .mono { color:#506c5b; font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:18px; }
.ca-assinatura__calendario > div { display:grid; grid-template-columns:140px 1fr 140px; align-items:center; gap:18px; padding:11px 0; border-bottom:1px solid #cfd8ca; }
.ca-assinatura__calendario b { font-size:.9rem; }
.ca-assinatura__calendario em { font:500 .72rem var(--f-mono); color:#426753; font-style:normal; }
.ca-assinatura__calendario .ca-assinatura__calendario-topo { font:.65rem var(--f-mono); text-transform:uppercase; color:#5b715e; }
.ca-assinatura__barra { display:block; height:20px; border-radius:4px; background:linear-gradient(90deg,transparent 10%,#64889b 10%,#64889b 47%,transparent 47%); }
.ca-assinatura__barra--manual { background:linear-gradient(90deg,transparent 42%,#139059 42%,#139059 76%,transparent 76%); }
.ca-assinatura__bloqueio { margin-top:22px; color:#852a17; font-weight:800; }
.ca-assinatura--casa-paraiso { background:#213b30; color:var(--osso); }
.ca-assinatura--casa-paraiso .olho,.ca-assinatura--casa-paraiso .ca-assinatura__nota { color:#dbd7c6; }
.ca-assinatura--casa-paraiso .olho::before { background:#dbd7c6; }
.ca-assinatura__idiomas { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ca-assinatura__idiomas > div { min-height:230px; padding:26px; display:flex; flex-direction:column; gap:18px; border:1px solid #c4d3ae66; background:#f5f2e7; color:#1d352b; }
.ca-assinatura__idiomas span { margin-top:auto; color:#526c55; font:.72rem var(--f-mono); }
.ca-assinatura__faixa { margin-top:18px; padding:22px; border-top:1px solid #c4d3ae66; color:#f4f0df; font:.74rem/1.6 var(--f-mono); }
.ca-assinatura__faixa span { margin:0 13px; color:#bfa675; }
.ca-assinatura--vicmar { background:#122934; color:var(--osso); }
.ca-assinatura--vicmar .olho,.ca-assinatura--vicmar .ca-assinatura__nota { color:#d0b5a7; }
.ca-assinatura--vicmar .olho::before { background:#d0b5a7; }
.ca-assinatura--vicmar .ca-assinatura__fluxo > div { background:#1b3845; color:var(--osso); border-color:#667e7e; }
.ca-assinatura--vicmar .ca-assinatura__fluxo p { color:#d0dadd; }
.ca-assinatura--vicmar .ca-assinatura__fluxo b,.ca-assinatura--vicmar .ca-assinatura__fluxo > span { color:#ff936b; }
.ca-assinatura__codigo { display:block; margin-top:22px; padding:16px 22px; color:#ffe7cc; background:#0d2029; border:1px solid #637d7d; font:.78rem var(--f-mono); overflow-wrap:anywhere; }
.ca-assinatura--vet-do-pet { background:#dde8dc; }
.ca-assinatura__marca { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.ca-assinatura__marca > div { display:grid; justify-items:center; align-content:center; gap:18px; min-width:170px; min-height:175px; padding:22px; background:#fffdf8; border:1px solid #a9c2ac; border-radius:12px; text-align:center; }
.ca-assinatura__marca > div:last-child { min-width:280px; text-align:left; justify-items:start; }
.ca-assinatura__marca img { object-fit:contain; }
.ca-assinatura__marca strong { font-size:1.8rem; line-height:1.05; }
.ca-assinatura__marca span { color:#486256; font-size:.9rem; }
.ca-assinatura--cocada-da-maria { background:#f2d6b0; }
.ca-assinatura__sabores { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.ca-assinatura__sabores > div { min-height:260px; display:flex; flex-direction:column; justify-content:space-between; gap:20px; padding:28px; background:#603521; color:#fff7e7; border-radius:50% 50% 14px 14px / 20% 20% 14px 14px; }
.ca-assinatura__sabores > div:nth-child(2) { background:#874724; }.ca-assinatura__sabores > div:nth-child(3) { background:#9b6a3a; }
.ca-assinatura__sabores b { font:.75rem var(--f-mono); }.ca-assinatura__sabores strong { font:italic 400 clamp(2rem,3vw,3.7rem)/.9 var(--f-serifa); }
.ca-assinatura__sabores span { font:.78rem var(--f-mono); }
.ca-assinatura--testarudo { background:#e6dfbd; }
.ca-assinatura__papel { max-width:1050px; display:grid; gap:24px; padding:clamp(25px,5vw,65px); color:#163b45; background:#faf6e7; border:2px solid #163b45; box-shadow:12px 12px 0 #b6a447; transform:rotate(-1deg); }
.ca-assinatura__papel .mono { color:#994576; font-size:.7rem; letter-spacing:.12em; }
.ca-assinatura__papel strong { max-width:17ch; font-size:clamp(2rem,4vw,4.4rem); line-height:.98; letter-spacing:-.04em; }
.ca-assinatura__papel > div { display:flex; flex-wrap:wrap; gap:9px; }
.ca-assinatura__papel span { border:1px solid #163b45; padding:9px 12px; font:.78rem var(--f-mono); }
.ca-servicos { padding:var(--sec) 0; } .ca-servicos h2 { max-width:13ch; margin:18px 0 48px; }
.ca-servicos__lista { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:start; }
.ca-servicos__lista:has(> a:nth-child(2):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ca-servicos__lista a { display:grid; align-content:start; gap:15px; min-width:0; padding:clamp(20px,2.3vw,32px); background:var(--carvao-3); border:1px solid var(--linha); border-radius:14px; text-decoration:none; transition:transform .35s,border .35s,background-color .35s; }
.ca-servicos__lista a:hover { border-color:var(--brasa); background:var(--carvao-4); transform:translateY(-5px); }
.ca-servicos__top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:5px; }
.ca-servicos__top svg { width:48px; height:48px; flex:none; padding:11px; border-radius:14px; color:var(--cliente); background:rgba(244,239,230,.06); border:1px solid var(--linha-2); }
.ca-servicos__top span { color:var(--cinza); font:.65rem var(--f-mono); letter-spacing:.04em; text-transform:uppercase; text-align:right; }
.ca-servicos__lista strong { font-size:clamp(1.25rem,1.6vw,1.55rem); line-height:1.12; letter-spacing:-.025em; }
.ca-servicos__lista p { max-width:32ch; color:var(--cinza); font-size:.96rem; line-height:1.45; text-wrap:pretty; }
.ca-proximo { background:var(--osso); color:var(--tinta); padding:65px 0; } .ca-proximo a { display:flex; justify-content:space-between; align-items:center; gap:20px; text-decoration:none; font-size:clamp(2rem,5vw,5.3rem); font-weight:820; font-stretch:115%; letter-spacing:-.045em; line-height:1; }
.ca-proximo a span:last-child { color:var(--brasa-escura); } .ca-proximo a:hover span:last-child { transform:translateX(10px); }
.ca-fecho { padding:var(--sec) 0; text-align:center; background:radial-gradient(circle at 50% 100%,var(--cliente-halo),transparent 55%),var(--carvao); }
.ca-fecho h2 { max-width:15ch; margin:15px auto 25px; } .ca-fecho .lead { margin:auto; } .ca-fecho .acoes { justify-content:center; margin-top:27px; }
@media(max-width:760px) { .ca-hero { padding-top:115px; } .ca-hero__top,.ca-narrativa__intro,.ca-sistema__head,.ca-sistema__visual { grid-template-columns:1fr; } .ca-hero h1 { font-size:clamp(3.05rem,12vw,5.5rem); } .ca-palco { padding-right:0; padding-bottom:45px; } .ca-palco__desktop { width:95%; border-width:6px; } .ca-palco__cel { min-width:100px; width:27%; right:-1%; bottom:-5px; } .ca-palco__hint { bottom:-11px; left:1%; } .ca-ficha { grid-template-columns:repeat(2,1fr); gap:22px; margin-top:55px; } .ca-narrativa__duo { grid-template-columns:1fr; gap:8px; } .ca-numeros { grid-template-columns:repeat(3,minmax(0,1fr)); } .ca-numeros dd { font-size:clamp(2rem,7vw,3.5rem); } .ca-galeria__grade { grid-template-columns:1fr 1fr; } .ca-galeria__grade figure:first-child { grid-column:span 2; grid-row:auto; } .ca-galeria__grade figure:nth-child(2) { width:100%; } .ca-servicos__lista { grid-template-columns:1fr; } .ca-servicos__lista a { padding:22px; gap:11px; } }
@media(max-width:410px) { .ca-ficha { grid-template-columns:1fr 1fr; } .ca-ficha dd { overflow-wrap:anywhere; font-size:.87rem; } .ca-numeros { grid-template-columns:1fr; } .ca-numeros div { border-top:1px solid #ccc; padding:18px 0; } .ca-galeria__grade { grid-template-columns:1fr; } .ca-galeria__grade figure:first-child { grid-column:auto; } .ca-galeria__grade figure:nth-child(2) { width:65%; } }
@media(max-width:760px) {
  .ca-assinatura__fluxo,.ca-assinatura__idiomas,.ca-assinatura__sabores { grid-template-columns:1fr; }
  .ca-assinatura__fluxo > span { transform:rotate(90deg); justify-self:center; line-height:1; }
  .ca-assinatura__fluxo > div,.ca-assinatura__idiomas > div,.ca-assinatura__sabores > div { min-height:0; }
  .ca-assinatura__sabores > div { border-radius:28px; }
  .ca-assinatura__calendario > div { grid-template-columns:85px 1fr; gap:10px; }
  .ca-assinatura__calendario > div em,.ca-assinatura__calendario-topo span:last-child { display:none; }
  .ca-assinatura__papel { transform:none; box-shadow:6px 6px 0 #b6a447; }
  .ca-servicos__lista:has(> a:nth-child(2):last-child) { grid-template-columns:1fr; }
  .ca-galeria__rolagem { max-height:450px; }
}
@media(prefers-reduced-motion:reduce) { .ca-palco video { display:none; } }
