:root{--gold:#c69a4b;--ink:#071014;--cream:#f7f3ec}html{scroll-padding-top:80px}body{overflow-x:hidden}.hero-grid{background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:64px 64px}.eyebrow{font-size:.72rem;line-height:1rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#d8b66f}.section{padding:6rem 0}.section-title{margin-top:1rem;font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,5vw,4.2rem);line-height:.95;font-weight:600}.navlink{position:relative;transition:.25s}.navlink:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--gold);transition:.25s}.navlink:hover{color:#fff}.navlink:hover:after{right:0}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;gap:.65rem;border-radius:.8rem;padding:.95rem 1.25rem;font-size:.9rem;font-weight:700;transition:.25s}.btn-primary{background:linear-gradient(135deg,#e5c16f,#b8832f);color:#101010;box-shadow:0 12px 35px rgba(198,154,75,.2)}.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.06)}.btn-secondary{border:1px solid rgba(228,193,116,.6);color:#fff}.btn-secondary:hover{background:rgba(198,154,75,.12)}.btn-primary svg,.btn-secondary svg{width:18px;height:18px}.trust{display:flex;gap:.65rem;align-items:center;font-size:.7rem;line-height:1.25;color:rgba(255,255,255,.72)}.trust svg{width:22px;color:#d8b66f}.practice-card{border:1px solid rgba(72,52,24,.12);border-radius:1rem;background:#fff;padding:2rem;box-shadow:0 16px 50px rgba(40,28,13,.04);transition:.3s}.practice-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(40,28,13,.09);border-color:rgba(198,154,75,.45)}.practice-card h3{margin-top:1.2rem;font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:600}.practice-card p{margin-top:.6rem;color:#64748b;line-height:1.7;font-size:.9rem}.practice-card ul{margin-top:1rem;display:grid;gap:.55rem;color:#475569;font-size:.88rem}.practice-card li:before{content:"•";color:#b8832f;margin-right:.55rem}.practice-card a{margin-top:1.5rem;display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;color:#9b6b23}.practice-card a svg{width:16px}.practice-icon{height:36px;width:36px;color:#b8832f}.mini-feature{display:flex;align-items:center;gap:.65rem;color:rgba(255,255,255,.72);font-size:.75rem}.mini-feature svg{width:22px;color:#d8b66f}.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.25rem;position:relative}.process-grid:before{content:"";position:absolute;left:5%;right:5%;top:26px;height:1px;background:linear-gradient(90deg,transparent,#c69a4b,transparent)}.process{position:relative;padding-top:0}.process>span{font-size:.68rem;font-weight:700;color:#7c5a22}.process>svg{position:relative;z-index:1;margin:10px 0 18px;width:54px;height:54px;padding:15px;border-radius:999px;background:#8d672d;color:#fff;box-shadow:0 0 0 6px #f7f3ec}.process h3{font-weight:700}.process p{margin-top:.45rem;font-size:.78rem;line-height:1.55;color:#64748b}.faq{border:1px solid rgba(15,23,42,.1);border-radius:.75rem;background:#fff;padding:0 1.1rem}.faq summary{display:flex;cursor:pointer;list-style:none;align-items:center;justify-content:space-between;padding:1rem 0;font-size:.9rem;font-weight:600}.faq summary::-webkit-details-marker{display:none}.faq summary svg{width:16px;transition:.25s}.faq[open] summary svg{transform:rotate(45deg)}.faq p{padding:0 0 1rem;color:#64748b;font-size:.88rem;line-height:1.7}.contact-glow{background:radial-gradient(circle at 75% 35%,rgba(198,154,75,.14),transparent 35%)}.contact-link{display:flex;max-width:480px;align-items:center;gap:1rem;border:1px solid rgba(198,154,75,.35);border-radius:1rem;padding:1rem 1.1rem;transition:.25s}.contact-link:hover{border-color:#c69a4b;background:rgba(198,154,75,.08)}.contact-link svg{color:#d8b66f}.contact-link span{display:grid;font-weight:600}.contact-link small{font-weight:500;color:rgba(255,255,255,.45);font-size:.66rem;text-transform:uppercase;letter-spacing:.12em}form label{font-size:.75rem;font-weight:600;color:rgba(255,255,255,.72)}form input,form select,form textarea{margin-top:.45rem;width:100%;border:1px solid rgba(255,255,255,.12);border-radius:.75rem;background:rgba(2,7,9,.72);padding:.9rem 1rem;color:#fff;outline:none;transition:.2s}form input:focus,form select:focus,form textarea:focus{border-color:#c69a4b;box-shadow:0 0 0 3px rgba(198,154,75,.12)}form select option{background:#071014}.status-ok{display:block!important;background:rgba(34,197,94,.12);color:#bbf7d0}.status-error{display:block!important;background:rgba(239,68,68,.12);color:#fecaca}@media(max-width:900px){.section{padding:4.5rem 0}.process-grid{grid-template-columns:1fr 1fr}.process-grid:before{display:none}}@media(max-width:640px){.process-grid{grid-template-columns:1fr}.process{display:grid;grid-template-columns:60px 1fr;column-gap:1rem}.process>span{grid-column:1}.process>svg{grid-column:1;grid-row:2/4}.process h3,.process p{grid-column:2}.hero{min-height:auto}.hero h1{font-size:3.25rem}}
/* Editorial details and restrained section transitions. */
html { scroll-behavior: smooth; }
html.is-navigating { scroll-behavior: auto !important; }
#header { transition: background-color .3s, box-shadow .3s, border-color .3s; }
#header.is-scrolled { background-color: rgba(7,16,20,.96); border-color: rgba(198,154,75,.22); box-shadow: 0 8px 32px #0002; }
.navlink[aria-current="location"] { color: #e4c174; }
.navlink[aria-current="location"]:after { right: 0; }
#mobileNav a[aria-current="location"] { color: #e4c174; }
main > section { position: relative; isolation: isolate; }
main > section:not(:first-child)::before { content: ""; position: absolute; z-index: 2; top: 0; left: 0; right: 0; height: 1px; pointer-events: none; background: linear-gradient(90deg,transparent,rgba(198,154,75,.55),transparent); }
.hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 64px; pointer-events: none; background: linear-gradient(transparent,rgba(198,154,75,.09)); }
#areas, #como-atuamos, #duvidas { background-image: linear-gradient(180deg,rgba(198,154,75,.09),transparent 110px,transparent calc(100% - 110px),rgba(198,154,75,.045)); }
#sobre, #contato { background-image: radial-gradient(ellipse at top left,rgba(198,154,75,.07),transparent 55%); }
.eyebrow { display: flex; align-items: center; gap: .8rem; }
.eyebrow::before { content: ""; width: 1.8rem; height: 1px; background: currentColor; opacity: .65; flex-shrink: 0; }
svg { flex-shrink: 0; }
.whatsapp-icon { display: inline-block; width: 1.2rem; height: 1.2rem; fill: currentColor; vertical-align: middle; }
.practice-card { display: flex; flex-direction: column; position: relative; }
.practice-card .practice-icon { box-sizing: content-box; width: 28px; height: 28px; padding: 15px; border: 1px solid rgba(198,154,75,.2); border-radius: 16px; background: linear-gradient(135deg,#faf5ea,#f2e8d5); color: #906423; }
.practice-card a { margin-top: auto; padding-top: 1.5rem; }
.practice-card a svg, .btn-primary svg:last-child { transition: transform .25s; }
.practice-card:hover a svg, .btn-primary:hover svg:last-child:not(.whatsapp-icon) { transform: translateX(3px); }
.practice-card:focus-within { border-color: var(--gold); box-shadow: 0 20px 60px rgba(40,28,13,.09); }
.trust svg, .mini-feature svg { height: 24px; width: 24px; }
.faq { transition: border-color .25s, box-shadow .25s; }
.faq[open] { border-color: rgba(198,154,75,.5); box-shadow: 0 8px 24px #281c0d06; }
.faq[open] p { animation: answer-in .3s ease-out; }
@keyframes answer-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
.contact-link span { min-width: 0; overflow-wrap: anywhere; }
.contact-link > svg { width: 24px; height: 24px; }
form input[type="checkbox"] { width: 1rem; height: 1rem; padding: 0; flex-shrink: 0; accent-color: var(--gold); }
.privacy-link { text-decoration: underline; text-underline-offset: 3px; color: #e4c174; }
.whatsapp-float { box-shadow: 0 8px 26px #0003; border: 1px solid #ffffff40; bottom: max(1.25rem,env(safe-area-inset-bottom)); }
.whatsapp-float .whatsapp-icon { width: 28px; height: 28px; }
.whatsapp-float::before { content: "Falar no WhatsApp"; position: absolute; right: calc(100% + 12px); white-space: nowrap; padding: .65rem .85rem; border: 1px solid #c69a4b55; border-radius: .6rem; background: #071014; color: #fff; font-size: .75rem; opacity: 0; transform: translateX(4px); pointer-events: none; transition: .2s; }
.whatsapp-float:hover::before, .whatsapp-float:focus-visible::before { opacity: 1; transform: none; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid #b8832f; outline-offset: 5px; border-radius: 4px; }
footer > div:last-child { padding-right: 5.5rem; padding-left: 5.5rem; }
/* A fine gold contour rises on the left, mirrored from the reference footer. */
.site-footer { position: relative; isolation: isolate; }
.site-footer::before {
  content: "";
  position: absolute;
  inset: -62px 0 auto;
  height: 80px;
  background: url('../img/footer-curve.svg') center / 100% 100% no-repeat;
  transform: scaleX(-1);
  pointer-events: none;
  z-index: -1;
}
@media (max-width: 640px) {
  .site-footer::before { top: -38.75px; height: 50px; }
}
/* Let GSAP own the reveal; hover transitions resume after each entrance. */
.is-revealing { transition: none !important; }
#inicio [data-reveal]:has(> img) { overflow: hidden; border-radius: 2rem; }
.practice-card, .btn-primary, .btn-secondary, .contact-link, .whatsapp-float {
  transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease, border-color .3s ease, background-color .3s ease, filter .3s ease;
}
.practice-icon, .process > svg, .mini-feature svg {
  transition: transform .45s cubic-bezier(.22,1,.36,1), box-shadow .4s ease;
}
.navlink::after { right: 0; transform: scaleX(0); transform-origin: left; transition: transform .35s cubic-bezier(.22,1,.36,1); }
.navlink:hover::after, .navlink[aria-current="location"]::after { transform: scaleX(1); }
.btn-primary:active, .btn-secondary:active { transform: translateY(1px); }
#mobileNav:not(.hidden) { animation: menu-in .28s cubic-bezier(.22,1,.36,1) both; transform-origin: top; }
@keyframes menu-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
@media (hover: hover) and (pointer: fine) {
  .practice-card:hover .practice-icon { transform: translateY(-3px); box-shadow: 0 8px 20px #9b6b2314; }
  .process:hover > svg { transform: translateY(-4px); }
  .mini-feature:hover svg { transform: translateY(-2px); }
  .btn-secondary:hover, .contact-link:hover { transform: translateY(-2px); }
}
@media (prefers-reduced-motion: reduce) {
  html.scroll-smooth, html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .practice-card:hover, .btn-primary:hover, .whatsapp-float:hover { transform: none; }
  .practice-card:hover .practice-icon, .process:hover > svg, .mini-feature:hover svg,
  .btn-secondary:hover, .contact-link:hover, .btn-primary:active, .btn-secondary:active,
  .practice-card:hover a svg, .btn-primary:hover svg:last-child:not(.whatsapp-icon) { transform: none; }
}
