:root{
  --brand:#5b2a72;--brand-deep:#351343;--brand-ink:#2a1036;--accent:#8d3dad;--accent-hover:#73318f;
  --paper:#faf7fc;--sand:#f2eaf6;--white:#fff;--ink:#2e2134;--muted:#716678;--line:#e8dfec;
  --shadow:0 24px 60px rgba(53,19,67,.10);--radius:28px;--radius-sm:18px;--container:1280px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:Inter,Segoe UI,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;left:16px;top:-100px;z-index:9999;background:#fff;color:#111;padding:10px 16px;border-radius:8px}.skip-link:focus{top:16px}.topbar{background:var(--brand-deep);color:rgba(255,255,255,.8);font-size:12px}.topbar-inner{height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar-right{display:flex;align-items:center;gap:24px}.topbar-item{display:flex;gap:7px;align-items:center;transition:.2s}.topbar a:hover{color:#fff}.icon-dot{color:#d8a4eb}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(91,42,114,.08);transition:.25s}.site-header.scrolled{box-shadow:0 10px 35px rgba(42,16,54,.08)}.nav-wrap{height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand img{width:226px;height:auto}.main-nav{display:flex;align-items:center;gap:4px}.nav-link{position:relative;border:0;background:none;color:#4f3c58;padding:13px 14px;font-size:14px;font-weight:700;cursor:pointer;border-radius:12px;white-space:nowrap}.nav-link:hover,.nav-link.active,.nav-dropdown.active>.nav-link{color:var(--accent)}.nav-link:after{content:"";position:absolute;left:14px;right:14px;bottom:7px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:.25s}.nav-link:hover:after,.nav-link.active:after,.nav-dropdown.active>.nav-link:after{transform:scaleX(1)}.chevron{display:inline-block;margin-left:4px;transition:.2s}.nav-dropdown{position:relative}.dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:230px;padding:10px;background:#fff;border:1px solid rgba(91,42,114,.10);border-radius:16px;box-shadow:0 20px 50px rgba(53,19,67,.14);opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s}.dropdown-menu-right{right:0;left:auto}.dropdown-menu a{display:block;padding:11px 13px;border-radius:10px;font-size:13px;font-weight:650;color:#5d4b65}.dropdown-menu a:hover{background:var(--paper);color:var(--accent)}.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;transform:none}.nav-dropdown:hover .chevron{transform:rotate(180deg)}.nav-cta{margin-left:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 19px;border-radius:14px;border:1px solid transparent;font-weight:750;font-size:13px;transition:.22s;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 10px 26px rgba(141,61,173,.20)}.btn-primary:hover{background:var(--accent-hover);box-shadow:0 14px 32px rgba(141,61,173,.28)}.btn-ghost{background:#fff;border-color:rgba(91,42,114,.18);color:var(--brand)}.btn-ghost:hover{border-color:var(--brand);background:#fbf8fd}.btn-ghost-dark{border-color:rgba(91,42,114,.22);color:var(--brand);background:transparent}.btn-light{background:#fff;color:var(--brand-deep)}.btn-lg{min-height:54px;padding:0 24px;border-radius:16px;font-size:14px}.menu-toggle{display:none;width:46px;height:46px;border:0;background:#f4eef7;border-radius:12px;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{display:block;width:20px;height:2px;background:var(--brand);transition:.2s}.eyebrow{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;color:var(--accent)}.eyebrow>span{display:inline-block;width:23px;height:2px;background:currentColor}.eyebrow.light{color:#e2b8f1}.hero-home{background:linear-gradient(180deg,#f8f5f0 0%,#fff 100%);padding:48px 0 34px;overflow:hidden}.hero-shell{min-height:610px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;border-radius:34px;background:#fff;border:1px solid rgba(91,42,114,.09);box-shadow:0 32px 80px rgba(53,19,67,.08);overflow:hidden}.hero-content{padding:64px 56px 58px}.hero-content h1{font-family:Manrope,Inter,sans-serif;font-size:clamp(42px,4.3vw,67px);line-height:1.04;letter-spacing:-.045em;margin:20px 0 22px;max-width:680px;color:var(--brand-ink)}.hero-content h1 em{font-style:normal;color:var(--accent)}.hero-lead{max-width:640px;color:var(--muted);font-size:17px;margin:0 0 28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:38px}.hero-quick>a{display:flex;align-items:center;gap:11px;min-height:72px;padding:11px 13px;border:1px solid var(--line);border-radius:15px;transition:.22s}.hero-quick>a:hover{border-color:rgba(141,61,173,.4);background:#fff9f5;transform:translateY(-2px)}.quick-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#f4ecf7;color:var(--brand);font-size:10px;font-weight:800}.hero-quick span:nth-child(2){display:flex;flex:1;flex-direction:column;line-height:1.3}.hero-quick strong{font-size:12px}.hero-quick small{font-size:10px;color:var(--muted);margin-top:3px}.hero-quick b{color:var(--accent)}.hero-media{height:100%;position:relative;background:var(--brand)}.hero-image-wrap{height:100%;min-height:610px;position:relative;overflow:hidden}.hero-image-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(39,13,51,.48) 100%)}.hero-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center}.image-badge{position:absolute;left:28px;bottom:28px;z-index:2;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);padding:16px 18px;border-radius:15px;display:flex;flex-direction:column;line-height:1.3;box-shadow:var(--shadow)}.image-badge span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.image-badge strong{font-size:14px;color:var(--brand)}.hero-info-card{position:absolute;right:24px;top:24px;z-index:3;display:flex;align-items:center;gap:9px;padding:12px 14px;background:rgba(55,20,70,.88);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.16);border-radius:14px;color:#fff}.status-dot{width:9px;height:9px;border-radius:50%;background:#70d69a;box-shadow:0 0 0 5px rgba(112,214,154,.12)}.hero-info-card div{display:flex;flex-direction:column;line-height:1.3}.hero-info-card small{opacity:.65;font-size:9px;text-transform:uppercase;letter-spacing:.09em}.hero-info-card strong{font-size:11px}.section{padding:92px 0}.section-soft{background:var(--paper)}.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;margin-bottom:42px}.section-head h2,.useful-intro h2,.cta-copy h2,.content-main h2,.location-card h2,.form-aside h2,.query-form h2{font-family:Manrope,Inter,sans-serif;font-size:clamp(31px,3.4vw,48px);line-height:1.08;letter-spacing:-.035em;margin:14px 0 0;color:var(--brand-ink)}.section-head p{margin:0;color:var(--muted);font-size:15px;max-width:470px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{position:relative;min-height:292px;padding:26px 25px 23px;border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden;transition:.28s}.service-card:before{content:"";position:absolute;inset:auto -40px -60px auto;width:130px;height:130px;border-radius:50%;background:rgba(141,61,173,.06);transition:.28s}.service-card:hover{transform:translateY(-5px);border-color:rgba(141,61,173,.35);box-shadow:0 22px 45px rgba(57,23,71,.09)}.service-card:hover:before{transform:scale(1.5)}.service-no{position:absolute;right:20px;top:19px;font-size:10px;color:#a294aa;font-weight:800;letter-spacing:.12em}.service-symbol{width:46px;height:46px;display:grid;place-items:center;background:#f4ecf7;border-radius:14px;color:var(--brand);font-weight:800;font-size:17px;margin-bottom:31px}.service-card h3{font-size:18px;letter-spacing:-.02em;margin:0 0 9px}.service-card p{font-size:13px;color:var(--muted);margin:0 0 24px}.service-arrow{position:absolute;left:25px;bottom:22px;display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.section-more{display:flex;justify-content:flex-end;margin-top:26px}.text-link{font-weight:800;font-size:13px;color:var(--brand)}.text-link span{color:var(--accent);margin-left:5px}.useful-section{padding-top:40px}.useful-shell{display:grid;grid-template-columns:.8fr 1.2fr;background:var(--brand-deep);border-radius:30px;overflow:hidden;color:#fff}.useful-intro{padding:56px}.useful-intro h2{color:#fff;margin-bottom:17px}.useful-intro p{color:rgba(255,255,255,.65);max-width:430px;margin:0 0 28px}.useful-list{padding:22px;border-left:1px solid rgba(255,255,255,.1)}.useful-link{display:flex;justify-content:space-between;align-items:center;padding:20px 18px;border-radius:14px;border-bottom:1px solid rgba(255,255,255,.08);transition:.22s}.useful-link:hover{background:rgba(255,255,255,.06);transform:translateX(4px)}.useful-link span{display:flex;flex-direction:column}.useful-link b{font-size:14px}.useful-link small{font-size:11px;color:rgba(255,255,255,.5);margin-top:4px}.useful-link strong{font-size:16px;color:#ddb1eb}.cta-section{padding-top:44px}.contact-cta{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center;background:var(--paper);border:1px solid #e8ddec;border-radius:28px;padding:52px 58px}.cta-copy p{max-width:650px;color:var(--muted)}.cta-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.cta-details{display:grid;grid-template-columns:1fr;gap:0;border-left:1px solid #e7ddeb;padding-left:44px}.cta-details>div{padding:15px 0;border-bottom:1px solid #e8e0eb;display:flex;flex-direction:column}.cta-details>div:last-child{border-bottom:0}.cta-details small,.aside-contact small{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#817387;font-weight:800}.cta-details a,.cta-details strong{font-size:14px;color:var(--brand);margin-top:3px}.site-footer{margin-top:20px;background:#32113f;color:#fff;padding:64px 0 18px}.footer-grid{display:grid;grid-template-columns:1.6fr .8fr .9fr 1fr;gap:54px;padding-bottom:42px}.footer-brand img{width:226px;filter:brightness(0) invert(1);opacity:.92}.footer-brand p{max-width:330px;color:rgba(255,255,255,.55);font-size:12px;margin-top:20px}.site-footer h3{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#d9a3ea;margin:0 0 17px}.site-footer a,.site-footer p{display:block;font-size:12px;color:rgba(255,255,255,.65);margin:0 0 9px}.site-footer a:hover{color:#fff}.footer-hours{margin-top:18px!important}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;display:flex;justify-content:space-between;font-size:10px;color:rgba(255,255,255,.4)}.page-hero{padding:78px 0 74px;background:linear-gradient(130deg,#faf7fc 0%,#eef3ef 100%);border-bottom:1px solid rgba(91,42,114,.08);overflow:hidden}.page-hero.compact{padding:64px 0}.page-hero-grid{display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px}.page-hero h1{font-family:Manrope,Inter,sans-serif;font-size:clamp(40px,5vw,68px);line-height:1.03;letter-spacing:-.045em;color:var(--brand-ink);margin:16px 0 15px;max-width:880px}.page-hero p{font-size:16px;color:var(--muted);max-width:700px;margin:0}.page-hero-mark{display:flex;align-items:end;gap:12px;color:rgba(91,42,114,.16);padding:10px 20px}.page-hero-mark span{font-family:Manrope;font-size:80px;font-weight:800;line-height:.8}.page-hero-mark small{font-size:12px;line-height:1.15;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.content-split{display:grid;grid-template-columns:1fr .78fr;gap:70px;align-items:start}.section-kicker{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:var(--accent);font-weight:800;margin-bottom:13px}.content-main p{color:var(--muted);font-size:15px}.info-highlight{display:flex;align-items:center;gap:18px;margin-top:30px;padding:18px 20px;background:var(--paper);border-radius:16px}.info-highlight span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}.info-highlight strong{font-size:13px;color:var(--brand)}.content-aside{border-radius:24px;overflow:hidden;box-shadow:var(--shadow);background:#fff}.content-aside img{height:350px;width:100%;object-fit:cover}.aside-info{display:flex;flex-direction:column;padding:21px 23px}.aside-info small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-weight:800}.aside-info strong{font-size:14px;margin:5px 0 10px}.aside-info a{font-size:12px;color:var(--accent);font-weight:800}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.value-card{background:#fff;border-radius:20px;padding:30px;border:1px solid #e9e1ec}.value-card>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--brand);color:#fff;font-size:10px;font-weight:800}.value-card h3{font-size:18px;margin:28px 0 8px}.value-card p{font-size:13px;color:var(--muted);margin:0}.location-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px}.location-card{padding:42px;border:1px solid var(--line);border-radius:24px;background:#fff}.location-card p{color:var(--muted)}.location-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:30px 0}.location-meta>div{padding:16px;background:var(--paper);border-radius:14px;display:flex;flex-direction:column}.location-meta small{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#87798e;font-weight:800}.location-meta strong,.location-meta a{font-size:13px;margin-top:5px}.map-card{min-height:470px;border-radius:24px;overflow:hidden;border:1px solid var(--line)}.map-card iframe{border:0;width:100%;height:100%;min-height:470px}.service-toolbar{max-width:660px;margin-bottom:30px}.service-toolbar>label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:var(--brand);margin-bottom:10px}.search-box{height:58px;border:1px solid var(--line);border-radius:16px;display:flex;align-items:center;gap:12px;padding:0 18px;background:#fff}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px rgba(141,61,173,.08)}.search-box span{font-size:22px;color:var(--brand)}.search-box input{border:0;outline:0;width:100%;font-size:14px;color:var(--ink)}.service-grid.full{grid-template-columns:repeat(4,1fr)}.service-card[hidden]{display:none}.empty-state{padding:38px;text-align:center;background:var(--paper);border-radius:16px;color:var(--muted)}.lgpd-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:start}.privacy-cards{display:grid;gap:10px}.privacy-cards>div{padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}.privacy-cards span{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#f4ecf7;color:var(--brand);font-size:9px;font-weight:800;margin-bottom:16px}.privacy-cards strong{display:block;font-size:15px}.privacy-cards p{font-size:12px;color:var(--muted);margin:6px 0 0}.legal-layout{display:grid;grid-template-columns:250px 1fr;gap:70px;align-items:start}.legal-nav{position:sticky;top:118px;display:flex;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:16px}.legal-nav strong{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--brand);margin-bottom:12px}.legal-nav a{font-size:12px;color:var(--muted);padding:8px 0;border-bottom:1px solid #edf0ed}.legal-nav a:hover{color:var(--accent)}.legal-content{max-width:790px}.notice-box{padding:18px 20px;border-left:3px solid var(--accent);background:#fdf9ff;border-radius:0 12px 12px 0;margin-bottom:38px}.notice-box strong{font-size:12px;color:var(--accent)}.notice-box p{font-size:12px;color:#75697a;margin:5px 0 0}.legal-content section{scroll-margin-top:130px;padding:28px 0;border-bottom:1px solid var(--line)}.legal-no{font-size:9px;font-weight:800;color:var(--accent);letter-spacing:.1em}.legal-content h2{font-family:Manrope;font-size:27px;letter-spacing:-.025em;margin:6px 0 10px}.legal-content p{color:var(--muted);font-size:14px}.contact-options{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.contact-option{min-height:310px;padding:30px;border:1px solid var(--line);border-radius:22px;display:flex;flex-direction:column;transition:.25s}.contact-option:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(141,61,173,.35)}.contact-option>span{font-size:10px;color:var(--accent);font-weight:800}.contact-option h2{font-family:Manrope;font-size:28px;margin:45px 0 10px}.contact-option p{font-size:13px;color:var(--muted);max-width:310px}.contact-option b{margin-top:auto;font-size:12px;color:var(--brand)}.form-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:30px;align-items:start}.form-card{padding:36px;border:1px solid var(--line);border-radius:22px}.form-card form{display:grid;gap:19px}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:11px;font-weight:750;color:#56425f}.field input,.field select,.field textarea{width:100%;border:1px solid #e7dfeb;border-radius:12px;padding:13px 14px;color:var(--ink);background:#fff;outline:0;transition:.2s}.field input,.field select{height:49px}.field textarea{resize:vertical;min-height:150px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(141,61,173,.07)}.field span,.field-error{font-size:10px;color:#793096}.check-field{display:flex;align-items:flex-start;gap:10px;font-size:11px;color:var(--muted);cursor:pointer}.check-field input{margin-top:3px;accent-color:var(--accent)}.check-field a{color:var(--brand);font-weight:800;text-decoration:underline}.form-aside{padding:30px;background:var(--paper);border-radius:22px;position:sticky;top:120px}.form-aside h2{font-size:30px}.form-aside p{font-size:13px;color:var(--muted)}.aside-contact{display:flex;flex-direction:column;padding:16px 0;border-bottom:1px solid #e6ddea}.aside-contact a,.aside-contact strong{font-size:13px;margin-top:4px}.validation-summary{color:#702a8b;font-size:12px}.success-panel{display:flex;gap:14px;padding:18px;background:#eff8f2;border:1px solid #cce5d2;border-radius:16px;margin-bottom:22px}.success-panel>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#3a8457;color:#fff;font-weight:800}.success-panel strong{font-size:14px;color:#235a37}.success-panel p{font-size:11px;color:#587263;margin:3px 0 8px}.success-panel a{font-size:11px;color:#235a37;font-weight:800}.protocol-pills{display:flex;gap:7px;flex-wrap:wrap}.protocol-pills code{background:#fff;padding:5px 8px;border-radius:7px;font-size:10px;color:#315242}.file-drop{border:1px dashed #b7c2bd;border-radius:14px;padding:18px!important;display:flex;align-items:center;gap:12px;cursor:pointer;background:#fbfcfb}.file-drop:hover{border-color:var(--accent);background:#fff9f5}.file-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#f4ecf7;color:var(--brand);font-size:18px}.file-drop>span:last-child{display:flex;flex-direction:column}.file-drop strong{font-size:12px}.file-drop small{font-size:9px;color:var(--muted);margin-top:2px}.sr-file{position:absolute;width:1px!important;height:1px!important;opacity:0;pointer-events:none}.query-shell{display:grid;grid-template-columns:.72fr 1.28fr;gap:20px}.query-form{padding:36px;border:1px solid var(--line);border-radius:22px}.query-form form{display:grid;gap:18px;margin-top:25px}.query-result{min-height:430px;background:var(--paper);border-radius:22px;padding:30px;display:flex;align-items:center;justify-content:center}.query-placeholder{text-align:center;color:var(--muted);max-width:340px}.query-placeholder>span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;margin:0 auto 15px;background:#fff;color:var(--brand);font-size:24px}.query-placeholder.error>span{color:#a63d20}.query-placeholder h3{font-size:17px;color:var(--ink);margin:0 0 6px}.query-placeholder p{font-size:12px;margin:0}.status-card{width:100%;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px}.status-head{display:flex;justify-content:space-between;gap:20px;align-items:start;padding-bottom:20px;border-bottom:1px solid var(--line)}.status-head div{display:flex;flex-direction:column}.status-head small{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}.status-head strong{font-size:16px;margin-top:4px}.status-badge{padding:7px 10px;border-radius:999px;background:#edf7ef;color:#2d7043;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.status-card dl{margin:15px 0 0}.status-card dl>div{display:grid;grid-template-columns:140px 1fr;padding:11px 0;border-bottom:1px solid #f1ebf4}.status-card dt{font-size:10px;color:var(--muted)}.status-card dd{margin:0;font-size:11px;font-weight:700}.response-box{margin-top:20px;padding:16px;background:var(--paper);border-radius:12px}.response-box small{font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:800}.response-box p{font-size:12px;margin:5px 0}.error-page{min-height:60vh;display:flex;align-items:center}.error-page h1{font-family:Manrope;font-size:48px;max-width:700px;letter-spacing:-.04em}.error-page p{color:var(--muted)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}.service-grid .reveal:nth-child(2),.values-grid .reveal:nth-child(2),.contact-options .reveal:nth-child(2){transition-delay:.06s}.service-grid .reveal:nth-child(3),.values-grid .reveal:nth-child(3),.contact-options .reveal:nth-child(3){transition-delay:.12s}
@media (max-width:1100px){.topbar{display:none}.nav-wrap{height:76px}.brand img{width:205px}.menu-toggle{display:flex}.main-nav{position:fixed;inset:76px 0 auto 0;height:calc(100dvh - 76px);background:#fff;padding:18px 24px 30px;display:flex;flex-direction:column;align-items:stretch;gap:2px;transform:translateX(100%);transition:.28s;overflow:auto}.main-nav.open{transform:none}.nav-link{width:100%;text-align:left;padding:14px 6px;font-size:15px;border-radius:0;border-bottom:1px solid #f1ebf4}.nav-link:after{display:none}.nav-dropdown{width:100%}.dropdown-menu,.dropdown-menu-right{position:static;min-width:0;width:100%;border:0;box-shadow:none;border-radius:0;padding:0 0 4px 14px;opacity:1;visibility:visible;transform:none;display:none}.nav-dropdown.open .dropdown-menu{display:block}.nav-dropdown.open .chevron{transform:rotate(180deg)}.dropdown-menu a{padding:10px 8px;border-radius:7px;color:var(--brand);background:transparent}.nav-cta{margin:16px 0 0;width:100%;border:0}.hero-shell{grid-template-columns:1fr}.hero-content{padding:50px}.hero-media{height:520px}.hero-image-wrap{min-height:520px}.section{padding:76px 0}.service-grid{grid-template-columns:repeat(2,1fr)}.service-grid.full{grid-template-columns:repeat(2,1fr)}.useful-shell{grid-template-columns:1fr}.useful-list{border-left:0;border-top:1px solid rgba(255,255,255,.1)}.contact-cta{grid-template-columns:1fr}.cta-details{border-left:0;border-top:1px solid #e7ddeb;padding:24px 0 0;grid-template-columns:repeat(3,1fr);gap:20px}.cta-details>div{border:0}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}.content-split,.lgpd-grid{gap:45px}.service-grid.full{grid-template-columns:repeat(3,1fr)}.form-layout{grid-template-columns:1fr .55fr}}
@media (max-width:820px){.container{width:min(100% - 30px,var(--container))}.hero-home{padding:20px 0}.hero-shell{border-radius:24px}.hero-content{padding:38px 26px}.hero-content h1{font-size:43px}.hero-quick{grid-template-columns:1fr}.hero-media{height:420px}.hero-image-wrap{min-height:420px}.hero-info-card{right:14px;top:14px}.image-badge{left:14px;bottom:14px}.section{padding:64px 0}.section-head{grid-template-columns:1fr;gap:16px}.service-grid,.service-grid.full{grid-template-columns:1fr 1fr}.service-card{min-height:275px}.useful-intro{padding:38px 28px}.useful-list{padding:14px}.contact-cta{padding:36px 28px}.cta-details{grid-template-columns:1fr}.page-hero,.page-hero.compact{padding:52px 0}.page-hero-mark{display:none}.content-split,.location-grid,.lgpd-grid,.form-layout,.query-shell{grid-template-columns:1fr}.content-aside{order:-1}.content-aside img{height:320px}.values-grid,.contact-options{grid-template-columns:1fr}.legal-layout{grid-template-columns:1fr;gap:30px}.legal-nav{position:static;display:grid;grid-template-columns:repeat(2,1fr)}.legal-nav strong{grid-column:1/-1}.form-aside{position:static}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:auto}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:5px}.form-grid.two{grid-template-columns:1fr}}
@media (max-width:560px){.nav-wrap{height:70px}.brand img{width:186px}.main-nav{inset:70px 0 auto;height:calc(100dvh - 70px)}.hero-content h1{font-size:36px}.hero-lead{font-size:14px}.hero-actions>.btn{width:100%}.hero-media{height:330px}.hero-image-wrap{min-height:330px}.hero-info-card{display:none}.section{padding:55px 0}.service-grid,.service-grid.full{grid-template-columns:1fr}.service-card{min-height:255px}.section-head h2,.useful-intro h2,.cta-copy h2,.content-main h2,.location-card h2,.form-aside h2,.query-form h2{font-size:31px}.contact-cta{padding:28px 22px}.location-card,.form-card,.query-form{padding:25px 20px}.page-hero h1{font-size:38px}.page-hero p{font-size:14px}.legal-nav{grid-template-columns:1fr}.status-head{flex-direction:column}.status-card dl>div{grid-template-columns:1fr;gap:3px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{font-size:9px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ===== Refinamento visual 04/09/2026 ===== */
/* Navbar maior e chevrons desenhados em CSS */
.nav-wrap{height:84px}
.brand img{width:224px}
.main-nav{gap:6px}
.nav-link{padding:15px 15px;font-size:15.5px;font-weight:700}
.nav-cta{min-height:52px;padding-inline:22px;font-size:14.5px;border-radius:15px}
.dropdown-toggle{display:inline-flex;align-items:center;gap:7px}
.chevron{width:8px;height:8px;margin:0 0 4px 1px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);transform-origin:50% 50%;transition:transform .34s cubic-bezier(.22,.61,.36,1),margin .34s cubic-bezier(.22,.61,.36,1);will-change:transform}
.nav-dropdown:hover .chevron,.nav-dropdown:focus-within .chevron{transform:rotate(225deg);margin-bottom:-2px}
.dropdown-menu{top:calc(100% + 7px);min-width:245px;transition:opacity .24s ease,visibility .24s ease,transform .3s cubic-bezier(.22,.61,.36,1)}
.dropdown-menu a{font-size:13.5px;padding:12px 14px}

/* Hero: conteúdo e imagem agora são dois containers independentes */
.hero-home{padding:48px 0 44px}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:22px;align-items:stretch}
.hero-service-panel,.hero-image-panel{min-height:610px;border:1px solid rgba(91,42,114,.09);border-radius:30px;background:#fff;box-shadow:0 28px 70px rgba(53,19,67,.075);overflow:hidden}
.hero-service-panel{display:flex;align-items:center}
.hero-content{width:100%;padding:62px 52px 56px}
.hero-image-panel{position:relative;background:var(--brand)}
.hero-media{height:100%;min-height:610px}
.hero-image-wrap{min-height:610px}
.hero-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .8s cubic-bezier(.22,.61,.36,1)}
.hero-image-panel:hover .hero-image-wrap img{transform:scale(1.018)}

/* Cards de serviços maiores e com mais presença visual */
.services-section{padding-top:96px}
.service-grid{gap:22px}
.service-card{min-height:350px;padding:32px 30px 28px;border-radius:24px;border-color:#e2e7e3;box-shadow:0 10px 34px rgba(19,47,43,.035)}
.service-card:before{width:145px;height:145px;right:-56px;top:-56px}
.service-symbol{width:58px;height:58px;border-radius:17px;font-size:20px;margin-bottom:38px;background:linear-gradient(145deg,#f4ecf7,#fbf9fc);box-shadow:inset 0 0 0 1px rgba(91,42,114,.06)}
.service-card h3{font-size:22px;letter-spacing:-.025em;margin-bottom:11px}
.service-card p{font-size:13.5px;line-height:1.72;max-width:92%}
.service-no{top:29px;right:29px;font-size:11px}
.service-arrow{left:30px;bottom:27px;font-size:11.5px}
.service-card:hover{transform:translateY(-7px);box-shadow:0 28px 55px rgba(57,23,71,.10)}

/* Links úteis no mesmo conceito visual dos serviços */
.useful-section{padding-top:82px;background:linear-gradient(180deg,#fff 0%,#f8f5f0 100%)}
.useful-head{margin-bottom:38px}
.useful-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.useful-card{position:relative;min-height:270px;padding:31px 30px 28px;border-radius:24px;background:var(--brand-deep);color:#fff;overflow:hidden;border:1px solid rgba(255,255,255,.07);box-shadow:0 18px 42px rgba(15,42,39,.10);transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease,background .3s ease}
.useful-card:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-78px;top:-84px;background:rgba(255,255,255,.045);transition:transform .45s cubic-bezier(.22,.61,.36,1)}
.useful-card:hover{transform:translateY(-7px);background:#361446;box-shadow:0 30px 58px rgba(15,42,39,.16)}
.useful-card:hover:before{transform:scale(1.22)}
.useful-no{position:absolute;top:29px;right:29px;font-size:11px;font-weight:800;letter-spacing:.12em;color:rgba(255,255,255,.42)}
.useful-symbol{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.08);font-family:Manrope,sans-serif;font-size:15px;font-weight:800;letter-spacing:.04em;margin-bottom:33px}
.useful-card h3{position:relative;margin:0 0 9px;font-family:Manrope,sans-serif;font-size:22px;letter-spacing:-.025em;color:#fff}
.useful-card p{position:relative;margin:0;max-width:82%;font-size:13.5px;line-height:1.7;color:rgba(255,255,255,.68)}
.useful-arrow{position:absolute;left:30px;bottom:27px;display:flex;gap:7px;align-items:center;color:#d89bea;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.useful-arrow b{font-size:15px;transition:transform .22s ease}
.useful-card:hover .useful-arrow b{transform:translate(2px,-2px)}

/* CTA em largura total e conectado diretamente ao footer */
.cta-section{padding:90px 0 0;background:#f8f5f0}
.contact-cta{display:block;background:#5b2a72;color:#fff;border:0;border-radius:0;padding:0;box-shadow:none}
.cta-inner{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center;padding-top:58px;padding-bottom:58px}
.cta-copy h2{color:#fff;font-size:40px}
.cta-copy p{color:rgba(255,255,255,.72);max-width:650px}
.cta-details{border-left:1px solid rgba(255,255,255,.16);padding-left:48px}
.cta-details>div{border-color:rgba(255,255,255,.12)}
.cta-details small{color:rgba(255,255,255,.56)}
.cta-details strong,.cta-details a{color:#fff}
.btn-outline-light{background:transparent;border-color:rgba(255,255,255,.32);color:#fff}
.btn-outline-light:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.52)}
.site-footer{margin-top:0}

@media (max-width:1100px){
  .nav-wrap{height:78px}.brand img{width:212px}.main-nav{inset:78px 0 auto 0;height:calc(100dvh - 78px)}
  .nav-link{font-size:16px;padding:15px 7px}.nav-cta{font-size:15px;min-height:54px}
  .nav-dropdown.open .chevron{transform:rotate(225deg);margin-bottom:-2px}
  .nav-dropdown:hover .chevron{transform:rotate(45deg);margin-bottom:4px}.nav-dropdown.open:hover .chevron{transform:rotate(225deg);margin-bottom:-2px}
  .hero-grid{grid-template-columns:1fr;gap:18px}.hero-service-panel,.hero-image-panel{min-height:0}.hero-media,.hero-image-wrap{min-height:510px}
  .service-card{min-height:330px}
  .useful-grid{grid-template-columns:1fr 1fr}
  .cta-inner{grid-template-columns:1fr;gap:34px}.cta-details{border-left:0;border-top:1px solid rgba(255,255,255,.16);padding:30px 0 0;grid-template-columns:repeat(3,1fr)}
}
@media (max-width:820px){
  .hero-content{padding:44px 30px}.hero-service-panel,.hero-image-panel{border-radius:24px}.hero-media,.hero-image-wrap{min-height:420px}
  .service-grid{grid-template-columns:1fr 1fr;gap:16px}.service-card{min-height:320px;padding:27px 24px}.service-card h3{font-size:20px}.service-arrow{left:24px}
  .useful-grid{gap:16px}.useful-card{min-height:255px;padding:27px 24px}.useful-arrow{left:24px}.useful-card p{max-width:95%}
  .cta-section{padding-top:72px}.cta-inner{padding-top:48px;padding-bottom:48px}.cta-copy h2{font-size:34px}.cta-details{grid-template-columns:1fr}
}
@media (max-width:560px){
  .nav-wrap{height:72px}.brand img{width:190px}.main-nav{inset:72px 0 auto;height:calc(100dvh - 72px)}
  .hero-home{padding:24px 0 34px}.hero-grid{gap:14px}.hero-content{padding:36px 23px}.hero-media,.hero-image-wrap{min-height:330px}
  .service-grid,.useful-grid{grid-template-columns:1fr}.service-card{min-height:295px}.useful-card{min-height:245px}
  .services-section{padding-top:68px}.useful-section{padding-top:64px}.cta-section{padding-top:62px}.cta-inner{padding-top:42px;padding-bottom:42px}.cta-copy h2{font-size:31px}
}

/* ===== Refinamento visual V3 - 04/09/2026 ===== */
/* Loader da página + linha de carregamento sob a navbar */
.page-loader{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:linear-gradient(145deg,#fcf9fd 0%,#f7f1f9 52%,#eef3ef 100%);opacity:1;visibility:visible;transition:opacity .5s ease,visibility .5s ease}
.page-loader:before,.page-loader:after{content:"";position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}
.page-loader:before{width:360px;height:360px;left:-120px;bottom:-160px;background:radial-gradient(circle,rgba(91,42,114,.10),transparent 68%)}
.page-loader:after{width:320px;height:320px;right:-110px;top:-140px;background:radial-gradient(circle,rgba(141,61,173,.09),transparent 68%)}
.page-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.page-loader-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:22px;padding:28px}
.page-loader-inner img{width:min(274px,66vw);height:auto;filter:drop-shadow(0 10px 24px rgba(42,16,54,.08))}
.page-loader-line{position:relative;width:min(250px,58vw);height:3px;border-radius:999px;overflow:hidden;background:rgba(91,42,114,.10)}
.page-loader-line span{position:absolute;inset:0;transform-origin:left;transform:scaleX(.05);background:linear-gradient(90deg,var(--brand) 0%,#754590 48%,var(--accent) 100%);animation:pageLoaderProgress 1.15s cubic-bezier(.22,.61,.36,1) infinite}
@keyframes pageLoaderProgress{0%{transform:translateX(-75%) scaleX(.22)}55%{transform:translateX(4%) scaleX(.72)}100%{transform:translateX(82%) scaleX(.32)}}
body.page-loading{overflow:hidden}
body.page-loading #conteudo{opacity:.72;transform:translateY(7px)}
body.page-ready #conteudo{opacity:1;transform:none;transition:opacity .5s ease,transform .55s cubic-bezier(.22,.61,.36,1)}
.site-header{position:sticky}
.nav-load-track{position:absolute;left:0;right:0;bottom:-1px;height:3px;overflow:hidden;pointer-events:none;background:rgba(91,42,114,.045)}
.nav-load-track span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--brand) 0%,#8c61a2 48%,var(--accent) 100%);box-shadow:0 0 10px rgba(141,61,173,.24)}
body.page-loading .nav-load-track span{animation:navLoadProgress 1.45s cubic-bezier(.22,.61,.36,1) forwards}
body.page-ready .nav-load-track span{transform:scaleX(1);opacity:0;transition:transform .22s ease,opacity .48s ease .12s}
@keyframes navLoadProgress{0%{transform:scaleX(.04)}42%{transform:scaleX(.46)}78%{transform:scaleX(.76)}100%{transform:scaleX(.92)}}

/* Hero mais compacto, preservando os dois containers independentes */
.hero-home{padding:34px 0 42px}
.hero-grid{grid-template-columns:1.03fr .97fr;gap:18px}
.hero-service-panel,.hero-image-panel{min-height:492px;border-radius:27px;box-shadow:0 24px 58px rgba(53,19,67,.07)}
.hero-content{padding:44px 44px 40px}
.hero-content h1{font-size:clamp(38px,3.65vw,55px);line-height:1.035;margin:17px 0 17px;max-width:610px}
.hero-lead{font-size:15px;line-height:1.65;margin-bottom:22px;max-width:590px}
.hero-actions .btn-lg{min-height:50px;padding-inline:21px;font-size:13.5px}
.hero-quick{gap:9px;margin-top:25px}
.hero-quick>a{min-height:66px;padding:10px 12px;border-radius:14px;background:#fcfdfc}
.quick-icon{width:34px;height:34px}
.hero-media,.hero-image-wrap{min-height:492px}
.image-badge{left:20px;bottom:20px;padding:13px 15px;border-radius:13px}
.hero-info-card{right:18px;top:18px;padding:10px 12px;border-radius:12px}

/* Serviços: linguagem visual mais premium e contemporânea */
.services-section{position:relative;padding-top:86px;background:linear-gradient(180deg,#fff 0%,#fcf9fd 100%);overflow:hidden}
.services-section:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-300px;top:100px;background:radial-gradient(circle,rgba(141,61,173,.055),transparent 66%);pointer-events:none}
.services-section .container{position:relative;z-index:1}
.section-head{margin-bottom:36px}
.service-grid{gap:18px}
.service-card{isolation:isolate;min-height:318px;padding:29px 28px 27px;border:1px solid rgba(91,42,114,.10);border-radius:26px;background:linear-gradient(145deg,#fff 0%,#fdfafd 100%);box-shadow:0 14px 38px rgba(20,50,46,.045);overflow:hidden;transition:transform .34s cubic-bezier(.22,.61,.36,1),box-shadow .34s ease,border-color .34s ease}
.service-card:before{z-index:-2;width:190px;height:190px;right:-90px;top:-92px;bottom:auto;background:radial-gradient(circle,rgba(91,42,114,.11),rgba(91,42,114,.025) 54%,transparent 72%);transform:none}
.service-card:after{content:"";position:absolute;z-index:-1;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--brand),#7d4e97 58%,var(--accent));transform:scaleX(.24);transform-origin:left;opacity:.75;transition:transform .42s cubic-bezier(.22,.61,.36,1),opacity .3s ease}
.service-card:hover{transform:translateY(-8px);border-color:rgba(91,42,114,.18);box-shadow:0 30px 62px rgba(20,50,46,.11)}
.service-card:hover:before{transform:scale(1.12)}
.service-card:hover:after{transform:scaleX(1);opacity:1}
.service-symbol{position:relative;width:62px;height:62px;border-radius:19px;margin-bottom:35px;background:linear-gradient(145deg,var(--brand) 0%,#6c3c87 100%);color:#fff;font-size:19px;box-shadow:0 12px 25px rgba(91,42,114,.18);transition:transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s ease}
.service-symbol:after{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.16);border-radius:14px}
.service-card:hover .service-symbol{transform:translateY(-2px) rotate(-2deg);box-shadow:0 16px 30px rgba(91,42,114,.24)}
.service-no{top:24px;right:26px;font-family:Manrope,Inter,sans-serif;font-size:29px;line-height:1;font-weight:800;letter-spacing:-.05em;color:rgba(91,42,114,.10)}
.service-card h3{font-family:Manrope,Inter,sans-serif;font-size:21px;line-height:1.2;letter-spacing:-.027em;margin:0 0 10px;color:var(--brand-ink)}
.service-card p{font-size:13px;line-height:1.7;max-width:90%;color:#746878;margin-bottom:50px}
.service-arrow{left:28px;bottom:25px;min-height:34px;padding:0 12px;border-radius:999px;background:rgba(141,61,173,.075);border:1px solid rgba(141,61,173,.11);font-size:10.5px;color:var(--accent);transition:background .25s ease,border-color .25s ease,color .25s ease}
.service-arrow b{font-size:14px;transition:transform .28s ease}
.service-card:hover .service-arrow{background:var(--accent);border-color:var(--accent);color:#fff}
.service-card:hover .service-arrow b{transform:translate(2px,-2px)}
.section-more{margin-top:24px}
.text-link{display:inline-flex;align-items:center;gap:5px;padding:10px 14px;border-radius:999px;background:rgba(91,42,114,.055);transition:background .25s ease,transform .25s ease}
.text-link:hover{background:rgba(91,42,114,.10);transform:translateY(-1px)}

/* Links úteis: mesmo padrão de cards, com identidade própria */
.useful-section{position:relative;padding-top:82px;background:linear-gradient(180deg,#fcf9fd 0%,#f8f3fa 100%);overflow:hidden}
.useful-section:after{content:"";position:absolute;width:460px;height:460px;border-radius:50%;left:-270px;bottom:-150px;background:radial-gradient(circle,rgba(91,42,114,.07),transparent 68%);pointer-events:none}
.useful-section .container{position:relative;z-index:1}
.useful-head{margin-bottom:36px}
.useful-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.useful-card{isolation:isolate;min-height:258px;padding:29px 28px 27px;border-radius:26px;background:linear-gradient(145deg,#fff 0%,#fdfafd 100%);color:var(--ink);border:1px solid rgba(91,42,114,.10);box-shadow:0 14px 38px rgba(20,50,46,.05);transition:transform .34s cubic-bezier(.22,.61,.36,1),box-shadow .34s ease,border-color .34s ease}
.useful-card:before{z-index:-2;width:190px;height:190px;right:-88px;top:-91px;background:radial-gradient(circle,rgba(141,61,173,.10),rgba(141,61,173,.025) 56%,transparent 72%);transform:none}
.useful-card:after{content:"";position:absolute;z-index:-1;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--accent),#bd6ed5 55%,var(--brand));transform:scaleX(.22);transform-origin:left;opacity:.78;transition:transform .42s cubic-bezier(.22,.61,.36,1),opacity .3s ease}
.useful-card:hover{transform:translateY(-8px);background:linear-gradient(145deg,#fff 0%,#fdf9ff 100%);border-color:rgba(141,61,173,.20);box-shadow:0 30px 62px rgba(20,50,46,.11)}
.useful-card:hover:before{transform:scale(1.12)}
.useful-card:hover:after{transform:scaleX(1);opacity:1}
.useful-no{top:24px;right:26px;font-family:Manrope,Inter,sans-serif;font-size:29px;line-height:1;font-weight:800;letter-spacing:-.05em;color:rgba(141,61,173,.11)}
.useful-symbol{position:relative;width:62px;height:62px;border-radius:19px;margin-bottom:29px;background:linear-gradient(145deg,var(--accent) 0%,#a84bc6 100%);border:0;color:#fff;font-family:Manrope,Inter,sans-serif;font-size:15px;box-shadow:0 12px 25px rgba(141,61,173,.18);transition:transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s ease}
.useful-symbol:after{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.18);border-radius:14px}
.useful-card:hover .useful-symbol{transform:translateY(-2px) rotate(2deg);box-shadow:0 16px 30px rgba(141,61,173,.24)}
.useful-card h3{font-family:Manrope,Inter,sans-serif;font-size:21px;line-height:1.2;letter-spacing:-.027em;color:var(--brand-ink);margin:0 0 9px}
.useful-card p{max-width:84%;font-size:13px;line-height:1.7;color:#746878;margin:0 0 46px}
.useful-arrow{left:28px;bottom:25px;min-height:34px;padding:0 12px;border-radius:999px;background:rgba(91,42,114,.065);border:1px solid rgba(91,42,114,.09);color:var(--brand);font-size:10.5px;transition:background .25s ease,border-color .25s ease,color .25s ease}
.useful-arrow b{font-size:14px}
.useful-card:hover .useful-arrow{background:var(--brand);border-color:var(--brand);color:#fff}

/* Footer: logo nítido e crédito DigitalCartórios */
.site-footer{padding-top:60px}
.footer-brand img{width:226px;height:auto;filter:none;opacity:1;image-rendering:auto;transform:translateZ(0)}
.footer-bottom{align-items:center;gap:24px;padding-top:17px;font-size:10.5px;line-height:1.45;color:rgba(255,255,255,.48)}
.dc-credit{display:inline-flex!important;align-items:center;gap:9px;margin:0!important;color:inherit!important;white-space:nowrap;transition:opacity .2s ease,transform .2s ease}
.dc-credit:hover{opacity:1;transform:translateY(-1px)}
.dc-credit-label{font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:rgba(255,255,255,.34)}
.dc-credit-brand{display:inline-flex;align-items:center;gap:7px}
.dc-credit-brand img{width:27px!important;height:27px!important;object-fit:contain;filter:none!important;opacity:1!important}
.dc-credit-brand strong{font-family:Manrope,Inter,sans-serif;font-size:12px;letter-spacing:-.02em;background:linear-gradient(90deg,#38d7ff,#2888ff 55%,#82e8ff);-webkit-background-clip:text;background-clip:text;color:transparent}

@media (max-width:1100px){
  .hero-service-panel,.hero-image-panel{min-height:0}.hero-media,.hero-image-wrap{min-height:430px}
  .hero-content{padding:42px 38px 39px}.hero-content h1{font-size:clamp(39px,5vw,52px)}
  .service-grid.full{grid-template-columns:repeat(3,1fr)}
  .service-card{min-height:305px}
}
@media (max-width:820px){
  .page-loader-inner img{width:min(244px,68vw)}
  .hero-home{padding:24px 0 34px}.hero-grid{gap:14px}.hero-service-panel,.hero-image-panel{border-radius:23px}.hero-content{padding:35px 27px 33px}.hero-content h1{font-size:41px}.hero-media,.hero-image-wrap{min-height:365px}
  .services-section,.useful-section{padding-top:66px}
  .service-card{min-height:292px;padding:26px 24px}.service-symbol,.useful-symbol{width:56px;height:56px;border-radius:17px}.service-no,.useful-no{font-size:25px;right:23px}.service-arrow,.useful-arrow{left:24px}
  .useful-card{min-height:248px;padding:26px 24px}
  .footer-bottom{align-items:flex-start}.dc-credit{align-self:flex-start}
}
@media (max-width:560px){
  .hero-home{padding:18px 0 28px}.hero-content{padding:30px 21px 29px}.hero-content h1{font-size:34px;margin-top:14px}.hero-lead{font-size:13.5px}.hero-quick{margin-top:20px}.hero-media,.hero-image-wrap{min-height:300px}.image-badge{left:12px;bottom:12px}
  .service-card{min-height:276px}.useful-card{min-height:236px}
  .service-card h3,.useful-card h3{font-size:19px}.service-card p,.useful-card p{font-size:12.5px;max-width:95%}
  .footer-bottom{font-size:9.5px;text-align:left}.dc-credit{white-space:normal;flex-wrap:wrap;gap:6px 9px}.dc-credit-brand strong{font-size:11px}
}
@media (prefers-reduced-motion:reduce){.page-loader-line span,body.page-loading .nav-load-track span{animation:none!important}.page-loader{transition:none!important}}
/* Ajuste final do logo do footer: usa a arte original em tamanho menor, sem filtros */
.footer-brand img{width:205px!important;height:auto!important;filter:none!important;opacity:1!important;background:rgba(255,255,255,.97);padding:8px 10px;border-radius:12px;box-shadow:0 10px 26px rgba(0,0,0,.10)}
.service-symbol svg{width:27px;height:27px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;position:relative;z-index:1}

/* ===== Ajustes V4 - hero, loader e marca DigitalCartórios ===== */
/* Destaque do fundo do hero sem alterar os dois containers internos */
.hero-home{
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 12% 24%,rgba(188,106,211,.22) 0,rgba(188,106,211,.08) 19%,transparent 38%),
    radial-gradient(circle at 86% 16%,rgba(147,91,172,.24) 0,rgba(147,91,172,.08) 22%,transparent 42%),
    linear-gradient(135deg,#361446 0%,#5b2a72 46%,#32113f 100%);
  overflow:hidden;
}
.hero-home:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  opacity:.72;
  background:
    linear-gradient(112deg,transparent 0 18%,rgba(255,255,255,.035) 18.15% 18.35%,transparent 18.5% 100%),
    linear-gradient(160deg,transparent 0 68%,rgba(181,92,204,.10) 68.1% 68.35%,transparent 68.5% 100%);
}
.hero-home:after{
  content:"";
  position:absolute;
  z-index:-1;
  width:720px;
  height:300px;
  left:50%;
  bottom:-235px;
  transform:translateX(-50%);
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(ellipse,rgba(197,117,220,.19),transparent 68%);
  filter:blur(8px);
}
.hero-home>.container{position:relative;z-index:1}
.hero-service-panel,.hero-image-panel{
  box-shadow:0 28px 72px rgba(31,10,41,.24),0 1px 0 rgba(255,255,255,.16) inset;
}

/* Tela de carregamento no padrão do layout de referência */
.page-loader{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  padding:22px;
  background:linear-gradient(145deg,#f4edf7 0%,#faf7fc 48%,#efe6f3 100%);
  opacity:1;
  visibility:visible;
  transition:opacity .46s ease,visibility .46s ease;
}
.page-loader:before,.page-loader:after{display:none}
.page-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.page-loader-card{
  width:min(328px,calc(100vw - 28px));
  min-height:200px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:24px 22px 21px;
  text-align:center;
  color:#402050;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(137,82,162,.18);
  border-radius:22px;
  box-shadow:0 22px 60px rgba(65,30,82,.14),0 1px 0 rgba(255,255,255,.9) inset;
}
.page-loader-logo{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  margin-bottom:14px;
  background:#fff;
  border:1px solid rgba(142,80,171,.20);
  border-radius:17px;
  box-shadow:0 10px 28px rgba(94,49,115,.10);
}
.page-loader-logo img{
  width:auto;
  height:39px;
  max-width:42px;
  object-fit:contain;
  filter:none;
}
.page-loader-spinner{
  width:29px;
  height:29px;
  margin:0 0 14px;
  border-radius:50%;
  background:conic-gradient(#743e91 0 36%,#ad58c7 36% 60%,#eadff0 60% 100%);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 0);
  mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 0);
  animation:pageLoaderSpin .82s linear infinite;
}
.page-loader-card strong{
  display:block;
  margin:0;
  font-size:13px;
  line-height:1.35;
  font-weight:800;
  letter-spacing:-.018em;
  color:#402050;
}
.page-loader-card small{
  display:block;
  margin-top:6px;
  font-size:10.5px;
  line-height:1.4;
  color:#85718e;
}
@keyframes pageLoaderSpin{to{transform:rotate(360deg)}}

/* Substitui o crédito antigo pela arte oficial enviada, em alta resolução */
.dc-credit{
  display:inline-flex!important;
  align-items:center;
  gap:10px;
  min-width:0;
}
.dc-credit-label{flex:0 0 auto}
.dc-credit-logo{
  width:210px!important;
  max-width:32vw;
  height:auto!important;
  object-fit:contain;
  filter:none!important;
  opacity:1!important;
  image-rendering:auto;
}
.dc-credit-brand{display:none!important}

@media (max-width:820px){
  .page-loader-card{min-height:194px;padding:22px 19px 20px;border-radius:21px}
  .page-loader-logo{width:56px;height:56px}
  .dc-credit-logo{width:190px!important;max-width:68vw}
}
@media (max-width:560px){
  .hero-home{background:radial-gradient(circle at 20% 8%,rgba(188,106,211,.18),transparent 35%),linear-gradient(145deg,#361446,#512466 58%,#32113f)}
  .page-loader{padding:14px}
  .page-loader-card{width:min(323px,calc(100vw - 20px));min-height:199px}
  .dc-credit{align-items:flex-start!important}
  .dc-credit-logo{width:178px!important;max-width:74vw}
}
@media (prefers-reduced-motion:reduce){.page-loader-spinner{animation:none!important}}

/* ===== Ajuste V5 - remover espaço entre Links Úteis e CTA ===== */
/* O espaçamento vinha do padding superior da própria seção CTA. */
.cta-section{
  padding-top:0!important;
}

/* ===== Ajuste V7 - tipografia mais compacta no container de serviços do hero ===== */
.hero-service-panel .eyebrow{
  font-size:9.5px;
  letter-spacing:.14em;
}
.hero-service-panel .hero-content h1{
  font-size:clamp(32px,3vw,46px);
  line-height:1.06;
  margin:14px 0 14px;
  max-width:570px;
}
.hero-service-panel .hero-lead{
  font-size:13.5px;
  line-height:1.58;
  margin-bottom:19px;
  max-width:560px;
}
.hero-service-panel .hero-actions .btn-lg{
  min-height:46px;
  padding-inline:18px;
  font-size:12.5px;
}
.hero-service-panel .hero-quick{
  margin-top:21px;
}
.hero-service-panel .hero-quick > a{
  min-height:60px;
  padding:9px 11px;
}
.hero-service-panel .hero-quick strong{
  font-size:11px;
}
.hero-service-panel .hero-quick small{
  font-size:9px;
}
.hero-service-panel .quick-icon{
  width:33px;
  height:33px;
  font-size:9px;
}

/* Efeito leve no logo da DigitalCartórios do footer */
.dc-credit-logo{
  transition:transform .24s ease,opacity .24s ease;
  transform-origin:center;
}
.dc-credit:hover .dc-credit-logo{
  transform:scale(1.035);
}

@media (max-width:820px){
  .hero-service-panel .hero-content h1{font-size:36px}
  .hero-service-panel .hero-lead{font-size:13px}
}
@media (max-width:560px){
  .hero-service-panel .hero-content h1{font-size:31px}
  .hero-service-panel .hero-lead{font-size:12.5px}
  .hero-service-panel .hero-actions .btn-lg{font-size:12px}
}

/* ===== Revisão responsiva V8 - mobile/tablet ===== */
html,body{max-width:100%;overflow-x:hidden}
img,svg,iframe{max-width:100%}

@media (max-width:1100px){
  .site-header{top:0}
  .nav-wrap{height:76px;gap:14px}
  .brand{display:flex;align-items:center;min-width:0;flex:1}
  .brand img{width:205px;max-width:calc(100vw - 92px);height:auto}
  .menu-toggle{display:flex;flex:0 0 44px;width:44px;height:44px;z-index:1002}
  .menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle.open span:nth-child(2){opacity:0;transform:scaleX(.25)}
  .menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .main-nav{
    position:fixed;top:76px;left:0;right:0;bottom:0;inset:auto 0 0 0;
    height:auto;max-height:calc(100dvh - 76px);width:100%;
    padding:14px max(20px,env(safe-area-inset-right)) calc(26px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));
    overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
    background:rgba(255,255,255,.985);box-shadow:0 24px 50px rgba(42,16,54,.14);
  }
  .nav-link{min-height:50px;padding:13px 4px!important;font-size:15px!important;line-height:1.25;white-space:normal}
  .dropdown-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px}
  .nav-dropdown{width:100%}
  .nav-dropdown .chevron{flex:0 0 8px;margin:0 5px 4px 12px!important;transform:rotate(45deg)!important}
  .nav-dropdown.open .chevron{transform:rotate(225deg)!important;margin-bottom:-2px!important}
  .dropdown-menu,.dropdown-menu-right{width:100%;padding:3px 0 8px 14px!important;margin:0;overflow:hidden}
  .dropdown-menu a{padding:11px 12px!important;font-size:13.5px;line-height:1.35;border-radius:9px}
  .nav-cta{width:100%;min-height:50px!important;margin:14px 0 0!important;font-size:14px!important}

  .hero-grid{grid-template-columns:1fr;gap:16px}
  .hero-service-panel,.hero-image-panel{min-height:0}
  .hero-media,.hero-image-wrap{min-height:410px}

  .section-head{grid-template-columns:1fr;gap:14px}
  .content-split,.location-grid,.lgpd-grid,.form-layout,.query-shell,.legal-layout{grid-template-columns:1fr!important}
  .form-aside{position:static!important;top:auto}
  .cta-inner{grid-template-columns:1fr;gap:30px}
  .cta-details{grid-template-columns:1fr!important;border-left:0!important;border-top:1px solid rgba(255,255,255,.16);padding:24px 0 0!important}
}

@media (max-width:820px){
  .container{width:calc(100% - 32px)}
  .section{padding:58px 0}

  .hero-home{padding:18px 0 26px}
  .hero-grid{gap:12px}
  .hero-service-panel,.hero-image-panel{border-radius:22px}
  .hero-content{padding:31px 24px 29px}
  .hero-service-panel .hero-content h1{font-size:clamp(30px,7.4vw,36px);line-height:1.08;margin:13px 0}
  .hero-service-panel .hero-lead{font-size:13px;line-height:1.55;margin-bottom:17px}
  .hero-service-panel .hero-actions{gap:9px}
  .hero-service-panel .hero-actions .btn-lg{min-height:45px;padding-inline:16px}
  .hero-service-panel .hero-quick{grid-template-columns:1fr;margin-top:18px;gap:8px}
  .hero-service-panel .hero-quick>a{min-height:57px}
  .hero-media,.hero-image-wrap{min-height:340px}
  .hero-info-card{right:12px;top:12px;max-width:calc(100% - 24px)}
  .image-badge{left:12px;bottom:12px;max-width:calc(100% - 24px);padding:11px 13px}
  .image-badge strong{font-size:12.5px}

  .services-section,.useful-section{padding-top:56px}
  .section-head,.useful-head{margin-bottom:26px}
  .section-head h2,.useful-intro h2,.cta-copy h2,.content-main h2,.location-card h2,.form-aside h2,.query-form h2{font-size:clamp(28px,7.2vw,34px)}
  .section-head p{font-size:13.5px;line-height:1.6}
  .service-grid,.service-grid.full{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .service-card{min-height:280px;padding:24px 22px 22px;border-radius:22px}
  .service-symbol,.useful-symbol{width:54px;height:54px;border-radius:16px;margin-bottom:27px}
  .service-no,.useful-no{top:21px;right:21px;font-size:23px}
  .service-card h3,.useful-card h3{font-size:19px}
  .service-card p,.useful-card p{font-size:12.5px;line-height:1.6;max-width:96%}
  .service-arrow,.useful-arrow{left:22px;bottom:21px}

  .useful-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .useful-card{min-height:238px;padding:24px 22px 22px;border-radius:22px}

  .cta-section{padding-top:0!important}
  .cta-inner{padding-top:40px;padding-bottom:40px;gap:25px}
  .cta-copy p{font-size:13.5px;line-height:1.6}
  .cta-actions{gap:9px}
  .cta-details>div{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.11)}

  .page-hero,.page-hero.compact{padding:44px 0}
  .page-hero-grid{grid-template-columns:1fr!important;gap:18px}
  .page-hero h1{font-size:clamp(32px,8vw,40px);line-height:1.08}
  .page-hero p{font-size:13.5px;line-height:1.65}
  .page-hero-mark{display:none}
  .content-split,.location-grid,.lgpd-grid,.form-layout,.query-shell,.legal-layout{gap:24px!important}
  .content-aside{order:-1}
  .content-aside img{height:280px;object-fit:cover}
  .values-grid,.contact-options{grid-template-columns:1fr;gap:14px}
  .location-card,.form-card,.query-form,.form-aside,.status-card{padding:26px 22px}
  .map-card iframe{display:block;width:100%;height:340px;border:0}
  .legal-nav{position:static;grid-template-columns:1fr 1fr;gap:8px}
  .query-result{min-height:300px;padding:22px}
  .form-grid.two{grid-template-columns:1fr;gap:14px}

  .site-footer{padding-top:48px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px 24px}
  .footer-brand{grid-column:1/-1}
  .footer-grid>div:last-child{grid-column:auto}
  .footer-bottom{flex-direction:column;align-items:flex-start!important;gap:14px;padding-top:18px}
  .footer-bottom>span{max-width:100%;line-height:1.6}
  .dc-credit{align-self:flex-start;max-width:100%}
  .dc-credit-logo{width:185px!important;max-width:70vw}
}

@media (max-width:620px){
  .container{width:calc(100% - 28px)}
  .service-grid,.service-grid.full,.useful-grid{grid-template-columns:1fr}
  .service-card{min-height:248px}
  .useful-card{min-height:218px}
  .cta-actions{display:grid;grid-template-columns:1fr}
  .cta-actions .btn{width:100%}
  .footer-grid{grid-template-columns:1fr;gap:26px}
  .footer-brand,.footer-grid>div:last-child{grid-column:auto}
}

@media (max-width:560px){
  .nav-wrap{height:68px}
  .brand img{width:178px;max-width:calc(100vw - 84px)}
  .menu-toggle{width:42px;height:42px;flex-basis:42px}
  .main-nav{top:68px;inset:auto 0 0 0;max-height:calc(100dvh - 68px);padding:10px 18px calc(22px + env(safe-area-inset-bottom))}
  .nav-link{min-height:48px;padding:12px 3px!important;font-size:14.5px!important}
  .dropdown-menu a{font-size:13px}

  .hero-home{padding:14px 0 22px}
  .hero-content{padding:27px 19px 25px}
  .hero-service-panel .eyebrow{font-size:8.7px;line-height:1.45;letter-spacing:.12em}
  .hero-service-panel .hero-content h1{font-size:29px;line-height:1.09;letter-spacing:-.035em}
  .hero-service-panel .hero-lead{font-size:12.3px}
  .hero-service-panel .hero-actions{display:grid;grid-template-columns:1fr}
  .hero-service-panel .hero-actions .btn-lg{width:100%;min-height:44px;font-size:11.8px}
  .hero-service-panel .hero-quick>a{min-height:55px;padding:8px 10px}
  .hero-media,.hero-image-wrap{min-height:280px}
  .hero-info-card{display:none}
  .image-badge span{font-size:8.5px}.image-badge strong{font-size:11.5px}

  .section{padding:50px 0}
  .services-section,.useful-section{padding-top:50px}
  .section-head,.useful-head{margin-bottom:22px}
  .section-head h2,.useful-intro h2,.cta-copy h2,.content-main h2,.location-card h2,.form-aside h2,.query-form h2{font-size:29px}
  .section-head p{font-size:13px}
  .service-card{min-height:240px;padding:22px 20px 20px}
  .useful-card{min-height:210px;padding:22px 20px 20px}
  .service-symbol,.useful-symbol{width:50px;height:50px;margin-bottom:23px}
  .service-no,.useful-no{top:19px;right:19px;font-size:21px}
  .service-card h3,.useful-card h3{font-size:18px}
  .service-card p,.useful-card p{font-size:12px;margin-bottom:43px}
  .service-arrow,.useful-arrow{left:20px;bottom:18px;min-height:32px;font-size:10px}
  .section-more{justify-content:flex-start;margin-top:20px}

  .cta-inner{padding-top:34px;padding-bottom:34px}
  .cta-copy h2{font-size:28px}
  .cta-copy p{font-size:13px}
  .cta-details{padding-top:18px!important}

  .page-hero,.page-hero.compact{padding:38px 0}
  .page-hero h1{font-size:32px}
  .page-hero p{font-size:13px}
  .content-aside img{height:235px}
  .location-card,.form-card,.query-form,.form-aside,.status-card{padding:22px 18px}
  .map-card iframe{height:290px}
  .legal-nav{grid-template-columns:1fr}
  .query-result{min-height:250px;padding:18px}
  .status-head{flex-direction:column;gap:10px}
  .status-card dl>div{grid-template-columns:1fr;gap:3px}
  .file-drop{padding:14px!important}
  .success-panel{padding:14px;gap:10px}

  .site-footer{padding-top:40px}
  .footer-brand img{width:185px!important}
  .footer-brand p{font-size:12px;line-height:1.65}
  .footer-grid h3{margin-bottom:10px}
  .footer-grid a,.footer-grid p{overflow-wrap:anywhere}
  .footer-bottom{font-size:9.5px!important;gap:12px}
  .dc-credit-logo{width:172px!important;max-width:76vw}
}

@media (max-width:390px){
  .container{width:calc(100% - 24px)}
  .brand img{width:164px;max-width:calc(100vw - 78px)}
  .hero-service-panel .hero-content h1{font-size:27px}
  .hero-content{padding:24px 17px 23px}
  .hero-media,.hero-image-wrap{min-height:255px}
  .service-card{min-height:236px}
  .useful-card{min-height:205px}
  .page-hero h1{font-size:30px}
  .footer-bottom{font-size:9px!important}
}

@media (hover:none) and (pointer:coarse){
  .service-card:hover,.useful-card:hover,.btn:hover,.hero-image-panel:hover .hero-image-wrap img{transform:none}
  .dc-credit:hover .dc-credit-logo{transform:none}
}

/* ===== Correção V9 - menu mobile estável ===== */
@media (max-width:1100px){
  .site-header{
    overflow:visible;
    background:#fff;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .nav-wrap{position:relative;z-index:1003}
  .menu-toggle{
    position:relative;
    z-index:1005;
    margin-left:auto;
    cursor:pointer;
  }
  .main-nav{
    position:fixed!important;
    inset:76px 0 0 0!important;
    top:76px!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100vw!important;
    max-width:none!important;
    height:calc(100dvh - 76px)!important;
    max-height:calc(100dvh - 76px)!important;
    margin:0!important;
    padding:14px max(22px,env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left))!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    background:#fff!important;
    box-shadow:0 22px 44px rgba(42,16,54,.14);
    transform:translate3d(100%,0,0)!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:transform .32s cubic-bezier(.22,.61,.36,1),opacity .2s ease,visibility .32s ease!important;
    z-index:1004;
  }
  .main-nav.open{
    transform:translate3d(0,0,0)!important;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .main-nav>.nav-link,
  .main-nav>.nav-dropdown>.nav-link{
    width:100%!important;
    min-height:52px;
    margin:0!important;
    padding:14px 4px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start;
    border:0!important;
    border-bottom:1px solid #edf0ed!important;
    border-radius:0!important;
    background:transparent!important;
    font-size:15px!important;
    line-height:1.25!important;
    text-align:left!important;
    white-space:normal!important;
  }
  .main-nav>.nav-dropdown>.dropdown-toggle{justify-content:space-between!important;gap:14px}
  .main-nav .nav-link:after{display:none!important}
  .nav-dropdown{width:100%!important;margin:0!important}
  .nav-dropdown .chevron{
    flex:0 0 8px;
    width:8px;
    height:8px;
    margin:0 6px 3px 12px!important;
    transform:rotate(45deg)!important;
    transition:transform .3s cubic-bezier(.22,.61,.36,1),margin .3s ease!important;
  }
  .nav-dropdown.open .chevron,
  .nav-dropdown.open:hover .chevron,
  .nav-dropdown.open:focus-within .chevron{
    transform:rotate(225deg)!important;
    margin-bottom:-3px!important;
  }
  .nav-dropdown:not(.open):hover .chevron,
  .nav-dropdown:not(.open):focus-within .chevron{
    transform:rotate(45deg)!important;
    margin-bottom:3px!important;
  }
  .dropdown-menu,
  .dropdown-menu-right{
    position:static!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-height:0;
    margin:0!important;
    padding:0 0 0 14px!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    overflow:hidden!important;
    pointer-events:none;
    transition:max-height .32s cubic-bezier(.22,.61,.36,1),padding .25s ease!important;
  }
  .nav-dropdown.open>.dropdown-menu{
    max-height:240px;
    padding:5px 0 8px 14px!important;
    pointer-events:auto;
  }
  .dropdown-menu a{
    display:flex!important;
    align-items:center;
    min-height:44px;
    padding:10px 12px!important;
    margin:2px 0!important;
    border-radius:9px!important;
    background:#fbf9fc!important;
    color:var(--brand)!important;
    font-size:13.5px!important;
    font-weight:650;
    line-height:1.35;
  }
  .dropdown-menu a:hover,
  .dropdown-menu a:focus-visible{background:#f5eff7!important;color:var(--accent)!important}
  .main-nav .nav-cta{
    flex:0 0 auto;
    width:100%!important;
    min-height:50px!important;
    margin:16px 0 4px!important;
    padding:0 18px!important;
    border-radius:14px!important;
    border:1px solid transparent!important;
    justify-content:center!important;
    font-size:14px!important;
  }
  body.menu-open{overflow:hidden!important;touch-action:none}
}

@media (max-width:560px){
  .main-nav{
    inset:68px 0 0 0!important;
    top:68px!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100vw!important;
    height:calc(100dvh - 68px)!important;
    max-height:calc(100dvh - 68px)!important;
    padding:10px max(18px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))!important;
  }
  .main-nav>.nav-link,
  .main-nav>.nav-dropdown>.nav-link{min-height:49px;font-size:14.5px!important;padding:12px 3px!important}
  .dropdown-menu a{min-height:42px;font-size:13px!important}
  .main-nav .nav-cta{min-height:48px!important;margin-top:14px!important}
}


/* ===== Correção V10 - menu mobile ocupa 100% da viewport ===== */
@media (max-width:1100px){
  .site-header{width:100%;left:0;right:0}
  .main-nav{
    border:0!important;
    border-left:0!important;
    border-right:0!important;
    border-radius:0!important;
    box-sizing:border-box!important;
    background:#fff!important;
  }
  .main-nav::before,.main-nav::after{display:none!important;content:none!important}
}

/* ===== Ajuste V11 - textura roxa institucional no fundo do hero ===== */
.hero-home{
  background:
    linear-gradient(135deg, rgba(47,15,62,.82) 0%, rgba(72,27,92,.72) 45%, rgba(58,20,73,.82) 100%),
    url('/images/hero-purple-bg.svg') center center / cover no-repeat !important;
}
.hero-home:before{
  opacity:1 !important;
  background:
    radial-gradient(circle at 14% 20%, rgba(190,109,214,.22) 0, rgba(190,109,214,.08) 18%, transparent 38%),
    radial-gradient(circle at 86% 14%, rgba(153,95,177,.14) 0, rgba(153,95,177,.05) 18%, transparent 40%),
    linear-gradient(110deg, transparent 0 16%, rgba(255,255,255,.045) 16.1% 16.35%, transparent 16.5% 100%),
    linear-gradient(155deg, transparent 0 70%, rgba(181,92,204,.12) 70.1% 70.35%, transparent 70.5% 100%) !important;
}
.hero-home:after{
  background:radial-gradient(ellipse, rgba(197,117,220,.24), transparent 68%) !important;
}

/* ===== Ajuste V12 - hero somente com a textura roxa institucional ===== */
.hero-home{
  background-image:url('/images/hero-purple-bg.svg') !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-color:transparent !important;
}
.hero-home:before,
.hero-home:after{
  display:none !important;
  content:none !important;
}


/* ===== Ajuste V13 - ações de localização ===== */
.location-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px}
.location-actions .btn{margin:0}
.waze-btn{background:#fff;border-color:rgba(91,42,114,.18);color:var(--brand);box-shadow:0 10px 24px rgba(53,19,67,.06)}
.waze-btn:hover{background:#fbf8fd;border-color:var(--brand);box-shadow:0 13px 28px rgba(53,19,67,.10)}
@media (max-width:560px){
  .location-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:24px}
  .location-actions .btn{width:100%}
}

/* ===== Ajuste V14 - navbar acompanha o scroll + botão Waze ===== */
/* Evita que overflow-x:hidden crie um ancestral de rolagem e quebre position:sticky. */
html,body{
  max-width:100%;
  overflow-x:clip;
}
.site-header{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:0!important;
  z-index:1200!important;
}

.location-actions .waze-btn{
  background:#33ccff!important;
  border-color:#33ccff!important;
  color:#061f28!important;
  box-shadow:0 10px 24px rgba(51,204,255,.22)!important;
  gap:9px;
}
.location-actions .waze-btn:hover{
  background:#24c3f7!important;
  border-color:#24c3f7!important;
  color:#061f28!important;
  box-shadow:0 14px 30px rgba(51,204,255,.30)!important;
}
.waze-btn-logo{
  width:24px!important;
  height:24px!important;
  min-width:24px;
  object-fit:cover;
  border-radius:6px;
  display:block;
  flex:0 0 auto;
}
.waze-btn-arrow{font-size:12px;line-height:1;margin-left:1px}

@media (max-width:1100px){
  .site-header{position:-webkit-sticky!important;position:sticky!important;top:0!important}
}
@media (max-width:560px){
  .waze-btn-logo{width:22px!important;height:22px!important;min-width:22px}
}

/* ===== Correção V15 - menu mobile sem quebras durante o scroll ===== */
@media (max-width:1100px){
  :root{--mobile-header-h:76px}

  /* No mobile a navbar fica realmente fixa na viewport. Isso evita que
     partes do hero apareçam acima do drawer quando o menu é aberto após scroll. */
  .site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:var(--mobile-header-h)!important;
    z-index:5000!important;
    overflow:visible!important;
    background:#fff!important;
    border-bottom:1px solid #eee6f1!important;
    box-shadow:0 4px 18px rgba(42,16,54,.07);
  }
  .nav-wrap{
    width:min(var(--container),calc(100% - 32px))!important;
    height:var(--mobile-header-h)!important;
    min-height:var(--mobile-header-h)!important;
    margin-inline:auto!important;
    padding:0!important;
    position:relative!important;
    z-index:5002!important;
  }

  /* Compensa a navbar fixa sem modificar o HTML ou a estrutura das páginas. */
  #conteudo{
    padding-top:var(--mobile-header-h)!important;
  }

  .menu-toggle{
    position:relative!important;
    z-index:5004!important;
  }

  .main-nav{
    position:fixed!important;
    top:var(--mobile-header-h)!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    inset:var(--mobile-header-h) 0 0 0!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:14px max(22px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left))!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch;
    z-index:5001!important;
    transform:translate3d(100%,0,0)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .main-nav.open{
    transform:translate3d(0,0,0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  /* Evita estouros causados por textos/setas e mantém cada linha íntegra. */
  .main-nav>.nav-link,
  .main-nav>.nav-dropdown,
  .main-nav>.nav-dropdown>.nav-link,
  .main-nav .nav-cta,
  .dropdown-menu,
  .dropdown-menu a{
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .main-nav>.nav-dropdown>.dropdown-toggle{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
  }
  .main-nav>.nav-dropdown>.dropdown-toggle .chevron{
    margin-left:auto!important;
    margin-right:6px!important;
  }
  .main-nav .nav-cta{
    flex-shrink:0!important;
  }
}

@media (max-width:560px){
  :root{--mobile-header-h:68px}

  .nav-wrap{
    width:calc(100% - 28px)!important;
  }
  .main-nav{
    top:var(--mobile-header-h)!important;
    inset:var(--mobile-header-h) 0 0 0!important;
    padding:10px max(17px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(17px,env(safe-area-inset-left))!important;
  }
  .main-nav>.nav-link,
  .main-nav>.nav-dropdown>.nav-link{
    min-height:49px!important;
    padding:12px 3px!important;
  }
}


/* ===== Ajuste V16 - hero da página Nossa Localização ===== */
.page-hero.location-hero{
  position:relative;
  overflow:hidden;
  background-image:url('/images/hero-purple-bg.svg') !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-color:transparent !important;
}
.page-hero.location-hero::before,
.page-hero.location-hero::after,
.page-hero.location-hero .page-hero-mark{
  display:none !important;
  content:none !important;
}
.page-hero.location-hero .eyebrow,
.page-hero.location-hero .eyebrow > span,
.page-hero.location-hero h1,
.page-hero.location-hero p{
  color:#fff !important;
}
.page-hero.location-hero p{
  max-width:700px;
  color:rgba(255,255,255,.92) !important;
}
@media (max-width:820px){
  .page-hero.location-hero{
    background-position:center top !important;
  }
}

/* ===== Ajuste V17 - textura roxa institucional em todos os heros internos ===== */
.page-hero,
.page-hero.compact{
  position:relative;
  overflow:hidden;
  background-image:url('/images/hero-purple-bg.svg') !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-color:transparent !important;
}

/* Remove qualquer overlay, brilho, gradiente ou elemento decorativo do hero */
.page-hero::before,
.page-hero::after,
.page-hero .page-hero-mark{
  display:none !important;
  content:none !important;
  background:none !important;
  box-shadow:none !important;
  filter:none !important;
}

/* Mantém toda a tipografia dos heros em branco para contraste com a textura */
.page-hero .eyebrow,
.page-hero .eyebrow > span,
.page-hero h1,
.page-hero p{
  color:#fff !important;
}

.page-hero p{
  color:rgba(255,255,255,.92) !important;
}

@media (max-width:820px){
  .page-hero,
  .page-hero.compact{
    background-position:center center !important;
  }
}

/* ===== Ajuste V18 - refinamento dos submenus desktop ===== */
@media (min-width:1101px){
  /* Mantém a seta centralizada sem saltos verticais ao abrir o submenu. */
  .main-nav .dropdown-toggle{
    display:inline-flex;
    align-items:center;
    gap:8px;
  }
  .main-nav .chevron{
    flex:0 0 7px;
    width:7px;
    height:7px;
    margin:0 1px 2px 0!important;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    transform:rotate(45deg);
    transform-origin:center;
    transition:transform .28s cubic-bezier(.22,.61,.36,1)!important;
  }
  .main-nav .nav-dropdown:hover .chevron,
  .main-nav .nav-dropdown:focus-within .chevron{
    transform:rotate(225deg)!important;
    margin:0 1px 2px 0!important;
  }

  /* Painel menor, bem alinhado e sem aquele contorno arredondado excessivo. */
  .main-nav .nav-dropdown>.dropdown-menu{
    top:calc(100% + 6px)!important;
    left:0;
    right:auto;
    min-width:218px;
    width:max-content;
    max-width:280px;
    padding:7px!important;
    margin:0!important;
    border:1px solid rgba(91,42,114,.085)!important;
    border-radius:13px!important;
    background:#fff!important;
    box-shadow:0 14px 34px rgba(53,19,67,.12)!important;
    overflow:visible;
    transform:translateY(7px)!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease,visibility .2s ease,transform .26s cubic-bezier(.22,.61,.36,1)!important;
  }
  .main-nav .nav-dropdown>.dropdown-menu-right{
    left:auto!important;
    right:0!important;
    min-width:232px;
  }
  /* Ponte invisível entre o item principal e o submenu para o hover não falhar. */
  .main-nav .nav-dropdown>.dropdown-menu::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-8px;
    height:8px;
    background:transparent;
  }
  .main-nav .nav-dropdown:hover>.dropdown-menu,
  .main-nav .nav-dropdown:focus-within>.dropdown-menu{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }
  .main-nav .dropdown-menu a{
    display:flex;
    align-items:center;
    min-height:43px;
    padding:10px 12px!important;
    margin:0!important;
    border:0!important;
    border-radius:8px!important;
    background:transparent!important;
    color:#654f6d!important;
    font-size:13.5px!important;
    font-weight:650;
    line-height:1.25;
    white-space:nowrap;
    transition:background .18s ease,color .18s ease,padding-left .2s ease!important;
  }
  .main-nav .dropdown-menu a+a{
    border-top:1px solid rgba(91,42,114,.055)!important;
  }
  .main-nav .dropdown-menu a:hover,
  .main-nav .dropdown-menu a:focus-visible{
    background:#f8f3fa!important;
    color:var(--accent)!important;
    padding-left:15px!important;
  }
}


/* ===== Ajuste V19 - loader leve, transparente e não bloqueante ===== */
.page-loader{
  background:transparent !important;
  pointer-events:none !important;
  transition:opacity .20s ease,visibility .20s ease !important;
}
.page-loader-card{
  background:rgba(255,255,255,.94) !important;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  box-shadow:0 14px 38px rgba(65,30,82,.10) !important;
}
body.page-loading{
  overflow:auto !important;
}
body.page-loading #conteudo{
  opacity:1 !important;
  transform:none !important;
}
body.page-ready #conteudo{
  opacity:1 !important;
  transform:none !important;
}
@media (max-width:560px){
  .page-loader{padding:12px !important}
}

/* ===== Ajuste V20 - logo transparente no footer ===== */
.footer-brand img{
  width:226px!important;
  max-width:100%!important;
  height:auto!important;
  background:transparent!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  opacity:1!important;
  object-fit:contain;
}
@media (max-width:820px){
  .footer-brand img{width:205px!important}
}
@media (max-width:560px){
  .footer-brand img{width:185px!important}
}

/* ===== Ajuste V21 - maior espaçamento entre logo e texto do footer ===== */
.footer-brand p{
  margin-top:30px !important;
}
@media (max-width:820px){
  .footer-brand p{margin-top:24px !important;}
}
@media (max-width:560px){
  .footer-brand p{margin-top:20px !important;}
}


/* ===== 7RISP — identidade roxa e componentes finais ===== */
:root{
  --brand:#5b2a72;
  --brand-deep:#351343;
  --brand-ink:#2a1036;
  --accent:#8d3dad;
  --accent-hover:#73318f;
  --paper:#faf7fc;
  --sand:#f2eaf6;
  --ink:#2e2134;
  --muted:#716678;
  --line:#e8dfec;
  --shadow:0 24px 60px rgba(53,19,67,.11);
  --container:1280px;
}
::selection{background:rgba(141,61,173,.22);color:var(--brand-ink)}
body{background:#fff}
.site-header{border-bottom-color:rgba(91,42,114,.10)}
.site-header.scrolled{box-shadow:0 10px 34px rgba(53,19,67,.10)}
.topbar{background:linear-gradient(90deg,#2b0d39,#431554 55%,#351343)}
.icon-dot{color:#d7ace8}
.brand img{width:222px;max-height:60px;object-fit:contain}
.btn-primary{box-shadow:0 10px 26px rgba(141,61,173,.23)}
.btn-primary:hover{box-shadow:0 14px 32px rgba(141,61,173,.30)}
.menu-toggle{background:#f4eef7}
.eyebrow.light{color:#e8c7f3}

.hero-home{
  background-image:url('/images/hero-purple-bg.svg')!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
.hero-shell{border-color:rgba(91,42,114,.10);box-shadow:0 30px 80px rgba(40,12,53,.18)}
.hero-service-panel{background:rgba(255,255,255,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hero-welcome{
  width:max-content;max-width:100%;margin-top:18px;padding:7px 11px;border-radius:999px;
  color:var(--brand);background:#f4ecf7;border:1px solid #e5d7eb;
  font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.11em;
}
.hero-image-wrap.hero-brand-visual{background:#3e1450}
.hero-brand-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.hero-image-wrap.hero-brand-visual:after{z-index:1;background:linear-gradient(180deg,rgba(42,16,54,.04) 35%,rgba(42,16,54,.56) 100%)}
.hero-brand-logo{
  position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(340px,70%);padding:30px 34px;background:rgba(255,255,255,.95);
  border:1px solid rgba(255,255,255,.72);border-radius:24px;
  box-shadow:0 24px 60px rgba(29,8,39,.26);backdrop-filter:blur(10px)
}
.hero-brand-logo img{position:static!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important}
.hero-info-card{background:rgba(48,15,62,.90)}
.image-badge{border:1px solid rgba(91,42,114,.10)}
.status-dot{background:#77d9a0;box-shadow:0 0 0 5px rgba(119,217,160,.13)}
.quick-icon,.service-symbol{background:#f4ecf7}
.service-card:before{background:rgba(141,61,173,.07)}
.service-card:hover{border-color:rgba(141,61,173,.32);box-shadow:0 22px 45px rgba(53,19,67,.10)}
.hero-quick>a:hover{border-color:rgba(141,61,173,.35);background:#fdf9ff}

/* Novos grids institucionais */
.info-cards-grid,.news-grid,.links-page-grid,.lgpd-channel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.info-nav-card,.news-card,.links-page-grid>a,.lgpd-channel-grid>article{
  position:relative;display:flex;flex-direction:column;min-height:210px;padding:27px;
  background:#fff;border:1px solid var(--line);border-radius:20px;transition:.24s;
}
.info-nav-card:hover,.news-card:hover,.links-page-grid>a:hover{transform:translateY(-4px);border-color:rgba(141,61,173,.32);box-shadow:0 18px 38px rgba(53,19,67,.08)}
.info-nav-card h3,.news-card h3,.links-page-grid h3,.lgpd-channel-grid h3{margin:18px 0 8px;font-family:Manrope,Inter,sans-serif;font-size:19px;line-height:1.2;color:var(--brand-ink)}
.info-nav-card p,.news-card p,.links-page-grid p,.lgpd-channel-grid p{margin:0 0 18px;color:var(--muted);font-size:13px}
.info-nav-card .service-arrow,.news-card .service-arrow,.links-page-grid .service-arrow{margin-top:auto;position:static}
.news-card small{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:9.5px}
.links-page-grid>a{min-height:185px}
.links-page-grid .useful-symbol{margin-bottom:4px}

.faq-layout{display:grid;grid-template-columns:.62fr 1.38fr;gap:40px;align-items:start}
.faq-intro{position:sticky;top:128px;padding:30px;background:#f8f2fa;border:1px solid var(--line);border-radius:22px}
.faq-intro h2{font-family:Manrope,Inter,sans-serif;margin:12px 0 12px;font-size:30px;line-height:1.12;color:var(--brand-ink)}
.faq-intro p{color:var(--muted);font-size:13px}
.faq-list{display:grid;gap:10px}
.faq-list details{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.faq-list summary{list-style:none;cursor:pointer;padding:18px 48px 18px 20px;font-weight:800;font-size:14px;color:var(--brand-ink);position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--accent)}
.faq-list details[open] summary:after{content:'–'}
.faq-list details p{margin:0;padding:0 20px 19px;color:var(--muted);font-size:13px}

.brand-aside .brand-aside-visual{min-height:390px;display:grid;place-items:center;padding:46px;background:linear-gradient(145deg,#351343,#6d3484);border-radius:24px;overflow:hidden;position:relative}
.brand-aside .brand-aside-visual:before{content:'';position:absolute;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.08);right:-120px;top:-130px}
.brand-aside .brand-aside-visual img{position:relative;z-index:1;width:min(300px,90%);height:auto;background:rgba(255,255,255,.96);padding:28px;border-radius:22px;box-shadow:0 18px 45px rgba(31,8,41,.22)}

.prototype-note,.location-note{
  margin:0 0 20px;padding:13px 15px;border-radius:13px;background:#f7effa;border:1px solid #e4d3eb;
  color:#684676;font-size:12px;line-height:1.55;
}
.lgpd-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.lgpd-channel-grid{grid-template-columns:repeat(2,1fr);margin-top:28px}
.lgpd-channel-grid>article{min-height:180px}
.location-note{margin-top:20px;margin-bottom:0}

/* Footer institucional */
.site-footer{background:linear-gradient(150deg,#2b0d39 0%,#351343 48%,#431554 100%)}
.footer-brand img{width:222px!important;max-width:100%!important;height:auto!important;object-fit:contain!important}
.footer-grid h3{color:#fff}
.footer-grid a:hover{color:#e8c7f3}
.dc-credit{margin-top:0!important}
.dc-credit-logo{width:245px!important;max-width:min(42vw,245px)!important;height:auto!important;filter:none!important;opacity:1!important;transform:none}
.dc-credit:hover .dc-credit-logo{transform:scale(1.02)}
.dc-credit-label{color:rgba(255,255,255,.46)}

/* Navegação desktop mais compacta para os novos grupos */
@media (min-width:1101px){
  .nav-wrap{gap:14px}
  .main-nav{gap:0}
  .nav-link{padding:13px 8px;font-size:12.5px}
  .nav-link:after{left:8px;right:8px}
  .nav-cta{margin-left:4px;padding-inline:14px;font-size:12px}
}
@media (max-width:1100px){
  .brand img{width:205px}
  .info-cards-grid,.news-grid,.links-page-grid{grid-template-columns:repeat(2,1fr)}
  .lgpd-channel-grid{grid-template-columns:1fr 1fr}
  .faq-layout{grid-template-columns:1fr;gap:22px}
  .faq-intro{position:static}
}
@media (max-width:820px){
  .hero-brand-logo{width:min(315px,68%);padding:24px 27px}
  .brand-aside .brand-aside-visual{min-height:320px}
  .dc-credit-logo{width:220px!important;max-width:70vw!important}
}
@media (max-width:560px){
  .brand img{width:182px}
  .hero-welcome{margin-top:14px;font-size:9px}
  .hero-brand-logo{width:72%;padding:18px 20px;border-radius:18px}
  .info-cards-grid,.news-grid,.links-page-grid,.lgpd-channel-grid{grid-template-columns:1fr}
  .info-nav-card,.news-card,.links-page-grid>a,.lgpd-channel-grid>article{min-height:auto;padding:22px}
  .brand-aside .brand-aside-visual{min-height:260px;padding:30px}
  .brand-aside .brand-aside-visual img{padding:20px}
  .lgpd-actions .btn{width:100%}
  .dc-credit-logo{width:205px!important;max-width:76vw!important}
}

/* Ajustes tipográficos dos cards criados na adaptação 7RISP */
.info-nav-card h2,.news-card h2,.links-page-grid h2,.lgpd-channel-grid h2{
  margin:18px 0 8px;font-family:Manrope,Inter,sans-serif;font-size:19px;line-height:1.2;color:var(--brand-ink)
}
.info-nav-card>b,.news-card>a{margin-top:auto;color:var(--accent);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.notice-box{border-color:#e3d2ea!important;background:#f8f1fa!important}
.page-loader-logo{width:176px!important;height:64px!important;padding:9px 13px;border-radius:15px}
.page-loader-logo img{width:100%!important;height:auto!important;max-width:150px!important;max-height:44px!important;object-fit:contain!important}
.page-loader-spinner{background:conic-gradient(#5b2a72 0 42%,#a653c2 42% 68%,#eadff0 68% 100%)}
.page-loader-card strong{color:#402050}
@media(max-width:560px){.page-loader-logo{width:160px!important;height:60px!important}.page-loader-logo img{max-width:136px!important}}

/* ===== Ajuste 7RISP V2 — menu no padrão do projeto de referência ===== */
@media (min-width:1101px){
  .nav-wrap{gap:28px}
  .main-nav{gap:4px}
  .nav-link{padding:13px 14px;font-size:14px}
  .nav-link:after{left:14px;right:14px}
  .nav-cta{margin-left:10px;padding-inline:19px;font-size:13px}
}

/* ===== Hero — imagem da Avenida Paulista sem efeitos ===== */
.hero-image-panel.hero-image-panel-plain{
  position:relative;
  min-height:610px;
  padding:0;
  background:#fff;
  overflow:hidden;
}
.hero-image-panel-plain::before,
.hero-image-panel-plain::after{content:none!important;display:none!important}
.hero-paulista-image{
  display:block;
  width:100%;
  height:100%;
  min-height:610px;
  object-fit:cover;
  object-position:center;
  transform:none!important;
  transition:none!important;
  filter:none!important;
  opacity:1!important;
}
.hero-image-panel-plain:hover .hero-paulista-image{transform:none!important}
@media (max-width:820px){
  .hero-image-panel.hero-image-panel-plain,
  .hero-paulista-image{min-height:420px}
}
@media (max-width:560px){
  .hero-image-panel.hero-image-panel-plain,
  .hero-paulista-image{min-height:300px}
}


/* ===== Ajuste 7RISP V3 — hero compacto, navbar ampliada e rodapé mais sóbrio ===== */
/* Hero no mesmo grau de compactação visual da referência: dois cards lado a lado,
   com altura equilibrada e sem qualquer efeito sobre a imagem. */
@media (min-width:1101px){
  .hero-home{padding:34px 0 42px!important}
  .hero-home>.container{width:min(1220px,calc(100% - 48px))}
  .hero-grid{grid-template-columns:1.03fr .97fr;gap:18px;align-items:stretch}
  .hero-service-panel .hero-content{padding:35px 44px 33px}
  .hero-service-panel .hero-quick{margin-top:18px}
  .hero-service-panel,
  .hero-image-panel.hero-image-panel-plain{
    min-height:492px!important;
    height:492px;
    border-radius:27px;
  }
  .hero-paulista-image{
    min-height:492px!important;
    height:492px!important;
  }

  /* Navbar com leitura e chamada principal mais evidentes. */
  .nav-wrap{gap:24px}
  .main-nav{gap:3px}
  .main-nav>.nav-link,
  .main-nav>.nav-dropdown>.nav-link{
    padding:14px 13px;
    font-size:15.5px;
    font-weight:700;
  }
  .main-nav>.nav-link:after,
  .main-nav>.nav-dropdown>.nav-link:after{left:13px;right:13px}
  .main-nav .nav-cta{
    min-height:49px;
    margin-left:10px;
    padding-inline:21px;
    font-size:14.5px;
    font-weight:800;
  }
}

/* CTA: roxo mais fechado, porém ainda claramente mais claro que o footer. */
.contact-cta{
  background:#3b1450!important;
}

/* Footer: fundo institucional mais escuro e com contraste maior. */
.site-footer{
  background:linear-gradient(150deg,#16051f 0%,#1e0729 50%,#260a34 100%)!important;
}

/* Crédito DigitalCartórios menor para não competir com a identidade do cartório. */
.dc-credit-logo{
  width:185px!important;
  max-width:min(34vw,185px)!important;
}

@media (max-width:1100px){
  .dc-credit-logo{width:172px!important;max-width:62vw!important}
}
@media (max-width:820px){
  .dc-credit-logo{width:164px!important;max-width:66vw!important}
}
@media (max-width:560px){
  .dc-credit-logo{width:150px!important;max-width:70vw!important}
}

/* ===== Ajuste 7RISP V4 — fundo rústico roxo aplicado ao hero ===== */
.hero-home{
  background:#2a1337 url('/images/hero-rustic-purple-bg.png') center center / cover no-repeat !important;
}
.hero-home::before,
.hero-home::after{
  content:none !important;
  display:none !important;
}
@media (max-width:560px){
  .hero-home{
    background:#2a1337 url('/images/hero-rustic-purple-bg.png') center center / cover no-repeat !important;
  }
}

/* ===== Ajuste 7RISP V5 — ícones de serviços mais destacados ===== */
/* Mantém integralmente a estrutura, espaçamentos e quantidade de cards da seção. */
.service-card .service-symbol{
  width:58px;
  height:58px;
  margin-bottom:28px;
  border-radius:17px;
  color:#fff;
  background:linear-gradient(145deg,#5b2a72 0%,#7d3f96 55%,#9b56b4 100%);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 12px 26px rgba(91,42,114,.24), inset 0 1px 0 rgba(255,255,255,.22);
  transition:transform .24s ease,box-shadow .24s ease,background .24s ease;
}
.service-card .service-symbol svg{
  width:31px;
  height:31px;
  stroke-width:1.9;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.10));
}
.service-card:hover .service-symbol{
  transform:translateY(-2px) scale(1.045);
  background:linear-gradient(145deg,#4b1f62 0%,#71378a 55%,#9b56b4 100%);
  box-shadow:0 15px 31px rgba(91,42,114,.31), inset 0 1px 0 rgba(255,255,255,.24);
}
@media (max-width:820px){
  .service-card .service-symbol{
    width:56px;
    height:56px;
    margin-bottom:26px;
  }
  .service-card .service-symbol svg{width:29px;height:29px}
}
@media (max-width:560px){
  .service-card .service-symbol{
    width:54px;
    height:54px;
    border-radius:16px;
  }
  .service-card .service-symbol svg{width:28px;height:28px}
}


/* ===== Ajuste 7RISP V6 — fundo rústico roxo em todos os heros internos ===== */
.page-hero,
.page-hero.compact,
.page-hero.location-hero{
  background:#2a1337 url('/images/hero-rustic-purple-bg.png') center center / cover no-repeat !important;
}

.page-hero::before,
.page-hero::after,
.page-hero .page-hero-mark,
.page-hero.compact::before,
.page-hero.compact::after,
.page-hero.compact .page-hero-mark,
.page-hero.location-hero::before,
.page-hero.location-hero::after,
.page-hero.location-hero .page-hero-mark{
  display:none !important;
  content:none !important;
  background:none !important;
  box-shadow:none !important;
  filter:none !important;
}

@media (max-width:820px){
  .page-hero,
  .page-hero.compact,
  .page-hero.location-hero{
    background:#2a1337 url('/images/hero-rustic-purple-bg.png') center center / cover no-repeat !important;
  }
}


/* ===== Ajuste 7RISP V8 — badge de atendimento, localização e scale suave na imagem ===== */
.hero-image-panel.hero-image-panel-plain{
  position:relative;
}
.hero-paulista-image{
  transform:scale(1);
  transition:transform .65s ease;
}
.hero-image-panel.hero-image-panel-plain:hover .hero-paulista-image{
  transform:scale(1.035);
}
.hero-info-card.hero-info-card-custom{
  position:absolute;
  top:18px;
  right:18px;
  z-index:3;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  border-radius:16px;
  color:#fff;
  background:rgba(92, 27, 74, .92);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 35px rgba(31,10,41,.20);
  backdrop-filter:blur(8px);
}
.hero-info-card.hero-info-card-custom small{
  font-size:10px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
  color:rgba(255,255,255,.72);
}
.hero-info-card.hero-info-card-custom strong{
  font-size:13px;
  line-height:1.2;
  font-weight:800;
  color:#fff;
}
.hero-info-card.hero-info-card-custom .status-dot{
  width:11px;
  height:11px;
  flex:0 0 11px;
  background:#e06aa6;
  box-shadow:0 0 0 6px rgba(224,106,166,.14);
}
.image-badge.image-badge-custom{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:3;
  padding:14px 16px 13px;
  border-radius:18px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(91,42,114,.10);
  box-shadow:0 18px 35px rgba(31,10,41,.16);
}
.image-badge.image-badge-custom span{
  display:block;
  margin-bottom:3px;
  font-size:10px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:#8b7a92;
}
.image-badge.image-badge-custom strong{
  display:block;
  max-width:260px;
  font-size:14px;
  line-height:1.25;
  color:#6f1f57;
  font-weight:800;
}
@media (max-width:820px){
  .hero-info-card.hero-info-card-custom{top:14px;right:14px;padding:10px 13px;border-radius:14px}
  .hero-info-card.hero-info-card-custom small{font-size:9px}
  .hero-info-card.hero-info-card-custom strong{font-size:12px}
  .image-badge.image-badge-custom{left:14px;bottom:14px;padding:12px 14px;border-radius:16px}
  .image-badge.image-badge-custom strong{font-size:12.5px;max-width:220px}
}
@media (max-width:560px){
  .hero-image-panel.hero-image-panel-plain:hover .hero-paulista-image{transform:scale(1.02)}
  .hero-info-card.hero-info-card-custom{display:flex;max-width:calc(100% - 28px)}
  .hero-info-card.hero-info-card-custom small{font-size:8.2px}
  .hero-info-card.hero-info-card-custom strong{font-size:11px}
  .image-badge.image-badge-custom{left:12px;bottom:12px;max-width:calc(100% - 24px)}
  .image-badge.image-badge-custom span{font-size:8.6px}
  .image-badge.image-badge-custom strong{font-size:11.5px;max-width:100%}
}

/* ===== Ajuste 7RISP V9 — scale funcional e badge em paleta roxa ===== */
.hero-image-panel.hero-image-panel-plain{
  overflow:hidden;
}
.hero-image-panel.hero-image-panel-plain .hero-paulista-image{
  transform:scale(1) !important;
  transition:transform .6s ease !important;
  will-change:transform;
}
.hero-image-panel.hero-image-panel-plain:hover .hero-paulista-image{
  transform:scale(1.035) !important;
}

.hero-info-card.hero-info-card-custom{
  background:rgba(75,31,95,.94) !important;
  border-color:rgba(209,178,224,.20) !important;
  box-shadow:0 18px 35px rgba(41,15,53,.24) !important;
}
.hero-info-card.hero-info-card-custom small{
  color:rgba(235,220,242,.78) !important;
}
.hero-info-card.hero-info-card-custom .status-dot{
  background:#b875d0 !important;
  box-shadow:0 0 0 6px rgba(184,117,208,.16) !important;
}

@media (max-width:560px){
  .hero-image-panel.hero-image-panel-plain:hover .hero-paulista-image{
    transform:scale(1.02) !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .hero-image-panel.hero-image-panel-plain .hero-paulista-image{
    transition:none !important;
  }
  .hero-image-panel.hero-image-panel-plain:hover .hero-paulista-image{
    transform:scale(1) !important;
  }
}


/* ===== Ajuste 7RISP V10 — ícone do projeto no efeito de carregamento ===== */
.page-loader-logo{
  width:64px!important;
  height:64px!important;
  padding:8px!important;
  border-radius:18px!important;
  background:#fff!important;
}
.page-loader-logo img{
  width:48px!important;
  height:48px!important;
  max-width:48px!important;
  max-height:48px!important;
  object-fit:contain!important;
}
@media(max-width:560px){
  .page-loader-logo{width:60px!important;height:60px!important;padding:8px!important}
  .page-loader-logo img{width:44px!important;height:44px!important;max-width:44px!important;max-height:44px!important}
}


/* ===== Ajuste V12 — container de serviços do hero mais transparente ===== */
.hero-service-panel{
  background:rgba(255,255,255,.78) !important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

/* ===== Ajuste V13 — hero com fundo único e sem cards ===== */
.hero-home.hero-home-single{
  position:relative;
  padding:42px 0 36px !important;
  background:#31173f url('/images/hero-merged-purple-city.png') center center / cover no-repeat !important;
  overflow:hidden;
}
.hero-home.hero-home-single::before,
.hero-home.hero-home-single::after{
  content:none !important;
  display:none !important;
}
.hero-home.hero-home-single > .container{
  position:relative;
  z-index:1;
}
.hero-single{
  min-height:520px;
  display:flex;
  align-items:center;
}
.hero-home.hero-home-single .hero-grid,
.hero-home.hero-home-single .hero-service-panel,
.hero-home.hero-home-single .hero-image-panel,
.hero-home.hero-home-single .hero-quick,
.hero-home.hero-home-single .hero-info-card,
.hero-home.hero-home-single .image-badge{
  display:none !important;
}
.hero-home.hero-home-single .hero-content.hero-content-overlay{
  max-width:640px;
  padding:28px 0;
}
.hero-home.hero-home-single .hero-content h1{
  max-width:620px;
  font-size:clamp(42px,4.7vw,68px);
  line-height:1.03;
  margin:18px 0 20px;
  color:#2d123b;
}
.hero-home.hero-home-single .hero-content h1 em{color:#6e3b8f}
.hero-home.hero-home-single .hero-lead{
  max-width:590px;
  font-size:17px;
  line-height:1.65;
  color:#4f3f58;
  margin:0 0 28px;
}
.hero-home.hero-home-single .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-info-inline{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
}
.hero-inline-pill{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:60px;
  padding:12px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(91,42,114,.10);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 16px 35px rgba(49,20,64,.12);
}
.hero-inline-pill small{
  display:block;
  margin-bottom:3px;
  font-size:10px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:800;
  color:#7d6985;
}
.hero-inline-pill strong{
  display:block;
  font-size:13.5px;
  line-height:1.3;
  color:#4c245f;
  font-weight:800;
}
.hero-inline-hours .status-dot{
  width:11px;
  height:11px;
  flex:0 0 11px;
  border-radius:50%;
  background:#7a42a0;
  box-shadow:0 0 0 6px rgba(122,66,160,.12);
}
.hero-inline-location{max-width:310px}
@media (max-width:1100px){
  .hero-home.hero-home-single{padding:34px 0 30px !important;background-position:64% center !important}
  .hero-single{min-height:460px}
  .hero-home.hero-home-single .hero-content.hero-content-overlay{max-width:560px}
  .hero-home.hero-home-single .hero-content h1{font-size:clamp(36px,5.6vw,54px)}
}
@media (max-width:820px){
  .hero-home.hero-home-single{padding:26px 0 24px !important;background-position:70% center !important}
  .hero-single{min-height:390px;align-items:flex-start}
  .hero-home.hero-home-single .hero-content.hero-content-overlay{padding:18px 0 8px}
  .hero-home.hero-home-single .hero-content h1{font-size:clamp(31px,7vw,40px);line-height:1.08;margin:14px 0}
  .hero-home.hero-home-single .hero-lead{font-size:14px;line-height:1.6;margin-bottom:18px;max-width:500px}
  .hero-info-inline{gap:10px;margin-top:18px}
  .hero-inline-pill{width:100%;padding:12px 14px;min-height:58px}
  .hero-inline-location{max-width:none}
}
@media (max-width:560px){
  .hero-home.hero-home-single{padding:22px 0 !important;background-position:74% center !important}
  .hero-single{min-height:355px}
  .hero-home.hero-home-single .hero-actions{display:grid;grid-template-columns:1fr}
  .hero-home.hero-home-single .hero-content h1{font-size:30px}
  .hero-home.hero-home-single .hero-lead{font-size:13px}
  .hero-inline-pill small{font-size:8.6px}
  .hero-inline-pill strong{font-size:11.5px}
}

/* ===== Ajuste V14 — novo fundo do hero com melhor encaixe de textos ===== */
.hero-home.hero-home-single{
  background:#31173f url('/images/hero-merged-purple-city.png') 60% center / cover no-repeat !important;
  padding:46px 0 38px !important;
}
.hero-home.hero-home-single > .container{
  width:min(1220px,calc(100% - 48px));
}
.hero-single{
  min-height:548px;
  align-items:center;
}
.hero-home.hero-home-single .hero-content.hero-content-overlay{
  max-width:600px;
  padding:36px 0 34px 4px;
}
.hero-home.hero-home-single .eyebrow{
  color:#8c62a8;
}
.hero-home.hero-home-single .eyebrow > span{
  background:currentColor;
}
.hero-home.hero-home-single .hero-welcome{
  margin-top:16px;
  color:#643a80;
  background:rgba(255,255,255,.46);
  border:1px solid rgba(124,82,155,.14);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.hero-home.hero-home-single .hero-content h1{
  max-width:560px;
  font-size:clamp(44px,4.9vw,70px);
  line-height:1.02;
  letter-spacing:-.046em;
  color:#331542;
  margin:18px 0 18px;
}
.hero-home.hero-home-single .hero-content h1 em{
  color:#7a4b9b;
}
.hero-home.hero-home-single .hero-lead{
  max-width:540px;
  font-size:17px;
  line-height:1.7;
  color:#5c4d66;
  margin:0 0 26px;
}
.hero-home.hero-home-single .hero-actions{
  gap:13px;
}
.hero-home.hero-home-single .hero-actions .btn-ghost{
  background:rgba(255,255,255,.52);
  border-color:rgba(91,42,114,.15);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.hero-info-inline{
  margin-top:24px;
  gap:12px;
}
.hero-inline-pill{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(109,67,138,.11);
  box-shadow:0 18px 38px rgba(49,20,64,.10);
}
.hero-inline-pill small{color:#7b6a84}
.hero-inline-pill strong{color:#4d2760}
.hero-inline-hours .status-dot{
  background:#7f4cad;
  box-shadow:0 0 0 6px rgba(127,76,173,.14);
}
@media (max-width:1100px){
  .hero-home.hero-home-single{
    background-position:67% center !important;
    padding:38px 0 32px !important;
  }
  .hero-single{min-height:470px}
  .hero-home.hero-home-single .hero-content.hero-content-overlay{max-width:540px;padding:26px 0 20px 0}
  .hero-home.hero-home-single .hero-content h1{font-size:clamp(38px,5.8vw,56px);max-width:520px}
  .hero-home.hero-home-single .hero-lead{font-size:15px;max-width:500px}
}
@media (max-width:820px){
  .hero-home.hero-home-single{
    background-position:72% center !important;
    padding:30px 0 24px !important;
  }
  .hero-single{min-height:400px;align-items:flex-start}
  .hero-home.hero-home-single .hero-content.hero-content-overlay{max-width:100%;padding:16px 0 8px}
  .hero-home.hero-home-single .hero-content h1{font-size:clamp(31px,7.2vw,42px);line-height:1.07;max-width:460px}
  .hero-home.hero-home-single .hero-lead{font-size:14px;line-height:1.62;max-width:450px;margin-bottom:18px}
  .hero-info-inline{margin-top:18px;gap:10px}
}
@media (max-width:560px){
  .hero-home.hero-home-single{
    background-position:74% center !important;
    padding:24px 0 22px !important;
  }
  .hero-single{min-height:360px}
  .hero-home.hero-home-single .hero-content h1{font-size:30px;max-width:320px}
  .hero-home.hero-home-single .hero-lead{font-size:13px;max-width:330px}
}

/* ===== Ajuste V15 — novo fundo panorâmico e tipografia mais equilibrada no hero ===== */
.hero-home.hero-home-single{
  background:#f7f5fb url('/images/hero-merged-purple-city.png') 52% center / cover no-repeat !important;
  padding:38px 0 34px !important;
}
.hero-home.hero-home-single > .container{
  width:min(1220px,calc(100% - 48px));
}
.hero-single{
  min-height:500px;
  align-items:center;
}
.hero-home.hero-home-single .hero-content.hero-content-overlay{
  width:52%;
  max-width:555px;
  padding:28px 0 26px 2px;
}
.hero-home.hero-home-single .eyebrow{
  font-size:10px;
  letter-spacing:.145em;
  color:#85579f;
}
.hero-home.hero-home-single .hero-welcome{
  margin-top:13px;
  padding:6px 10px;
  font-size:9px;
  color:#623878;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(112,68,137,.13);
  box-shadow:none;
}
.hero-home.hero-home-single .hero-content h1{
  max-width:520px;
  font-size:clamp(38px,3.7vw,54px);
  line-height:1.055;
  letter-spacing:-.038em;
  margin:15px 0 16px;
  color:#351742;
}
.hero-home.hero-home-single .hero-content h1 em{
  color:#764993;
}
.hero-home.hero-home-single .hero-lead{
  max-width:515px;
  font-size:15.5px;
  line-height:1.64;
  color:#5c5062;
  margin:0 0 23px;
}
.hero-home.hero-home-single .hero-actions{
  gap:10px;
}
.hero-home.hero-home-single .hero-actions .btn-lg{
  min-height:49px;
  padding-inline:20px;
  font-size:13px;
}
.hero-home.hero-home-single .hero-actions .btn-primary{
  background:#743f91;
  box-shadow:0 11px 26px rgba(91,42,114,.20);
}
.hero-home.hero-home-single .hero-actions .btn-primary:hover{
  background:#64347f;
}
.hero-home.hero-home-single .hero-actions .btn-ghost{
  color:#573267;
  background:rgba(255,255,255,.64);
  border-color:rgba(91,42,114,.16);
}
.hero-info-inline{
  margin-top:20px;
  gap:9px;
}
.hero-inline-pill{
  min-height:55px;
  padding:10px 14px;
  border-radius:15px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(104,62,130,.11);
  box-shadow:0 12px 28px rgba(52,23,64,.08);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.hero-inline-pill small{
  font-size:8.8px;
  letter-spacing:.11em;
  color:#7a6b80;
}
.hero-inline-pill strong{
  font-size:12px;
  color:#4d285d;
}
.hero-inline-hours .status-dot{
  width:9px;
  height:9px;
  flex-basis:9px;
  background:#7b49a0;
  box-shadow:0 0 0 5px rgba(123,73,160,.12);
}
.hero-inline-location{
  max-width:285px;
}

@media (max-width:1100px){
  .hero-home.hero-home-single{
    background-position:60% center !important;
    padding:32px 0 28px !important;
  }
  .hero-single{min-height:450px}
  .hero-home.hero-home-single .hero-content.hero-content-overlay{
    width:55%;
    max-width:520px;
    padding:22px 0 18px;
  }
  .hero-home.hero-home-single .hero-content h1{
    max-width:485px;
    font-size:clamp(34px,4.8vw,46px);
  }
  .hero-home.hero-home-single .hero-lead{
    max-width:470px;
    font-size:14.5px;
  }
}

@media (max-width:820px){
  .hero-home.hero-home-single{
    background-position:68% center !important;
    padding:26px 0 24px !important;
  }
  .hero-single{
    min-height:410px;
    align-items:flex-start;
  }
  .hero-home.hero-home-single .hero-content.hero-content-overlay{
    width:65%;
    max-width:470px;
    padding:14px 0 8px;
  }
  .hero-home.hero-home-single .eyebrow{font-size:9px}
  .hero-home.hero-home-single .hero-content h1{
    font-size:clamp(29px,6.5vw,37px);
    max-width:420px;
    margin:13px 0 14px;
  }
  .hero-home.hero-home-single .hero-lead{
    max-width:420px;
    font-size:13.5px;
    line-height:1.58;
    margin-bottom:17px;
  }
  .hero-home.hero-home-single .hero-actions .btn-lg{
    min-height:45px;
    padding-inline:16px;
    font-size:12px;
  }
  .hero-info-inline{margin-top:16px}
  .hero-inline-pill{width:100%;max-width:390px;min-height:52px}
  .hero-inline-location{max-width:390px}
}

@media (max-width:560px){
  .hero-home.hero-home-single{
    background-position:72% center !important;
    padding:22px 0 !important;
  }
  .hero-single{min-height:385px}
  .hero-home.hero-home-single .hero-content.hero-content-overlay{
    width:78%;
    max-width:330px;
  }
  .hero-home.hero-home-single .hero-content h1{
    max-width:315px;
    font-size:28px;
    line-height:1.08;
  }
  .hero-home.hero-home-single .hero-lead{
    max-width:315px;
    font-size:12.5px;
    line-height:1.56;
  }
  .hero-home.hero-home-single .hero-actions{grid-template-columns:1fr}
  .hero-inline-pill small{font-size:8px}
  .hero-inline-pill strong{font-size:10.8px}
}


/* ===== Ajuste V16 — hero mais compacto e textos mais objetivos ===== */
.hero-home.hero-home-single{
  padding:24px 0 22px !important;
  background-position:60% center !important;
}
.hero-single{
  min-height:390px !important;
}
.hero-home.hero-home-single .hero-content.hero-content-overlay{
  width:49%;
  max-width:500px;
  padding:18px 0 16px 2px;
}
.hero-home.hero-home-single .eyebrow{
  font-size:9.3px;
  letter-spacing:.135em;
}
.hero-home.hero-home-single .hero-welcome{
  margin-top:10px;
  padding:5px 9px;
  font-size:8.5px;
}
.hero-home.hero-home-single .hero-content h1{
  max-width:460px;
  font-size:clamp(34px,3.15vw,46px);
  line-height:1.04;
  letter-spacing:-.036em;
  margin:12px 0 12px;
}
.hero-home.hero-home-single .hero-lead{
  max-width:430px;
  font-size:14px;
  line-height:1.55;
  margin:0 0 18px;
}
.hero-home.hero-home-single .hero-actions{
  gap:9px;
}
.hero-home.hero-home-single .hero-actions .btn-lg{
  min-height:44px;
  padding-inline:17px;
  font-size:12px;
  border-radius:13px;
}
.hero-info-inline{
  margin-top:16px;
  gap:8px;
}
.hero-inline-pill{
  min-height:49px;
  padding:9px 12px;
  border-radius:14px;
}
.hero-inline-pill small{
  font-size:8.2px;
}
.hero-inline-pill strong{
  font-size:11px;
}
.hero-inline-location{max-width:260px}

@media (max-width:1100px){
  .hero-home.hero-home-single{
    padding:22px 0 20px !important;
    background-position:63% center !important;
  }
  .hero-single{min-height:360px !important}
  .hero-home.hero-home-single .hero-content.hero-content-overlay{
    width:52%;
    max-width:455px;
    padding:15px 0 12px;
  }
  .hero-home.hero-home-single .hero-content h1{
    max-width:430px;
    font-size:clamp(31px,4.1vw,40px);
  }
  .hero-home.hero-home-single .hero-lead{
    max-width:400px;
    font-size:13.2px;
  }
}

@media (max-width:820px){
  .hero-home.hero-home-single{
    padding:20px 0 18px !important;
    background-position:69% center !important;
  }
  .hero-single{min-height:345px !important}
  .hero-home.hero-home-single .hero-content.hero-content-overlay{
    width:62%;
    max-width:400px;
    padding:10px 0 6px;
  }
  .hero-home.hero-home-single .hero-content h1{
    max-width:365px;
    font-size:clamp(27px,6vw,33px);
    margin:10px 0 10px;
  }
  .hero-home.hero-home-single .hero-lead{
    max-width:360px;
    font-size:12.6px;
    line-height:1.5;
    margin-bottom:14px;
  }
  .hero-home.hero-home-single .hero-actions .btn-lg{
    min-height:42px;
    font-size:11.5px;
  }
  .hero-info-inline{margin-top:13px}
  .hero-inline-pill{min-height:46px;max-width:350px}
  .hero-inline-location{max-width:350px}
}

@media (max-width:560px){
  .hero-home.hero-home-single{
    padding:18px 0 16px !important;
    background-position:73% center !important;
  }
  .hero-single{min-height:325px !important}
  .hero-home.hero-home-single .hero-content.hero-content-overlay{
    width:76%;
    max-width:305px;
  }
  .hero-home.hero-home-single .hero-content h1{
    max-width:290px;
    font-size:25px;
    line-height:1.07;
  }
  .hero-home.hero-home-single .hero-lead{
    max-width:290px;
    font-size:12px;
  }
  .hero-home.hero-home-single .hero-actions{grid-template-columns:1fr}
  .hero-home.hero-home-single .hero-actions .btn-lg{width:100%}
  .hero-inline-pill small{font-size:7.6px}
  .hero-inline-pill strong{font-size:10.2px}
}

/* ===== Ajuste V17 — hero levemente mais amplo e tipografia reforçada ===== */
.hero-home.hero-home-single{
  padding:30px 0 28px !important;
  background-position:60% center !important;
}
.hero-single{
  min-height:440px !important;
}
.hero-home.hero-home-single .hero-content.hero-content-overlay{
  width:50%;
  max-width:535px;
  padding:24px 0 22px 2px;
}
.hero-home.hero-home-single .eyebrow{
  font-size:10px;
  letter-spacing:.14em;
}
.hero-home.hero-home-single .hero-welcome{
  margin-top:12px;
  padding:6px 10px;
  font-size:9px;
}
.hero-home.hero-home-single .hero-content h1{
  max-width:500px;
  font-size:clamp(38px,3.55vw,52px);
  line-height:1.045;
  letter-spacing:-.038em;
  margin:14px 0 14px;
}
.hero-home.hero-home-single .hero-lead{
  max-width:465px;
  font-size:15.2px;
  line-height:1.58;
  margin:0 0 21px;
}
.hero-home.hero-home-single .hero-actions{
  gap:10px;
}
.hero-home.hero-home-single .hero-actions .btn-lg{
  min-height:46px;
  padding-inline:19px;
  font-size:12.6px;
  border-radius:14px;
}
.hero-info-inline{
  margin-top:19px;
  gap:9px;
}
.hero-inline-pill{
  min-height:52px;
  padding:10px 13px;
  border-radius:15px;
}
.hero-inline-pill small{
  font-size:8.7px;
}
.hero-inline-pill strong{
  font-size:11.7px;
}
.hero-inline-location{max-width:275px}

@media (max-width:1100px){
  .hero-home.hero-home-single{
    padding:27px 0 25px !important;
    background-position:64% center !important;
  }
  .hero-single{min-height:405px !important}
  .hero-home.hero-home-single .hero-content.hero-content-overlay{
    width:54%;
    max-width:485px;
    padding:19px 0 16px;
  }
  .hero-home.hero-home-single .hero-content h1{
    max-width:455px;
    font-size:clamp(34px,4.5vw,44px);
  }
  .hero-home.hero-home-single .hero-lead{
    max-width:420px;
    font-size:14px;
  }
}

@media (max-width:820px){
  .hero-home.hero-home-single{
    padding:24px 0 22px !important;
    background-position:69% center !important;
  }
  .hero-single{min-height:375px !important}
  .hero-home.hero-home-single .hero-content.hero-content-overlay{
    width:64%;
    max-width:420px;
    padding:13px 0 8px;
  }
  .hero-home.hero-home-single .hero-content h1{
    max-width:385px;
    font-size:clamp(29px,6.4vw,36px);
    margin:11px 0 11px;
  }
  .hero-home.hero-home-single .hero-lead{
    max-width:375px;
    font-size:13.3px;
    line-height:1.54;
    margin-bottom:16px;
  }
  .hero-home.hero-home-single .hero-actions .btn-lg{
    min-height:43px;
    font-size:11.8px;
  }
  .hero-info-inline{margin-top:15px}
  .hero-inline-pill{min-height:48px;max-width:365px}
  .hero-inline-location{max-width:365px}
}

@media (max-width:560px){
  .hero-home.hero-home-single{
    padding:21px 0 19px !important;
    background-position:73% center !important;
  }
  .hero-single{min-height:350px !important}
  .hero-home.hero-home-single .hero-content.hero-content-overlay{
    width:78%;
    max-width:320px;
  }
  .hero-home.hero-home-single .hero-content h1{
    max-width:305px;
    font-size:27px;
    line-height:1.08;
  }
  .hero-home.hero-home-single .hero-lead{
    max-width:305px;
    font-size:12.5px;
  }
  .hero-inline-pill small{font-size:8px}
  .hero-inline-pill strong{font-size:10.7px}
}

/* ===== Ajuste V18 — compactação do hero alinhada à referência ===== */
.hero-home.hero-home-single{
  padding:26px 0 24px !important;
  background-position:60% center !important;
}
.hero-single{
  min-height:408px !important;
}
.hero-home.hero-home-single .hero-content.hero-content-overlay{
  width:49%;
  max-width:510px;
  padding:20px 0 18px 2px;
}
.hero-home.hero-home-single .hero-content h1{
  max-width:475px;
  font-size:clamp(35px,3.3vw,47px);
  line-height:1.05;
  margin:12px 0 12px;
}
.hero-home.hero-home-single .hero-lead{
  max-width:430px;
  font-size:14.2px;
  line-height:1.56;
  margin:0 0 18px;
}
.hero-home.hero-home-single .hero-actions{
  gap:9px;
}
.hero-home.hero-home-single .hero-actions .btn-lg{
  min-height:44px;
  padding-inline:18px;
  font-size:12.2px;
}
.hero-info-inline{
  margin-top:16px;
  gap:8px;
}
.hero-inline-pill{
  min-height:48px;
  padding:9px 12px;
  border-radius:14px;
}
.hero-inline-pill small{
  font-size:8.3px;
}
.hero-inline-pill strong{
  font-size:11.1px;
}
.hero-inline-location{max-width:260px}

@media (max-width:1100px){
  .hero-home.hero-home-single{
    padding:24px 0 22px !important;
    background-position:64% center !important;
  }
  .hero-single{min-height:390px !important}
  .hero-home.hero-home-single .hero-content.hero-content-overlay{
    width:53%;
    max-width:465px;
    padding:16px 0 12px;
  }
  .hero-home.hero-home-single .hero-content h1{
    max-width:430px;
    font-size:clamp(31px,4.2vw,40px);
  }
  .hero-home.hero-home-single .hero-lead{
    max-width:395px;
    font-size:13.4px;
  }
}

@media (max-width:820px){
  .hero-home.hero-home-single{
    padding:22px 0 20px !important;
    background-position:69% center !important;
  }
  .hero-single{min-height:355px !important}
  .hero-home.hero-home-single .hero-content.hero-content-overlay{
    width:64%;
    max-width:395px;
    padding:12px 0 6px;
  }
  .hero-home.hero-home-single .hero-content h1{
    max-width:360px;
    font-size:clamp(27px,6vw,34px);
    margin:10px 0;
  }
  .hero-home.hero-home-single .hero-lead{
    max-width:345px;
    font-size:12.8px;
    line-height:1.52;
    margin-bottom:14px;
  }
  .hero-home.hero-home-single .hero-actions .btn-lg{
    min-height:41px;
    font-size:11.4px;
  }
  .hero-info-inline{margin-top:13px}
  .hero-inline-pill{min-height:45px;max-width:345px}
  .hero-inline-location{max-width:345px}
}

@media (max-width:560px){
  .hero-home.hero-home-single{
    padding:19px 0 17px !important;
    background-position:73% center !important;
  }
  .hero-single{min-height:334px !important}
  .hero-home.hero-home-single .hero-content.hero-content-overlay{
    width:80%;
    max-width:310px;
  }
  .hero-home.hero-home-single .hero-content h1{
    max-width:292px;
    font-size:25px;
  }
  .hero-home.hero-home-single .hero-lead{
    max-width:292px;
    font-size:12.1px;
  }
  .hero-inline-pill small{font-size:7.7px}
  .hero-inline-pill strong{font-size:10.4px}
}

/* ===== Ajuste V19 — maior destaque para “com segurança” ===== */
.hero-home.hero-home-single .hero-content h1{
  max-width:490px;
}
.hero-home.hero-home-single .hero-content h1 em{
  display:block;
  margin-top:2px;
  font-style:normal;
  font-weight:900;
  font-size:1.12em;
  line-height:.98;
  letter-spacing:-.045em;
  color:#7a4fb0;
}
@media (max-width:820px){
  .hero-home.hero-home-single .hero-content h1 em{
    font-size:1.1em;
  }
}

/* ===== Ajuste V20 — novo fundo nos heros das páginas internas ===== */
.page-hero,
.page-hero.compact,
.page-hero.location-hero{
  background:#eef0fa url('/images/page-hero-avenida-urbana.png') 72% center / cover no-repeat !important;
}

.page-hero::before,
.page-hero::after,
.page-hero .page-hero-mark,
.page-hero.compact::before,
.page-hero.compact::after,
.page-hero.compact .page-hero-mark,
.page-hero.location-hero::before,
.page-hero.location-hero::after,
.page-hero.location-hero .page-hero-mark{
  content:none !important;
  display:none !important;
  background:none !important;
  box-shadow:none !important;
}

@media (max-width:1100px){
  .page-hero,
  .page-hero.compact,
  .page-hero.location-hero{
    background-position:76% center !important;
  }
}

@media (max-width:820px){
  .page-hero,
  .page-hero.compact,
  .page-hero.location-hero{
    background-position:81% center !important;
  }
}

@media (max-width:560px){
  .page-hero,
  .page-hero.compact,
  .page-hero.location-hero{
    background-position:84% center !important;
  }
}

/* ===== Ajuste V21 — reforço de contraste nos títulos e textos dos heros internos ===== */
.page-hero .eyebrow,
.page-hero.compact .eyebrow,
.page-hero.location-hero .eyebrow{
  color:#7a5aa2 !important;
}

.page-hero .eyebrow > span,
.page-hero.compact .eyebrow > span,
.page-hero.location-hero .eyebrow > span{
  background:currentColor !important;
}

.page-hero h1,
.page-hero.compact h1,
.page-hero.location-hero h1{
  color:#351a45 !important;
  text-shadow:none !important;
}

.page-hero p,
.page-hero.compact p,
.page-hero.location-hero p{
  color:#5b5067 !important;
  text-shadow:none !important;
}

/* ===== Ajuste V22 — título do hero ampliado ===== */
.hero-home.hero-home-single .hero-content h1{
  max-width:520px;
  font-size:clamp(39px,3.7vw,53px);
  line-height:1.03;
}

@media (max-width:1100px){
  .hero-home.hero-home-single .hero-content h1{
    max-width:455px;
    font-size:clamp(34px,4.7vw,44px);
  }
}

@media (max-width:820px){
  .hero-home.hero-home-single .hero-content h1{
    max-width:380px;
    font-size:clamp(29px,6.4vw,36px);
  }
}

@media (max-width:560px){
  .hero-home.hero-home-single .hero-content h1{
    max-width:305px;
    font-size:27px;
  }
}


/* ===== Ajuste V26 — Font Awesome nos Links Úteis ===== */
.useful-symbol i{
  position:relative;
  z-index:2;
  display:block;
  font-size:26px;
  line-height:1;
  color:#fff;
}
.useful-symbol-fallback{
  position:relative;
  z-index:2;
  display:block;
  font-size:14px;
  line-height:1;
  font-weight:800;
  letter-spacing:.03em;
}
@media (max-width:820px){
  .useful-symbol i{font-size:24px}
}
@media (max-width:560px){
  .useful-symbol i{font-size:22px}
}

/* ===== Ajuste V28 — remoção da barra do loader abaixo do menu + ícone/botão do WhatsApp ===== */
.nav-load-track{display:none !important}
.topbar-fa{
  font-size:14px;
  line-height:1;
  color:currentColor;
}
.whatsapp-float{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:1000;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:0 18px;
  border-radius:14px;
  background:linear-gradient(180deg,#31c856 0%, #22b247 100%);
  color:#fff;
  font-weight:800;
  font-size:15px;
  text-decoration:none;
  box-shadow:0 16px 32px rgba(26, 115, 52, .28);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.whatsapp-float i{
  font-size:25px;
  line-height:1;
}
.whatsapp-float:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 20px 36px rgba(26,115,52,.34);
  filter:saturate(1.02);
}
.whatsapp-float:focus-visible{
  outline:3px solid rgba(255,255,255,.75);
  outline-offset:2px;
}
@media (max-width:560px){
  .whatsapp-float{
    right:12px;
    bottom:12px;
    min-height:50px;
    padding:0 16px;
    border-radius:12px;
    font-size:14px;
  }
  .whatsapp-float i{font-size:23px}
}

/* ===== RSAHSERVWH008 V1.0.0 — ajustes estruturais ===== */
.nav-load-track{display:none!important}
.site-version{opacity:.6;font-size:.9em;margin-left:7px}
.footer-social{display:flex;align-items:center;gap:9px;margin-top:18px}
.footer-social a{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;transition:.2s}
.footer-social a:hover{background:rgba(255,255,255,.16);transform:translateY(-2px)}

/* Popup controlado por dc_site_popup — modelo DC refinado */
body.popup-open{overflow:hidden}
.dc-popup-shell[hidden]{display:none!important}

.dc-popup-overlay{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.72);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    z-index:999998;
    animation:dcPopupFade .25s ease;
}

.dc-popup-wrap{
    position:fixed;
    inset:0;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    overflow-y:auto;
    pointer-events:none;
}

.dc-popup-card{
    position:relative;
    display:none;
    flex-direction:column;
    width:min(var(--popup-width,720px),calc(100vw - 48px));
    max-width:1200px;
    max-height:min(var(--popup-height,calc(100vh - 40px)),calc(100vh - 40px));
    overflow:hidden;
    border-radius:28px;
    background:#fff;
    box-shadow:0 30px 90px rgba(0,0,0,.28);
    animation:dcPopupIn .28s ease;
    border:1px solid rgba(226,232,240,.9);
    pointer-events:auto;
}
.dc-popup-card.is-active{display:flex}
.dc-popup-card::after{
    content:"";
    position:absolute;
    top:-90px;
    right:-90px;
    width:220px;
    height:220px;
    background:rgba(141,61,173,.07);
    border-radius:50%;
    pointer-events:none;
}

.dc-popup-close{
    position:absolute;
    top:16px;
    right:16px;
    width:42px;
    height:42px;
    border:none;
    border-radius:50%;
    background:#f8fafc;
    color:var(--brand-ink);
    font-size:16px;
    cursor:pointer;
    z-index:3;
    transition:all .2s ease;
}
.dc-popup-close:hover{background:#eee7f2;transform:scale(1.05)}

.dc-popup-header{
    padding:26px 28px 14px;
    border-bottom:1px solid #eef2f7;
    position:relative;
    z-index:1;
    flex-shrink:0;
}
.dc-popup-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:rgba(141,61,173,.09);
    color:var(--accent);
    border-radius:999px;
    padding:7px 14px;
    font-size:12px;
    font-weight:800;
    margin-bottom:14px;
    text-transform:uppercase;
    letter-spacing:.4px;
}
.dc-popup-header h3{
    margin:0;
    color:var(--brand-ink);
    font-family:Manrope,Inter,sans-serif;
    font-size:1.5rem;
    font-weight:800;
    line-height:1.3;
    padding-right:48px;
}

.dc-popup-body{
    overflow-y:auto;
    overflow-x:hidden;
    padding:24px 28px;
    flex:1;
    max-height:calc(100vh - 240px);
    color:#334155;
    line-height:1.75;
    position:relative;
    z-index:1;
}
.dc-popup-body::-webkit-scrollbar{width:10px}
.dc-popup-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:999px}
.dc-popup-body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--accent),var(--brand-deep));border-radius:999px}
.dc-popup-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--accent-hover),var(--brand-ink))}
.dc-popup-content-text{
    line-height:1.8;
    color:#475569;
    font-size:15px;
    word-break:break-word;
}
.dc-popup-content-text>*:first-child{margin-top:0}
.dc-popup-content-text>*:last-child{margin-bottom:0}
.dc-popup-content-text p{margin:0 0 14px}
.dc-popup-content-text ul{margin:14px auto 16px;padding-left:20px;text-align:left;display:inline-block}
.dc-popup-content-text li{margin-bottom:8px}
.dc-popup-image{
    display:block;
    width:auto;
    max-width:100%;
    height:auto;
    margin:0 auto;
    border-radius:18px;
    object-fit:contain;
}

.dc-popup-footer{
    padding:16px 28px 24px;
    border-top:1px solid #eef2f7;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    position:relative;
    z-index:1;
    flex-shrink:0;
}
.dc-popup-counter{font-size:13px;color:#64748b;font-weight:600}
.dc-popup-actions{display:flex;gap:10px;flex-wrap:wrap}
.dc-popup-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:none;
    border-radius:12px;
    padding:11px 18px;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    transition:all .2s ease;
}
.dc-popup-btn-primary{
    background:linear-gradient(135deg,var(--accent),var(--brand));
    color:#fff;
    box-shadow:0 12px 28px rgba(91,42,114,.22);
}
.dc-popup-btn-primary:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(91,42,114,.28)}
.dc-popup-btn-light{background:#f8fafc;color:#334155;border:1px solid #e2e8f0}
.dc-popup-btn-light:hover{background:#f1f5f9}

@keyframes dcPopupFade{from{opacity:0}to{opacity:1}}
@keyframes dcPopupIn{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}

@media(max-width:768px){
    .dc-popup-wrap{padding:12px;align-items:flex-end}
    .dc-popup-card{
        width:min(var(--popup-width,720px),calc(100vw - 24px));
        max-height:calc(100vh - 20px);
        border-radius:24px 24px 0 0;
    }
    .dc-popup-header{padding:22px 22px 12px}
    .dc-popup-header h3{font-size:1.2rem;padding-right:42px}
    .dc-popup-body{max-height:calc(100vh - 220px);padding:20px}
    .dc-popup-footer{padding:14px 18px 18px;flex-direction:column;align-items:stretch}
    .dc-popup-actions{width:100%;display:grid;grid-template-columns:1fr}
    .dc-popup-btn{width:100%}
}

@media(prefers-reduced-motion:reduce){
    .dc-popup-overlay,.dc-popup-card{animation:none!important}
}

/* ===== RSAHSERVWH008 V1.0.1 — layout adaptativo para configurações ocultas ===== */
.content-split.content-split-single,
.form-layout.form-layout-single,
.location-grid.location-grid-single{
  grid-template-columns:1fr !important;
}
.content-split.content-split-single .content-main,
.form-layout.form-layout-single .form-card,
.location-grid.location-grid-single .location-card{
  max-width:100%;
}


/* ===== RSAHSERVWH008 V1.0.3 — pré-atendimento do WhatsApp ===== */
body.whatsapp-dialog-open{overflow:hidden}
.dc-whatsapp-shell[hidden]{display:none!important}
.dc-whatsapp-overlay{
  position:fixed;
  inset:0;
  z-index:100020;
  background:rgba(15,23,42,.58);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.dc-whatsapp-wrap{
  position:fixed;
  inset:0;
  z-index:100021;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  pointer-events:none;
}
.dc-whatsapp-card{
  width:min(360px,calc(100vw - 28px));
  overflow:hidden;
  border-radius:12px;
  background:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.30);
  border:1px solid rgba(15,23,42,.10);
  pointer-events:auto;
  animation:dcWhatsappIn .24s ease;
}
.dc-whatsapp-header{
  position:relative;
  min-height:100px;
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:20px 48px 18px 20px;
  background:linear-gradient(145deg,#185f55 0%,#216d62 100%);
  color:#fff;
}
.dc-whatsapp-avatar{
  width:54px;
  height:54px;
  flex:0 0 54px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:50%;
  background:#dce8e5;
  border:1px solid rgba(255,255,255,.25);
  box-shadow:0 6px 14px rgba(0,0,0,.22);
}
.dc-whatsapp-avatar img{width:100%;height:100%;object-fit:cover}
.dc-whatsapp-avatar i{font-size:27px;color:#1faf5d}
.dc-whatsapp-heading{display:flex;flex-direction:column;gap:4px;padding-top:1px;line-height:1.25}
.dc-whatsapp-heading strong{font-size:16px;font-weight:800;color:#fff}
.dc-whatsapp-heading span{font-size:13px;font-weight:600;color:rgba(255,255,255,.96)}
.dc-whatsapp-close{
  position:absolute;
  top:14px;
  right:14px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#fff;
  font-size:18px;
  cursor:pointer;
  transition:background .2s ease,transform .2s ease;
}
.dc-whatsapp-close:hover{background:rgba(255,255,255,.12);transform:scale(1.05)}
.dc-whatsapp-chat{
  position:relative;
  padding:20px 18px 22px;
  background-color:#e9e4dc;
  background-image:
    radial-gradient(circle at 18px 18px,rgba(137,126,111,.12) 0 2px,transparent 2.5px),
    radial-gradient(circle at 54px 42px,rgba(137,126,111,.09) 0 5px,transparent 5.5px);
  background-size:72px 72px;
}
.dc-whatsapp-message{
  width:100%;
  padding:13px 12px 11px;
  border-radius:10px;
  background:#fff;
  box-shadow:0 1px 1px rgba(0,0,0,.04);
  color:#202124;
}
.dc-whatsapp-message strong{display:block;margin-bottom:8px;color:#a3a3a3;font-size:13px;font-weight:700}
.dc-whatsapp-message p{margin:0;font-size:14px;line-height:1.35;color:#222}
.dc-whatsapp-footer{display:flex;flex-direction:column;gap:10px;padding:18px 20px 14px;background:#fff}
.dc-whatsapp-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:43px;
  padding:0 18px;
  border-radius:999px;
  background:#2ec153;
  color:#fff;
  font-size:15px;
  font-weight:800;
  box-shadow:0 8px 18px rgba(46,193,83,.16);
  transition:transform .2s ease,background .2s ease;
}
.dc-whatsapp-cta:hover{background:#25b84a;transform:translateY(-1px)}
.dc-whatsapp-cta i{font-size:18px}
.dc-whatsapp-credit{align-self:center;color:#9ab8ff;font-size:12px;text-align:center}
.dc-whatsapp-credit:hover{color:#7899e7}
@keyframes dcWhatsappIn{
  from{opacity:0;transform:translateY(12px) scale(.97)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(max-width:480px){
  .dc-whatsapp-wrap{padding:10px}
  .dc-whatsapp-card{width:min(360px,calc(100vw - 20px))}
  .dc-whatsapp-header{padding:18px 44px 16px 16px;gap:12px}
  .dc-whatsapp-avatar{width:50px;height:50px;flex-basis:50px}
  .dc-whatsapp-heading strong{font-size:15px}
  .dc-whatsapp-heading span{font-size:12px}
  .dc-whatsapp-chat{padding:18px 14px 20px}
  .dc-whatsapp-footer{padding:16px 16px 13px}
}
@media(prefers-reduced-motion:reduce){.dc-whatsapp-card{animation:none!important}}

/* ===== RSAHSERVWH008 V1.2.0 — Documentos Legais ===== */
.legal-docs-index-section{background:#fbfafc}
.legal-docs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.legal-doc-card{position:relative;display:flex;flex-direction:column;min-height:245px;padding:26px;border:1px solid rgba(91,42,114,.12);border-radius:22px;background:#fff;box-shadow:0 16px 38px rgba(53,19,67,.055);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;overflow:hidden}
.legal-doc-card::after{content:"";position:absolute;width:120px;height:120px;right:-45px;bottom:-55px;border-radius:50%;background:rgba(122,79,176,.06);transition:transform .22s ease}
.legal-doc-card:hover{transform:translateY(-4px);border-color:rgba(122,79,176,.32);box-shadow:0 22px 46px rgba(53,19,67,.10)}
.legal-doc-card:hover::after{transform:scale(1.35)}
.legal-doc-card-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;margin-bottom:24px;background:linear-gradient(135deg,#74449a,#9a68bd);color:#fff;font-size:20px;box-shadow:0 12px 24px rgba(91,42,114,.18)}
.legal-doc-card-type{font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#8a699e;margin-bottom:7px}
.legal-doc-card h2{font-family:Manrope,Inter,sans-serif;font-size:21px;line-height:1.2;letter-spacing:-.025em;color:#351a45;margin:0 0 18px}
.legal-doc-card-link{margin-top:auto;font-size:12px;font-weight:800;color:#71458f;display:flex;align-items:center;gap:8px}
.legal-doc-page{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:26px;align-items:start}
.legal-document-card{min-width:0;background:#fff;border:1px solid rgba(91,42,114,.11);border-radius:24px;box-shadow:0 22px 56px rgba(53,19,67,.07);overflow:hidden}
.legal-document-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:28px 32px;border-bottom:1px solid #eee8f1;background:linear-gradient(180deg,#fff 0%,#fdfbfe 100%)}
.legal-document-header h2{font-family:Manrope,Inter,sans-serif;font-size:clamp(26px,3vw,38px);line-height:1.1;letter-spacing:-.035em;color:#351a45;margin:10px 0 0}
.legal-document-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:#f1e9f6;color:#6f3f8c;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.legal-document-date{flex:0 0 auto;text-align:right;padding-top:5px}
.legal-document-date small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#918499;font-weight:800}
.legal-document-date strong{display:block;font-size:12px;color:#5b4764;margin-top:4px}
.legal-document-html{padding:32px;color:#4d4055;font-size:15px;line-height:1.78;overflow-wrap:anywhere}
.legal-document-html h1,.legal-document-html h2,.legal-document-html h3,.legal-document-html h4{font-family:Manrope,Inter,sans-serif;color:#351a45;line-height:1.18;letter-spacing:-.025em;margin-top:1.8em;margin-bottom:.65em}
.legal-document-html h2{font-size:27px}.legal-document-html h3{font-size:20px}
.legal-document-html p{margin:0 0 15px}.legal-document-html ul,.legal-document-html ol{padding-left:22px;margin:12px 0 18px}.legal-document-html li{margin-bottom:8px}
.legal-document-html a{color:#734595;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.legal-document-html strong{color:#3d2948}.legal-document-html u{text-underline-offset:3px}
.legal-document-pdf{border-top:1px solid #eee8f1;background:#faf8fc;padding:24px 28px 28px}
.legal-document-pdf-head{display:flex;align-items:center;gap:13px;margin-bottom:18px}
.legal-document-pdf-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#fff;color:#a52f4f;border:1px solid #eadde2;font-size:20px}
.legal-document-pdf-head>div{display:flex;flex:1;min-width:0;flex-direction:column}.legal-document-pdf-head small{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#8e8195;font-weight:800}.legal-document-pdf-head strong{font-size:13px;color:#43344b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.legal-document-pdf-frame{height:620px;border:1px solid #e6dce9;border-radius:16px;overflow:hidden;background:#fff}.legal-document-pdf-frame iframe{width:100%;height:100%;border:0;background:#fff}
.legal-document-aside{position:sticky;top:118px;display:flex;flex-direction:column;gap:12px}
.legal-document-aside-card{padding:24px;border-radius:20px;background:#f5f0f7;border:1px solid #e8dcea}.legal-document-aside-card h3{font-family:Manrope,Inter,sans-serif;color:#351a45;font-size:20px;line-height:1.25;margin:10px 0}.legal-document-aside-card p{font-size:12px;color:#6e6175;margin:0 0 16px}
.legal-document-back{display:flex;align-items:center;gap:8px;padding:13px 15px;border-radius:13px;border:1px solid #e7dce9;background:#fff;color:#60446f;font-size:12px;font-weight:800}
.legal-doc-empty{text-align:center;padding:48px 26px;color:#776a7d}.legal-doc-empty>i{font-size:34px;color:#8a5daa;margin-bottom:12px}.legal-doc-empty h2{font-family:Manrope,Inter,sans-serif;color:#3c2648;font-size:23px;margin:0 0 7px}.legal-doc-empty p{margin:0;font-size:13px}
@media(max-width:980px){.legal-docs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.legal-doc-page{grid-template-columns:1fr}.legal-document-aside{position:static;display:grid;grid-template-columns:1fr auto;align-items:start}.legal-document-pdf-frame{height:540px}}
@media(max-width:640px){.legal-docs-grid{grid-template-columns:1fr}.legal-doc-card{min-height:215px}.legal-document-header{padding:22px 20px;flex-direction:column;gap:10px}.legal-document-date{text-align:left}.legal-document-html{padding:22px 20px;font-size:14px}.legal-document-pdf{padding:20px}.legal-document-pdf-head{align-items:flex-start;flex-wrap:wrap}.legal-document-pdf-head .btn{width:100%;margin-top:4px}.legal-document-pdf-frame{height:460px}.legal-document-aside{display:flex}.legal-document-header h2{font-size:26px}}

/* ===== RSAHSERVWH008 V1.2.1 — FAQ dinâmico dc_site_faq ===== */
.faq-section .faq-layout{align-items:start}
.faq-categories{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.faq-category-btn{border:1px solid rgba(91,42,114,.15);background:#fff;color:#5b3a6d;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:800;cursor:pointer;transition:.2s ease}
.faq-category-btn:hover,.faq-category-btn.active{background:#5b2a72;color:#fff;border-color:#5b2a72}
.faq-list details[hidden]{display:none}
.faq-list summary{display:flex;align-items:center;gap:10px}
.faq-list summary>span{flex:1;min-width:0}
.faq-featured{flex:0 0 auto;margin-right:4px;padding:4px 8px;border-radius:999px;background:#f1e7f6;color:#6b3682;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.faq-answer{padding:0 20px 19px;color:var(--muted);font-size:13px;line-height:1.7}
.faq-answer p{margin:0 0 12px;padding:0!important}
.faq-answer p:last-child{margin-bottom:0}
.faq-answer ul,.faq-answer ol{margin:8px 0 12px;padding-left:22px}
.faq-answer a{color:var(--brand);font-weight:750;text-decoration:underline;text-underline-offset:2px}
.faq-empty{padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff}
.faq-empty strong{display:block;color:var(--brand-ink);font-size:15px;margin-bottom:5px}
.faq-empty p{margin:0;color:var(--muted);font-size:13px}
@media(max-width:820px){.faq-categories{margin-top:16px}.faq-category-btn{font-size:10px;padding:7px 10px}.faq-featured{display:none}}

/* ===== RSAHSERVWH008 V1.2.3 — visualização LGPD por HTML/PDF ===== */
.lgpd-doc-section{background:#fbfafc}
.lgpd-doc-shell{max-width:1120px}
.lgpd-doc-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:22px;padding:0 2px}
.lgpd-doc-intro h2{font-family:Manrope,Inter,sans-serif;color:#351a45;font-size:clamp(28px,3vw,42px);line-height:1.08;letter-spacing:-.035em;margin:8px 0 10px}
.lgpd-doc-intro p{max-width:720px;color:#6d6074;font-size:14px;line-height:1.7;margin:0}
.lgpd-doc-updated{flex:0 0 auto;text-align:right;padding-top:5px}
.lgpd-doc-updated small{display:block;color:#998ba0;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.lgpd-doc-updated strong{display:block;color:#563b64;font-size:13px;margin-top:4px}
.lgpd-doc-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:22px}
.lgpd-doc-options:has(.lgpd-doc-option:only-child){grid-template-columns:minmax(0,560px)}
.lgpd-doc-option{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:15px;min-height:108px;padding:18px 20px;background:#fff;border:1px solid rgba(91,42,114,.13);border-radius:20px;box-shadow:0 14px 34px rgba(53,19,67,.055);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;color:#4d3859}
.lgpd-doc-option:hover{transform:translateY(-3px);border-color:rgba(122,79,176,.34);box-shadow:0 20px 42px rgba(53,19,67,.10);color:#4d3859}
.lgpd-doc-option-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#74449a,#9a68bd);color:#fff;font-size:20px;box-shadow:0 10px 22px rgba(91,42,114,.18)}
.lgpd-doc-option-icon-pdf{background:linear-gradient(135deg,#9a3656,#c15b79)}
.lgpd-doc-option>span:nth-child(2){display:flex;min-width:0;flex-direction:column}
.lgpd-doc-option small{font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#9a8ca0}
.lgpd-doc-option strong{font-family:Manrope,Inter,sans-serif;font-size:17px;color:#3d2749;margin:2px 0 3px}
.lgpd-doc-option em{font-style:normal;font-size:11px;color:#817487;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lgpd-doc-option>i:last-child{color:#80569a;font-size:13px}
.lgpd-doc-content-card,.lgpd-doc-pdf-card{background:#fff;border:1px solid rgba(91,42,114,.12);border-radius:24px;box-shadow:0 20px 50px rgba(53,19,67,.065);overflow:hidden;margin-top:18px;scroll-margin-top:120px}
.lgpd-doc-content-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;border-bottom:1px solid #eee8f1;background:linear-gradient(180deg,#fff 0%,#fdfbfe 100%)}
.lgpd-doc-content-head>div{display:flex;align-items:center;gap:12px;min-width:0}
.lgpd-doc-content-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:#f0e7f5;color:#72458f;font-size:17px}
.lgpd-doc-content-icon-pdf{background:#f8e9ee;color:#a23859}
.lgpd-doc-content-head small{display:block;color:#9a8da0;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.lgpd-doc-content-head strong{display:block;color:#43314d;font-size:13px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lgpd-doc-html{padding:30px 32px;color:#4d4055;font-size:15px;line-height:1.82;overflow-wrap:anywhere}
.lgpd-doc-html h1,.lgpd-doc-html h2,.lgpd-doc-html h3,.lgpd-doc-html h4{font-family:Manrope,Inter,sans-serif;color:#351a45;line-height:1.2;letter-spacing:-.025em;margin-top:1.75em;margin-bottom:.65em}
.lgpd-doc-html h2{font-size:27px}.lgpd-doc-html h3{font-size:20px}.lgpd-doc-html p{margin:0 0 15px}.lgpd-doc-html ul,.lgpd-doc-html ol{padding-left:22px;margin:12px 0 18px}.lgpd-doc-html li{margin-bottom:8px}.lgpd-doc-html a{color:#734595;font-weight:700;text-decoration:underline;text-underline-offset:3px}.lgpd-doc-html strong{color:#3d2948}.lgpd-doc-html u{text-underline-offset:3px}
.lgpd-doc-pdf-frame{height:min(72vh,760px);min-height:520px;background:#f5f2f7}
.lgpd-doc-pdf-frame iframe{width:100%;height:100%;border:0;background:#fff}
.lgpd-doc-empty{text-align:center;padding:52px 24px;border:1px solid rgba(91,42,114,.12);border-radius:22px;background:#fff;box-shadow:0 18px 44px rgba(53,19,67,.055)}
.lgpd-doc-empty>i{font-size:34px;color:#8a5daa;margin-bottom:12px}.lgpd-doc-empty h2{font-family:Manrope,Inter,sans-serif;color:#3c2648;font-size:23px;margin:0 0 7px}.lgpd-doc-empty p{margin:0;color:#776a7d;font-size:13px}
.lgpd-doc-bottom-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px}
@media(max-width:760px){.lgpd-doc-intro{flex-direction:column;gap:10px}.lgpd-doc-updated{text-align:left}.lgpd-doc-options{grid-template-columns:1fr!important}.lgpd-doc-option{grid-template-columns:46px minmax(0,1fr) auto;padding:15px;min-height:94px}.lgpd-doc-option-icon{width:46px;height:46px;border-radius:14px}.lgpd-doc-content-head{align-items:flex-start;flex-wrap:wrap;padding:17px 18px}.lgpd-doc-content-head .btn{width:100%;justify-content:center}.lgpd-doc-html{padding:22px 20px;font-size:14px}.lgpd-doc-pdf-frame{height:62vh;min-height:430px}.lgpd-doc-bottom-actions{flex-direction:column}.lgpd-doc-bottom-actions .btn{width:100%;justify-content:center}}
