/* Projeto Gerado pelo Prompt Mestre do Desenvolvedor e Vibe Coder Dante Testa — www.dantetesta.com.br */
:root { --ink:#121E2B; --copper:#C29574; --paper:#E5E5E5; --support:#EFEFEF; --ink-rgb:18,30,43; --copper-rgb:194,149,116; --paper-rgb:229,229,229; --max:1280px; --ease:cubic-bezier(.16,1,.3,1); }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; color:var(--paper); background:var(--ink); font-family:Montserrat,Arial,sans-serif; font-size:16px; line-height:1.6; overflow-x:clip; }
    body.modal-open { overflow:hidden; }
    a { color:inherit; text-decoration:none; }
    button,input,select,textarea { font:inherit; }
    button { cursor:pointer; }
    .wrap { width:min(calc(100% - 48px),var(--max)); margin:auto; }
    .eyebrow { display:flex; gap:14px; align-items:center; color:var(--copper); font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
    .eyebrow::before { content:""; width:48px; height:1px; background:var(--copper); }
    h1,h2,h3,p { margin-top:0; }
    h2 { max-width:760px; font-size:clamp(32px,4vw,58px); font-weight:200; font-stretch:normal; letter-spacing:normal; line-height:1.12; transform:none; }
    h2 strong { font-weight:400; }
    .section { padding:128px 0; position:relative; }
    .line-button { --button-bg:transparent; position:relative; display:inline-flex; min-height:54px; align-items:center; justify-content:center; gap:11px; padding:0 22px; border:1px solid rgba(var(--copper-rgb),.72); color:var(--paper); background:var(--button-bg); font-size:12px; font-weight:700; letter-spacing:.075em; text-transform:uppercase; isolation:isolate; transition:color .28s var(--ease),transform .28s var(--ease); }
    .line-button::before,.line-button::after { content:""; position:absolute; pointer-events:none; z-index:-1; }
    .line-button::before { inset:-1px; background:linear-gradient(var(--copper),var(--copper)) no-repeat 0 0/0 1px,linear-gradient(var(--copper),var(--copper)) no-repeat 100% 100%/0 1px,linear-gradient(var(--copper),var(--copper)) no-repeat 0 0/1px 0,linear-gradient(var(--copper),var(--copper)) no-repeat 100% 100%/1px 0; transition:background-size .38s var(--ease); }
    .line-button::after { inset:0; background:var(--copper); transform:scaleX(0); transform-origin:left; transition:transform .38s var(--ease); }
    .line-button:hover,.line-button:focus-visible { color:var(--ink); transform:translateY(-2px); outline:none; }
    .line-button:hover::before,.line-button:focus-visible::before { background-size:100% 1px,100% 1px,1px 100%,1px 100%; }
    .line-button:hover::after,.line-button:focus-visible::after { transform:scaleX(1); }
    .line-button > *,.line-button svg { position:relative; z-index:1; }
    .line-button--solid { --button-bg:var(--copper); color:var(--ink); border-color:var(--copper); }
    .line-button--solid::after { background:var(--paper); }
    .line-button--solid:hover,.line-button--solid:focus-visible { color:var(--ink); }
    svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
    .site-header { position:absolute; inset:0 0 auto; z-index:12; border-bottom:1px solid rgba(var(--paper-rgb),.16); background:rgba(var(--ink-rgb),.64); backdrop-filter:blur(12px); transition:transform .45s var(--ease),opacity .35s var(--ease); }
    .site-header.is-hidden { transform:translateY(-105%); opacity:0; pointer-events:none; }
    .scroll-header { position:fixed; inset:0 0 auto; z-index:13; transform:translateY(-105%); background:var(--ink); border-bottom:1px solid rgba(var(--copper-rgb),.5); transition:transform .45s var(--ease); }
    .scroll-header.is-visible { transform:none; }
    .nav { display:flex; align-items:center; min-height:97px; gap:40px; }
    .brand { display:block; flex:0 0 240px; }
    .brand img { display:block; width:100%; height:auto; }
    .nav-links { display:flex; justify-content:flex-end; align-items:center; gap:30px; flex:1; font-size:12px; font-weight:700; letter-spacing:.035em; text-transform:uppercase; }
    .nav-links a:not(.line-button) { position:relative; color:rgba(var(--paper-rgb),.84); transition:color .25s var(--ease); }
    .nav-links a:not(.line-button):hover,.nav-links a:not(.line-button):focus-visible { color:var(--copper); outline:none; }
    .nav-links a:not(.line-button)::after { content:""; position:absolute; left:0; right:0; bottom:-7px; height:1px; background:var(--copper); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease); }
    .nav-links a:hover::after,.nav-links a:focus-visible::after { transform:scaleX(1); }
    .nav-toggle { display:none; margin-left:auto; border:0; color:var(--paper); background:none; }
    .nav-booking-icon { width:18px; height:18px; object-fit:contain; filter:brightness(0) saturate(100%) invert(12%) sepia(18%) saturate(1631%) hue-rotate(169deg) brightness(90%) contrast(94%); }
    .mobile-menu-head,.mobile-menu-divider,.mobile-menu-close { display:none; }
    .hero { min-height:760px; position:relative; z-index:1; display:grid; align-items:end; overflow:visible; background:var(--ink); }
    .hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(var(--ink-rgb),.98) 0%,rgba(var(--ink-rgb),.84) 37%,rgba(var(--ink-rgb),.28) 73%,rgba(var(--ink-rgb),.18) 100%); z-index:1; }
    .hero::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,var(--ink),transparent 34%); z-index:1; }
    .hero-image { position:absolute; inset:0; z-index:0; overflow:hidden; background:var(--ink); }
    .hero-image img { width:100%; height:100%; object-fit:cover; object-position:center; }
    .hero-content { position:relative; z-index:2; width:min(calc(100% - 48px),var(--max)); margin:auto; padding:190px 0 110px; }
    .hero-copy { max-width:680px; }
    .hero h1 { margin:18px 0 24px; font-size:clamp(48px,6vw,86px); font-weight:400; letter-spacing:normal; line-height:1.08; }
    .hero h1 strong { font-weight:700; }
    .hero p { max-width:480px; margin-bottom:32px; color:rgba(var(--paper-rgb),.82); font-size:15px; }
    .credibility { position:relative; z-index:2; isolation:isolate; min-height:148px; overflow:visible; color:var(--ink); background:var(--copper); }
    .credibility::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.24; pointer-events:none; background-image:radial-gradient(rgba(var(--ink-rgb),.62) .65px,transparent .85px); background-size:7px 7px; mask-image:linear-gradient(105deg,transparent 3%,#000 30%,#000 72%,transparent 97%); }
    .credibility .wrap { position:relative; min-height:148px; display:grid; grid-template-columns:185px 1fr; align-items:center; gap:52px; padding:5px 0; }
    .seal { position:absolute; z-index:3; top:50%; left:0; display:block; width:185px; margin-top:-101.5px; }
    .seal img { display:block; width:100%; height:auto; filter:drop-shadow(0 14px 12px rgba(var(--ink-rgb),.24)); }
    .credibility-stats { grid-column:2; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; align-items:center; }
    .credibility-stat { position:relative; min-height:108px; padding:18px; overflow:hidden; display:flex; align-items:center; justify-content:center; gap:12px; background:transparent; border:1px solid rgba(var(--ink-rgb),.52); }
    .credibility-stat::before,.credibility-stat::after { content:""; position:absolute; inset:0; pointer-events:none; background-repeat:no-repeat; opacity:0; transition:background-size .7s var(--ease),opacity .08s linear; }
    .credibility-stat::before { background-image:linear-gradient(var(--copper),var(--copper)),linear-gradient(var(--copper),var(--copper)); background-position:100% 0,100% 0; background-size:0 1px,1px 0; }
    .credibility-stat::after { background-image:linear-gradient(var(--copper),var(--copper)),linear-gradient(var(--copper),var(--copper)); background-position:0 100%,0 100%; background-size:0 1px,1px 0; }
    .credibility-stat:hover::before,.credibility-stat:hover::after { opacity:1; background-size:100% 1px,1px 100%; }
    .credibility-stat strong { display:block; color:var(--ink); font-size:clamp(34px,3vw,48px); font-weight:400; line-height:1; letter-spacing:normal; }
    .credibility-stat span { display:block; max-width:88px; color:rgba(var(--ink-rgb),.82); font-size:10px; font-weight:400; line-height:1.35; letter-spacing:normal; text-transform:uppercase; }
    .areas { background:var(--ink); }
    .areas::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.16; background-image:radial-gradient(rgba(var(--copper-rgb),.55) .6px,transparent .8px); background-size:7px 7px; mask-image:linear-gradient(110deg,transparent 4%,#000 38%,transparent 88%); }
    .section-head { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; margin-bottom:64px; }
    .section-head p { max-width:450px; margin-bottom:8px; color:rgba(var(--paper-rgb),.72); }
    .areas .section-head { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:24px; row-gap:28px; align-items:end; margin:0 0 70px; }
    .areas .section-head > div { grid-column:1 / span 7; }
    .areas .section-head .eyebrow { margin-bottom:22px; }
    .areas .section-head h2 { max-width:690px; margin:0; font-weight:200; font-size:clamp(38px,4.35vw,66px); line-height:1.16; letter-spacing:normal; }
    .areas .section-head h2 strong { color:var(--copper); font-weight:400; }
    .areas .section-head > p { grid-column:9 / span 4; max-width:390px; margin:0 0 5px; padding-left:24px; border-left:1px solid var(--copper); color:rgba(var(--paper-rgb),.78); font-size:14px; line-height:1.75; }
    .section-head:not(.areas .section-head) { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:24px; row-gap:28px; align-items:end; margin:0 0 70px; }
    .section-head:not(.areas .section-head) > div { grid-column:1 / span 7; }
    .section-head:not(.areas .section-head) .eyebrow { margin-bottom:22px; }
    .section-head:not(.areas .section-head) h2 { max-width:690px; margin:0; font-weight:200; font-size:clamp(38px,4.35vw,66px); line-height:1.16; }
    .section-head:not(.areas .section-head) h2 strong { color:var(--copper); font-weight:400; }
    .section-head:not(.areas .section-head) > p { grid-column:9 / span 4; max-width:390px; margin:0 0 5px; padding-left:24px; border-left:1px solid var(--copper); color:rgba(var(--paper-rgb),.78); font-size:14px; line-height:1.75; }
    .process .section-head h2 strong { color:var(--ink)!important; }
    .process .section-head > p { border-left-color:var(--ink); color:var(--ink)!important; }
    .contact h2 strong { color:var(--ink)!important; }
    .areas-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
    .area { --area-pos:0% 0%; min-height:330px; position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:space-between; padding:32px; overflow:hidden; border:1px dashed rgba(var(--paper-rgb),.62); transition:transform .35s var(--ease); }
    .area::before { content:""; position:absolute; inset:0; z-index:-2; background-image:linear-gradient(rgba(var(--ink-rgb),.49),rgba(var(--ink-rgb),.49)),url('../images/content/areas-juridicas.jpg'); background-position:var(--area-pos); background-size:300% 200%; transform:translateY(101%); transition:transform .7s var(--ease); }
    .area::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(var(--ink-rgb),.94),rgba(var(--ink-rgb),.28)); opacity:0; transition:opacity .45s var(--ease); }
    .area:hover,.area:focus-within { border-color:transparent; transform:translateY(-4px); }
    .area:hover::before,.area:focus-within::before { transform:none; }
    .area:hover::after,.area:focus-within::after { opacity:1; }
    .area > .area-border { position:absolute; inset:0; z-index:3; pointer-events:none; }
    .area > .area-border::before,.area > .area-border::after { content:""; position:absolute; inset:-1px; background-repeat:no-repeat; opacity:0; transition:background-size .85s var(--ease),opacity .08s linear; }
    .area > .area-border::before { background-image:linear-gradient(var(--copper),var(--copper)),linear-gradient(var(--copper),var(--copper)); background-position:100% 0,100% 0; background-size:0 2px,2px 0; }
    .area > .area-border::after { background-image:linear-gradient(var(--copper),var(--copper)),linear-gradient(var(--copper),var(--copper)); background-position:0 100%,0 100%; background-size:0 2px,2px 0; }
    .area:hover > .area-border::before,.area:focus-within > .area-border::before,.area:hover > .area-border::after,.area:focus-within > .area-border::after { opacity:1; background-size:100% 2px,2px 100%; }
    .area:nth-child(1){--area-pos:0% 0%}.area:nth-child(2){--area-pos:50% 0%}.area:nth-child(3){--area-pos:100% 0%}.area:nth-child(4){--area-pos:0% 100%}.area:nth-child(5){--area-pos:50% 100%}.area:nth-child(6){--area-pos:100% 100%}
    .area__icon { width:28px; height:28px; filter:invert(72%) sepia(23%) saturate(734%) hue-rotate(341deg) brightness(86%) contrast(84%); }
    .area h3 { margin:42px 0 10px; font-size:27px; font-weight:400; letter-spacing:normal; }
    .area p { min-height:67px; margin:0; color:rgba(var(--paper-rgb),.8); font-size:13px; }
    .area .area-link { display:inline-flex; align-items:center; gap:9px; width:max-content; margin-top:22px; padding-bottom:3px; color:var(--paper); border-bottom:1px solid var(--copper); font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; opacity:0; transform:translateY(10px); transition:opacity .3s var(--ease) .12s,transform .3s var(--ease) .12s,color .2s; }
    .area:hover .area-link,.area:focus-within .area-link { opacity:1; transform:none; }
    .area-link:hover,.area-link:focus-visible { color:var(--copper); outline:none; }
    .process { background:var(--support); color:var(--ink); }
    .process .eyebrow { color:var(--ink); }
    .process .eyebrow::before { background:var(--copper); }
    .process-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(var(--ink-rgb),.35); border-bottom:1px solid rgba(var(--ink-rgb),.35); }
    .step { min-height:310px; padding:30px 30px 30px 0; border-right:1px solid rgba(var(--ink-rgb),.35); }
    .step + .step { padding-left:30px; }
    .step:last-child { border-right:0; }
    .step__number { color:var(--ink); font-size:13px; font-weight:700; letter-spacing:.14em; }
    .step h3 { margin:72px 0 10px; font-size:27px; font-weight:400; letter-spacing:normal; }
    .step p { max-width:300px; margin:0; color:rgba(var(--ink-rgb),.75); }
    .about-grid { display:grid; grid-template-columns:5fr 7fr; align-items:center; gap:clamp(32px,7vw,110px); }
    .about-copy .eyebrow,.faq-copy .eyebrow { margin-bottom:22px; }
    .about-copy h2,.faq-copy h2 { max-width:690px; margin-bottom:32px; font-size:clamp(38px,4.35vw,66px); font-weight:200; line-height:1.16; }
    .about-copy h2 strong,.faq-copy h2 strong { color:var(--copper); font-weight:400; }
    .about-copy p,.faq-copy > p { max-width:390px; margin:0 0 18px; padding-left:24px; border-left:1px solid var(--copper); color:rgba(var(--paper-rgb),.78); font-size:14px; line-height:1.75; }
    .about-facts { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:48px; background:rgba(var(--paper-rgb),.28); border:1px solid rgba(var(--paper-rgb),.28); }
    .fact { padding:18px; background:var(--ink); }
    .fact strong { display:block; color:var(--copper); font-size:28px; letter-spacing:normal; }
    .fact span { color:rgba(var(--paper-rgb),.72); font-size:12px; }
    .about-photo { min-height:520px; position:relative; overflow:hidden; border:1px solid rgba(var(--paper-rgb),.28); background:rgba(var(--copper-rgb),.14); }
    .about-photo::before { content:"SOBRE"; position:absolute; z-index:2; top:24px; right:-12px; color:var(--copper); font-size:11px; font-weight:700; letter-spacing:.25em; writing-mode:vertical-rl; }
    .about-photo::after { content:"IMAGEM ILUSTRATIVA"; position:absolute; left:20px; bottom:20px; z-index:2; padding:5px 8px; color:var(--ink); background:var(--copper); font-size:9px; font-weight:700; letter-spacing:.11em; }
    .about-photo img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; filter:grayscale(1) contrast(1.08) opacity(.82); }
    #faq { background:rgba(var(--paper-rgb),.055); }
    .faq-wrap { display:grid; grid-template-columns:5fr 7fr; gap:clamp(32px,9vw,140px); }
    .faq-copy p { color:rgba(var(--paper-rgb),.78); }
    .faq-list { border-top:1px solid rgba(var(--paper-rgb),.28); }
    .faq-item { border-bottom:1px solid rgba(var(--paper-rgb),.28); }
    .faq-question { width:100%; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:24px 0; border:0; color:var(--paper); background:none; text-align:left; font-size:18px; font-weight:200; letter-spacing:normal; transition:color .28s var(--ease); }
    .faq-question svg { flex:0 0 auto; color:var(--copper); transition:transform .28s var(--ease); }
    .faq-answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows .32s var(--ease); }
    .faq-answer > div { overflow:hidden; }
    .faq-answer p { max-width:590px; margin:0; padding-bottom:0; color:rgba(var(--paper-rgb),.72); font-size:14px; }
    .faq-item.is-open .faq-question { color:var(--copper); }
    .faq-item.is-open .faq-answer { grid-template-rows:1fr; }
    .faq-item.is-open .faq-answer p { padding-bottom:24px; }
    .faq-item.is-open .faq-question svg { transform:rotate(45deg); }
    .journal { background:rgba(var(--paper-rgb),.075); }
    .journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid rgba(var(--paper-rgb),.28); }
    .article { position:relative; isolation:isolate; min-width:0; min-height:440px; padding:26px; overflow:hidden; border-right:1px solid rgba(var(--paper-rgb),.28); display:flex; flex-direction:column; justify-content:flex-end; transition:background .35s var(--ease); }
    .article:last-child { border:0; }
    .article:hover { background:rgba(var(--paper-rgb),.035); }
    .article-media { position:absolute; inset:0; z-index:-1; display:block; overflow:hidden; background-color:var(--ink); background-image:linear-gradient(180deg,rgba(var(--ink-rgb),.82) 0%,rgba(var(--ink-rgb),.48) 42%,rgba(var(--ink-rgb),.92) 100%),url('../images/content/areas-juridicas.jpg'); background-size:300% 200%; background-position:var(--article-pos,0% 0%); filter:grayscale(1) sepia(.08); transition:transform .65s var(--ease),filter .45s var(--ease); }
    .article:nth-child(2) { --article-pos:50% 100%; }.article:nth-child(3) { --article-pos:0% 0%; }
    .article-media::before { content:""; position:absolute; inset:0; background:rgba(var(--copper-rgb),.14); opacity:0; transition:opacity .4s var(--ease); }
    .article:hover .article-media { transform:scale(1.035); filter:grayscale(.72); }
    .article:hover .article-media::before { opacity:1; }
    .article-category { position:absolute; top:18px; left:18px; color:var(--copper); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
    .article h3 { position:absolute; right:26px; bottom:104px; left:26px; max-width:none; margin:0; color:var(--paper); font-size:28px; font-weight:200; line-height:1.16; letter-spacing:normal; text-shadow:0 1px 18px rgba(var(--ink-rgb),.48); }
    .article h3 strong { color:var(--paper); font-weight:400; }
    .article:not(:first-child) h3 { font-size:28px; }
    .article-link { position:relative; align-self:flex-start; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:46px; padding:0 16px; color:var(--paper); border:1px solid rgba(var(--paper-rgb),.86); font-size:10px; font-weight:400; letter-spacing:.12em; text-transform:uppercase; transition:color .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease); }
    .article-link svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.5; }
    .article-link:hover,.article-link:focus-visible { color:var(--copper); border-color:var(--copper); background:transparent; }
    .journal-more { display:inline-flex; align-items:center; gap:8px; margin-top:34px; padding-top:10px; color:var(--paper); border-top:1px solid var(--paper); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; transition:color .28s var(--ease),border-color .28s var(--ease); }
    .journal-more:hover,.journal-more:focus-visible { color:var(--copper); border-color:var(--copper); }
    .contact { color:var(--ink); background:var(--copper); }
    .contact-grid { display:grid; grid-template-columns:7fr 5fr; gap:50px; align-items:end; }
    .contact h2 { max-width:730px; margin-bottom:0; }
    .contact .eyebrow { color:var(--ink); }
    .contact .eyebrow::before { background:var(--ink); }
    .contact-card { padding:28px; border:1px solid rgba(var(--ink-rgb),.55); }
    .contact-card p { margin-bottom:24px; color:var(--ink); }
    .contact-card .line-button { min-height:52px; color:var(--ink); border-color:var(--ink); background:transparent; }
    .contact-card .line-button::before { background-image:linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--ink),var(--ink)); }
    .contact-card .line-button::after { background:var(--ink); }
    .contact-card .line-button:hover,.contact-card .line-button:focus-visible,.contact-card .line-button:active { color:var(--copper); border-color:var(--ink); }
    .footer { padding:48px 0 30px; border-top:1px solid rgba(var(--paper-rgb),.2); }
    .footer-top { display:grid; grid-template-columns:2fr 1fr 1fr; gap:34px; padding-bottom:48px; }
    .footer .brand { max-width:252px; }
    .footer p { max-width:290px; color:rgba(var(--paper-rgb),.68); font-size:13px; }
    .footer h3 { color:var(--copper); font-size:11px; letter-spacing:.13em; text-transform:uppercase; }
    .footer ul { margin:0; padding:0; list-style:none; }
    .footer li { color:rgba(var(--paper-rgb),.78); font-size:13px; }
    .footer li + li { margin-top:9px; }
    .footer li a { color:rgba(var(--paper-rgb),.78); font-size:inherit; }
    .footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:24px; border-top:1px solid rgba(var(--paper-rgb),.2); color:rgba(var(--paper-rgb),.55); font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
    .footer-legal { display:flex; align-items:center; gap:12px; }
    .footer-legal i { display:block; width:1px; height:14px; background:rgba(var(--paper-rgb),.38); }
    .footer-credit { display:inline-flex; align-items:center; gap:5px; color:rgba(var(--paper-rgb),.62); letter-spacing:normal; text-transform:none; }
    .footer-credit a { color:var(--paper); transition:color .24s var(--ease); }
    .footer-credit a:hover,.footer-credit a:focus-visible { color:var(--copper); outline:none; }
    .footer-credit svg { width:14px; height:14px; color:var(--copper); fill:currentColor; stroke:none; animation:heart-pulse 1.7s var(--ease) infinite; }
    @keyframes heart-pulse { 0%,100% { transform:scale(1); } 45% { transform:scale(1.22); } 65% { transform:scale(1.06); } }
    .rv { opacity:0; transform:translateY(24px); transition:opacity .6s var(--ease),transform .6s var(--ease); transition-delay:calc(var(--i,0) * 80ms); }
    .rv.is-in { opacity:1; transform:none; }
    .modal { position:fixed; inset:0; z-index:30; display:grid; place-items:center; padding:24px; visibility:hidden; opacity:0; background:rgba(var(--ink-rgb),.78); transition:opacity .28s var(--ease),visibility .28s; }
    .modal.is-open { visibility:visible; opacity:1; }
    .modal-panel { width:min(100%,610px); max-height:calc(100dvh - 48px); overflow:auto; padding:42px; color:var(--ink); background:var(--support); transform:translateY(15px); transition:transform .3s var(--ease); }
    .modal.is-open .modal-panel { transform:none; }
    .modal-head { display:flex; justify-content:space-between; align-items:start; gap:20px; margin-bottom:28px; }
    .modal-head h2 { margin:0; font-size:34px; }
    .close-modal { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(var(--ink-rgb),.5); color:var(--ink); background:none; }
    .booking-form { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
    .field { display:grid; gap:7px; }
    .field--wide { grid-column:1 / -1; }
    .field label,.check label { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
    .field input,.field select,.field textarea { width:100%; border:1px solid rgba(var(--ink-rgb),.48); border-radius:0; padding:13px 14px; color:var(--ink); background:transparent; outline:none; }
    .field textarea { min-height:94px; resize:vertical; }
    .field input:focus,.field select:focus,.field textarea:focus { border-color:var(--copper); box-shadow:0 0 0 2px rgba(var(--copper-rgb),.35); }
    .check { grid-column:1 / -1; display:flex; gap:10px; align-items:flex-start; font-size:12px; }
    .check input { width:17px; height:17px; margin:2px 0 0; accent-color:var(--copper); }
    .form-note { grid-column:1 / -1; margin:0; color:rgba(var(--ink-rgb),.67); font-size:12px; }
    .booking-form .line-button { grid-column:1 / -1; justify-self:start; color:var(--ink); }
    .booking-form .line-button:hover,.booking-form .line-button:focus-visible { color:var(--copper); background:var(--ink); }
    .booking-form .line-button:hover::after,.booking-form .line-button:focus-visible::after { background:var(--ink); }
    input[type="date"]::-webkit-calendar-picker-indicator { cursor:pointer; filter:sepia(1) saturate(.6); }
    .toast { position:fixed; left:50%; bottom:24px; z-index:50; max-width:calc(100% - 48px); padding:12px 18px; color:var(--ink); background:var(--support); border-left:4px solid var(--copper); font-size:13px; transform:translate(-50%,20px); opacity:0; pointer-events:none; transition:.25s var(--ease); }
    .toast.is-show { opacity:1; transform:translate(-50%,0); }
    .area div::after { content:"+  Quero saber mais"; display:inline-block; margin-top:22px; padding-bottom:3px; color:var(--paper); border-bottom:1px solid var(--copper); font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; opacity:0; transform:translateY(10px); transition:opacity .3s var(--ease),transform .3s var(--ease); }
    .area:hover div::after { opacity:1; transform:none; }
    @media (max-width:1000px) { .nav-links { gap:16px; } .brand { flex-basis:210px; } .credibility small { display:none; } .about-grid,.faq-wrap { grid-template-columns:1fr 1fr; gap:42px; } }
    @media (max-width:780px) { .wrap { width:min(calc(100% - 32px),var(--max)); } .section { padding:82px 0; } .scroll-header { display:none; } .site-header { position:absolute; } .nav { min-height:78px; } .brand { flex-basis:194px; } .nav-toggle { display:grid; place-items:center; width:44px; height:44px; } .nav-toggle svg { width:27px; height:27px; } .nav-toggle .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); } .nav-links { position:fixed; inset:0 0 0 auto; width:min(86vw,390px); min-height:100dvh; display:flex; flex-direction:column; justify-content:flex-start; align-items:stretch; gap:0; padding:28px 28px 34px; background:var(--ink); border-left:1px solid rgba(var(--copper-rgb),.5); opacity:1; visibility:hidden; transform:translateX(100%); transition:transform .42s var(--ease),visibility 0s linear .42s; } .nav-links.is-open { visibility:visible; transform:none; transition:transform .42s var(--ease),visibility 0s; } .mobile-menu-head { display:flex; align-items:center; justify-content:space-between; padding-bottom:25px; } .mobile-menu-head .brand { flex:0 0 195px; padding:0!important; color:inherit!important; } .mobile-menu-head .brand::after { display:none!important; } .mobile-menu-close { display:grid; place-items:center; width:42px; height:42px; border:1px solid rgba(var(--paper-rgb),.36); color:var(--paper); background:transparent; } .mobile-menu-close svg { width:20px; height:20px; } .mobile-menu-divider { display:block; width:100%; height:1px; margin:0 0 15px; background:rgba(var(--paper-rgb),.24); } .mobile-menu-divider--bottom { margin:15px 0 24px; } .nav-links a:not(.line-button) { padding:14px 0; font-size:16px; } .nav-links .line-button { width:100%; margin:0; } .nav-booking-icon { width:19px; height:19px; } .hero { min-height:700px; } .hero::before { background:linear-gradient(90deg,rgba(var(--ink-rgb),.96),rgba(var(--ink-rgb),.71) 74%,rgba(var(--ink-rgb),.35)); } .hero-content { width:min(calc(100% - 32px),var(--max)); padding:145px 0 80px; } .hero-index { display:none; } .credibility .wrap { min-height:150px; } .seal { width:132px; margin-top:-42px; } .seal img { width:138px; } .credibility p { font-size:18px; } .section-head,.contact-grid,.about-grid,.faq-wrap { grid-template-columns:1fr; gap:22px; } .section-head { margin-bottom:42px; } .areas .section-head { display:block; margin-bottom:48px; } .areas .section-head .eyebrow { margin-bottom:16px; } .areas .section-head h2,.about-copy h2,.faq-copy h2 { font-size:38px; } .areas .section-head > p,.about-copy p,.faq-copy > p { margin-top:26px; padding-left:16px; } .areas-grid { grid-template-columns:1fr 1fr; } .area:nth-child(n) { grid-column:span 1; min-height:285px; } .area:first-child { grid-column:span 2; } .process-grid,.journal-grid { grid-template-columns:1fr; } .step,.step + .step { min-height:auto; padding:0 0 28px; border-right:0; border-bottom:1px solid rgba(var(--ink-rgb),.35); } .article { min-height:auto; padding:18px; border-right:0; border-bottom:1px solid rgba(var(--paper-rgb),.28); } .article-media,.article:not(:first-child) .article-media { min-height:250px; } .article:not(:first-child) h3 { font-size:26px; } .step:last-child,.article:last-child { border-bottom:0; } .step h3 { margin:42px 0 10px; } .about-photo { min-height:360px; order:-1; } .footer-top { grid-template-columns:1fr 1fr; } .footer-top > :first-child { grid-column:1 / -1; } }
    @media (max-width:520px) { .hero h1 { font-size:45px; } .areas-grid { grid-template-columns:1fr; } .area:first-child,.area:nth-child(n) { grid-column:span 1; } .credibility .wrap { gap:20px; } .seal { width:104px; } .seal img { width:114px; } .credibility p { font-size:16px; } .booking-form { grid-template-columns:1fr; } .field--wide { grid-column:auto; } .footer-top { grid-template-columns:1fr; } .footer-top > :first-child { grid-column:auto; } .footer-bottom { display:grid; } .modal-panel { padding:30px 22px; } }
    @media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.15s!important; } .rv { opacity:1; transform:none; } }
    @media (max-width:780px) { .site-header,.scroll-header { position:fixed; } .scroll-header { display:block; } .nav { min-height:84px; } .nav > .brand { flex-basis:216px; } .nav-toggle { width:52px; height:52px; color:var(--paper); transition:color .24s var(--ease); } .nav-toggle svg { width:32px; height:32px; stroke-width:1.35; } .nav-toggle:hover,.nav-toggle:focus-visible { color:var(--copper); outline:none; } .mobile-menu-head .brand { flex-basis:210px; } .credibility { min-height:0; } .credibility .wrap { min-height:0; display:flex; flex-direction:column; gap:22px; padding:28px 0; } .seal { position:relative; top:auto; left:auto; width:126px; transform:none; } .credibility-stats { width:100%; grid-template-columns:1fr 1fr; gap:8px; } .credibility-stat { min-height:96px; padding:14px; gap:8px; } .credibility-stat strong { font-size:28px; } .credibility-stat span { font-size:8px; } .article { min-height:390px; padding:18px; } .article h3,.article:not(:first-child) h3 { right:18px; bottom:86px; left:18px; font-size:26px; } .article-link { min-height:44px; } }

