:root{
  --primary:#3080e3;
  --primary-dark:#1766c5;
  --navy:#081828;
  --navy-2:#0f2541;
  --text:#6b7280;
  --heading:#081828;
  --white:#ffffff;
  --surface:#f4f7fb;
  --surface-2:#eef5ff;
  --line:#e7edf5;
  --success:#2bb673;
  --radius:8px;
  --shadow:0 12px 35px rgba(8,24,40,.09);
  --shadow-lg:0 20px 55px rgba(8,24,40,.12);
  --container:1170px;
  --header-h:82px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Poppins',sans-serif;color:var(--text);background:#fff;font-size:15px;line-height:1.75;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button,a{transition:all .25s ease}
img,svg{display:block;max-width:100%}
.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
.section{padding:110px 0}

/* reusable */
.btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:0 28px;border:1px solid transparent;border-radius:5px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}
.btn-primary{background:var(--primary);color:#fff;box-shadow:0 8px 20px rgba(48,128,227,.2)}
.btn-primary:hover{background:var(--navy);transform:translateY(-2px)}
.btn-white{background:#fff;color:var(--primary)}
.btn-white:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
.btn-outline{background:#fff;border-color:#dce5ef;color:var(--heading)}
.btn-outline:hover{border-color:var(--primary);background:var(--primary);color:#fff}
.btn-outline-light{border-color:rgba(255,255,255,.4);color:#fff;background:transparent}
.btn-outline-light:hover{background:#fff;color:var(--primary);border-color:#fff;transform:translateY(-2px)}
.btn-full{width:100%}
.section-title{max-width:620px}
.section-title.centered{margin:0 auto 55px;text-align:center}
.section-tag{display:block;margin-bottom:13px;color:var(--primary);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.section-title h2,.about-copy h2{margin:0;color:var(--heading);font-size:38px;line-height:1.25;letter-spacing:-1px;font-weight:700}
.section-title p,.about-copy>p{margin:18px 0 0;color:#7d8795;font-size:15px;line-height:1.8}

/* header */
.site-header{position:absolute;z-index:1000;top:0;left:0;width:100%;height:var(--header-h);color:#fff;transition:background .3s ease,box-shadow .3s ease,height .3s ease}
.site-header.is-scrolled{position:fixed;background:#fff;color:var(--heading);box-shadow:0 4px 22px rgba(8,24,40,.08)}
.header-inner{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:35px}
.brand{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;color:currentColor}
.brand-symbol{width:38px;height:38px;display:grid;place-items:center;color:currentColor}
.brand-text{font-size:22px;font-weight:500;letter-spacing:-.7px;color:currentColor}
.brand-text b{font-weight:800}
.desktop-nav{display:flex;align-items:center;gap:31px;margin-left:auto}
.nav-link{position:relative;padding:30px 0 28px;color:rgba(255,255,255,.82);font-size:14px;font-weight:500}
.site-header.is-scrolled .nav-link{color:#4d5967}
.nav-link:hover,.nav-link.is-active{color:#fff}
.site-header.is-scrolled .nav-link:hover,.site-header.is-scrolled .nav-link.is-active{color:var(--primary)}
.nav-link::after{content:'';position:absolute;left:50%;bottom:18px;width:0;height:2px;background:currentColor;transform:translateX(-50%);transition:width .25s ease}
.nav-link:hover::after,.nav-link.is-active::after{width:16px}
.header-actions{display:flex;align-items:center;gap:18px}
.client-link{font-size:13px;font-weight:500;color:rgba(255,255,255,.9)}
.site-header.is-scrolled .client-link{color:#475569}
.header-cta{min-height:42px;display:inline-flex;align-items:center;padding:0 20px;border:1px solid rgba(255,255,255,.35);border-radius:5px;color:#fff;font-size:13px;font-weight:600}
.header-cta:hover{background:#fff;color:var(--primary);border-color:#fff}
.site-header.is-scrolled .header-cta{background:var(--primary);border-color:var(--primary);color:#fff}
.site-header.is-scrolled .header-cta:hover{background:var(--navy);border-color:var(--navy)}
.menu-toggle{display:none;width:42px;height:42px;border:0;background:transparent;padding:9px;cursor:pointer}
.menu-toggle span{display:block;height:2px;margin:5px 0;border-radius:9px;background:currentColor;transition:.25s ease}
.menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.is-open span:nth-child(2){opacity:0}
.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{display:none}

/* hero */
.hero{position:relative;min-height:755px;padding:155px 0 165px;background:linear-gradient(132deg,#126fe0 0%,#3080e3 52%,#1a69c8 100%);color:#fff;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.13) 1px,transparent 1px);background-size:28px 28px;opacity:.22;mask-image:linear-gradient(to right,transparent 0,#000 45%,#000 100%)}
.hero-shape{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.hero-shape-a{width:620px;height:620px;right:-280px;top:-190px}
.hero-shape-b{width:380px;height:380px;right:180px;bottom:-280px}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:.95fr 1.05fr;gap:92px;align-items:center}
.hero-content{max-width:575px;padding:14px 0}
.hero h1{margin:0;font-size:51px;line-height:1.15;letter-spacing:-2px;font-weight:700;color:#fff}
.hero-content>p{max-width:535px;margin:28px 0 0;color:rgba(255,255,255,.8);font-size:16px;line-height:1.9}
.hero-price{display:flex;align-items:baseline;gap:5px;margin-top:34px;color:rgba(255,255,255,.82);font-size:13px}
.hero-price strong{margin-left:4px;color:#fff;font-size:27px;line-height:1;font-weight:700}
.hero-price span{font-size:12px}
.hero-buttons{display:flex;gap:13px;margin-top:31px}

.hero-art{position:relative;min-height:440px;display:flex;align-items:center;justify-content:center}
.hero-dots{position:absolute;width:150px;height:150px;right:-15px;top:5px;background-image:radial-gradient(rgba(255,255,255,.65) 1.4px,transparent 1.4px);background-size:15px 15px;opacity:.35}
.dashboard-card{position:relative;z-index:2;width:min(100%,540px);border-radius:10px;background:#fff;box-shadow:0 30px 70px rgba(4,29,57,.3);overflow:hidden;transform:perspective(1200px) rotateY(-4deg) rotateX(1.5deg)}
.dashboard-topbar{height:42px;display:flex;align-items:center;justify-content:center;position:relative;background:#f6f8fb;border-bottom:1px solid #e8edf4;color:#98a3b1;font-size:9px;font-weight:600}
.window-dots{position:absolute;left:16px;display:flex;gap:5px}
.window-dots i{width:7px;height:7px;border-radius:50%;background:#c9d3df}
.dashboard-body{min-height:300px;display:grid;grid-template-columns:62px 1fr;background:#f8fafc}
.dash-side{padding:19px 12px;display:flex;flex-direction:column;align-items:center;gap:18px;background:#fff;border-right:1px solid #edf1f5}
.dash-logo{width:29px;height:29px;display:grid;place-items:center;border-radius:7px;background:var(--primary);color:#fff;font-size:9px;font-weight:800}
.dash-side span{width:20px;height:5px;border-radius:4px;background:#e2e8f0}
.dash-side span:nth-of-type(1){background:#bcd9fb}
.dash-main{padding:25px 25px 22px}
.dash-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px;color:var(--heading)}
.dash-head small{display:block;margin-bottom:3px;color:#9aa5b1;font-size:8px}
.dash-head strong{font-size:14px}
.status-dot{color:#29b86f;font-size:14px}
.dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.dash-stats>div{padding:14px;border-radius:6px;background:#fff;border:1px solid #edf1f5}
.dash-stats span{display:block;color:#a0aab5;font-size:7px}
.dash-stats strong{display:block;margin:4px 0 10px;color:#1e293b;font-size:12px}
.bar{display:block;height:4px;border-radius:10px;background:#e9eef5;overflow:hidden;position:relative}
.bar::before{content:'';display:block;height:100%;border-radius:inherit;background:var(--primary)}
.b1::before{width:92%}.b2::before{width:82%}.b3::before{width:100%}
.dash-chart{height:112px;margin-top:13px;padding:14px;border-radius:6px;background:#fff;border:1px solid #edf1f5;color:var(--primary);position:relative;overflow:hidden}
.chart-title{position:absolute;top:11px;left:14px;color:#7f8a96;font-size:7px}
.chart-lines{position:absolute;inset:32px 14px 10px;background:repeating-linear-gradient(to bottom,#eef2f6 0,#eef2f6 1px,transparent 1px,transparent 20px)}
.dash-chart svg{position:absolute;left:14px;right:14px;bottom:7px;width:calc(100% - 28px);height:70px}
.floating-card{position:absolute;z-index:4;display:flex;align-items:center;gap:10px;padding:12px 15px;border-radius:7px;background:#fff;box-shadow:0 12px 30px rgba(4,29,57,.18);color:var(--heading)}
.floating-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:6px;background:#edf5ff;color:var(--primary);font-size:14px}
.floating-card small{display:block;color:#9aa5b1;font-size:8px}
.floating-card b{display:block;margin-top:2px;font-size:11px}
.floating-speed{left:-20px;top:80px;animation:heroFloatSpeed 5.8s cubic-bezier(.45,.05,.55,.95) infinite}
.floating-secure{right:-12px;bottom:45px;animation:heroFloatSecure 6.6s cubic-bezier(.45,.05,.55,.95) .7s infinite}
@keyframes heroFloatSpeed{
  0%,100%{transform:translate3d(0,0,0) rotate(-.4deg)}
  35%{transform:translate3d(5px,-9px,0) rotate(.3deg)}
  68%{transform:translate3d(-3px,-4px,0) rotate(-.15deg)}
}
@keyframes heroFloatSecure{
  0%,100%{transform:translate3d(0,0,0) rotate(.35deg)}
  38%{transform:translate3d(-7px,-8px,0) rotate(-.25deg)}
  72%{transform:translate3d(3px,-3px,0) rotate(.15deg)}
}
@media (prefers-reduced-motion:reduce){.floating-speed,.floating-secure{animation:none!important}}

/* domain */
.domain-zone{position:relative;z-index:5;margin-top:-88px;padding-bottom:20px}
.domain-box{padding:39px 44px 29px;border-radius:10px;background:#fff;box-shadow:0 18px 55px rgba(8,24,40,.115)}
.domain-heading{text-align:center;margin-bottom:25px}
.domain-heading span{display:block;margin-bottom:6px;color:var(--primary);font-size:11px;font-weight:700;letter-spacing:.09em}
.domain-heading h2{margin:0;color:var(--heading);font-size:25px;line-height:1.35;font-weight:700}
.domain-search{max-width:865px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 146px;gap:11px;align-items:stretch}
.domain-field{min-width:0;display:flex;align-items:center;border:1px solid #e1e7ef;border-radius:7px;background:#fff;box-shadow:0 5px 18px rgba(8,24,40,.028);transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.domain-field:focus-within{border-color:#b7d4f7;box-shadow:0 0 0 3px rgba(48,128,227,.06),0 8px 24px rgba(8,24,40,.04)}
.domain-input{min-width:0;min-height:58px;display:flex;align-items:center;flex:1;padding:0 4px 0 20px}
.domain-input span{flex:0 0 auto;color:#8a95a3;font-size:13px}
.domain-input input{min-width:0;width:100%;height:58px;padding:0 7px 0 5px;border:0;outline:0;background:transparent;color:var(--heading);font-size:14px}
.domain-search select{appearance:none;-webkit-appearance:none;-moz-appearance:none;flex:0 0 auto;width:auto;min-width:90px;height:40px;margin-right:11px;border:0!important;outline:0!important;box-shadow:none!important;border-radius:0!important;padding:0 21px 0 8px;background-color:transparent;background-image:linear-gradient(45deg,transparent 50%,#8b97a5 50%),linear-gradient(135deg,#8b97a5 50%,transparent 50%);background-position:calc(100% - 9px) 17px,calc(100% - 5px) 17px;background-size:4px 4px,4px 4px;background-repeat:no-repeat;color:#4f5b69;font-size:13px;font-weight:700;cursor:pointer}
.domain-search select:focus,.domain-search select:focus-visible{border:0!important;outline:0!important;box-shadow:none!important}
.domain-search .btn{min-height:58px;border-radius:7px;box-shadow:0 8px 20px rgba(48,128,227,.18)}
.domain-extensions{display:flex;justify-content:center;flex-wrap:wrap;gap:9px 25px;margin-top:21px;color:#8a94a0;font-size:11px}
.domain-extensions span{position:relative;display:inline-flex;align-items:center;gap:4px}
.domain-extensions span+span::before{content:'';width:3px;height:3px;margin-right:17px;border-radius:50%;background:#d7dee7}
.domain-extensions b{margin-right:1px;color:var(--heading);font-size:12px}
.domain-result{display:none;max-width:830px;margin:12px auto 0;padding:10px 14px;border-radius:4px;background:#f1f7ff;color:#607080;font-size:12px;text-align:center}
.domain-result.show{display:block}
.domain-result strong{color:var(--primary)}

/* principles */
.principles{padding-top:105px;background:#fff}
.principles-title{max-width:760px;margin:0 auto 66px}
.principles-title .section-tag{margin-bottom:15px}
.principles-title h2{max-width:720px;margin-left:auto;margin-right:auto}
.principles-title p{max-width:690px;margin-left:auto;margin-right:auto}
.principle-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 26px}
.principle-item{min-height:198px;display:grid;grid-template-columns:66px minmax(0,1fr);gap:25px;align-items:center;padding:39px 39px;border:1px solid #e9edf2;border-radius:8px;background:#fff;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.principle-item:hover{transform:translateY(-4px);border-color:#d9e7f8;box-shadow:0 14px 34px rgba(22,61,102,.07)}
.line-icon{width:66px;height:66px;display:grid;place-items:center;border-radius:50%;background:#edf5ff;color:var(--primary);transition:transform .3s ease,background-color .3s ease}
.principle-item:hover .line-icon{transform:translateY(-2px) scale(1.03);background:#e7f2ff}
.line-icon svg,.service-icon svg,.plan-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.principle-content{min-width:0}
.principle-item h3{margin:0 0 14px;color:var(--heading);font-size:16px;line-height:1.35;font-weight:650}
.principle-item p{max-width:455px;margin:0;color:#7f8995;font-size:13px;line-height:1.75}

/* services */
.services{background:#f4f7fb}
.services .section-title{max-width:720px}
.services .section-title.centered{margin-bottom:72px}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 auto}
.service-card{min-height:296px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 34px;text-align:center;border:1px solid #edf1f6;border-radius:8px;background:#fff;box-shadow:0 9px 30px rgba(24,53,87,.055);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.service-card:hover{transform:translateY(-7px);border-color:#dce9f8;box-shadow:0 20px 48px rgba(24,53,87,.10)}
.service-icon{width:76px;height:76px;display:grid;place-items:center;margin-bottom:24px;border-radius:50%;background:#eaf3ff;color:var(--primary);transition:transform .3s ease,background-color .3s ease}
.service-card:hover .service-icon{transform:translateY(-3px) scale(1.035);background:#e2efff}
.service-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.service-card h3{margin:0 0 15px;color:var(--heading);font-size:18px;line-height:1.35;font-weight:650}
.service-card p{max-width:335px;margin:0;color:#7d8795;font-size:13px;line-height:1.8}

/* about / CTA institucional */
.about{background:#fff}
.about-cta{position:relative;background:linear-gradient(132deg,#126fe0 0%,#3080e3 52%,#1a69c8 100%);color:#fff;overflow:hidden}
.about-cta::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.13) 1px,transparent 1px);background-size:28px 28px;opacity:.18;mask-image:linear-gradient(to left,transparent 0,#000 43%,#000 100%)}
.about-cta-shape{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%;pointer-events:none}
.about-cta-shape-a{width:430px;height:430px;left:-240px;bottom:-300px}
.about-cta-shape-b{width:330px;height:330px;right:-155px;top:-190px}
.about-grid{position:relative;z-index:2;display:grid;grid-template-columns:.96fr 1.04fr;gap:85px;align-items:center}
.about-copy .section-tag{margin-bottom:14px}
.about-cta .about-copy .section-tag{color:rgba(255,255,255,.72)}
.about-cta .about-copy h2{max-width:520px;color:#fff;font-size:40px;line-height:1.22;letter-spacing:-1.2px}
.about-copy>p{max-width:540px}
.about-cta .about-copy>p{max-width:500px;margin-top:18px;color:rgba(255,255,255,.78);font-size:15px;line-height:1.8}
.about-actions{display:flex;align-items:center;margin-top:30px}
.about-cta .btn-white{box-shadow:0 12px 28px rgba(8,50,110,.18)}
.about-visual{padding:20px 0 20px 20px}
.about-image-card{position:relative;min-height:350px;padding:28px 18px 20px 34px;border-radius:12px;background:#edf5ff}
.about-cta .about-image-card{background:transparent;border:0;box-shadow:none;backdrop-filter:none}
.about-image-card::before{content:'';position:absolute;left:-16px;bottom:28px;width:82px;height:82px;background-image:radial-gradient(#9ec6f5 1.5px,transparent 1.5px);background-size:10px 10px;opacity:.5}
.about-cta .about-image-card::before{background-image:radial-gradient(rgba(255,255,255,.38) 1.3px,transparent 1.3px);opacity:.34}
.browser-mock{position:relative;z-index:2;width:92%;border-radius:10px;background:#fff;box-shadow:0 18px 50px rgba(22,61,102,.18);overflow:hidden}
.about-cta .browser-mock{background:#fff;border:1px solid rgba(255,255,255,.5);box-shadow:0 24px 54px rgba(8,48,100,.20)}
.browser-bar{height:34px;display:flex;align-items:center;gap:5px;padding:0 11px;background:#f4f6f9;border-bottom:1px solid #e9edf2}
.about-cta .browser-bar{background:#f7f9fc;border-bottom-color:#e9eef5}
.browser-bar i{width:6px;height:6px;border-radius:50%;background:#ccd5df}.browser-bar span{margin-left:17px;color:#a5aeb8;font-size:7px}
.about-cta .browser-bar i{background:#ccd6e2}.about-cta .browser-bar span{color:#94a1b0}
.browser-screen{padding:17px;background:#fff}
.about-cta .browser-screen{background:#f8fbff}
.mock-nav{width:100%;height:9px;margin-bottom:14px;background:linear-gradient(90deg,#dbe3ec 0 23%,transparent 23% 66%,#e9eef4 66% 100%);border-radius:3px}
.about-cta .mock-nav{background:linear-gradient(90deg,#cbd9e8 0 23%,transparent 23% 66%,#dfe8f2 66% 100%);opacity:.9}
.mock-hero{height:175px;padding:28px 25px;border-radius:5px;background:linear-gradient(135deg,var(--primary),#1663be);color:#fff}
.about-cta .mock-hero{background:#fff;color:#17395f;border:1px solid #e7eef7;box-shadow:0 9px 24px rgba(28,76,126,.07)}
.mock-hero small{font-size:7px;letter-spacing:.1em;opacity:.7}.mock-hero strong{display:block;margin-top:8px;font-size:22px;line-height:1.28}.mock-hero span{display:block;width:54px;height:18px;margin-top:17px;border-radius:3px;background:#fff}
.about-cta .mock-hero span{background:#e8f2ff;border:1px solid #d9e9fb}
.mock-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.mock-cards i{height:50px;border-radius:4px;background:#f0f4f8}
.about-cta .mock-cards i{background:#fff;border:1px solid #e7eef6;box-shadow:0 5px 14px rgba(25,70,116,.035)}
.about-badge{position:absolute;z-index:4;right:0;bottom:24px;width:145px;padding:18px 16px;border-radius:7px;background:var(--navy);color:#fff;box-shadow:0 16px 35px rgba(8,24,40,.2)}
.about-cta .about-badge{background:#fff;color:#164a86;box-shadow:0 18px 38px rgba(4,35,75,.22);animation:heroFloatSecure 6.6s cubic-bezier(.45,.05,.55,.95) .45s infinite;will-change:transform}
.about-badge strong{display:block;font-size:23px}.about-badge span{display:block;margin-top:2px;color:#afbdcc;font-size:9px}
.about-cta .about-badge span{color:#6f87a2}
@media (prefers-reduced-motion:reduce){.about-cta .about-badge{animation:none!important}}


/* pricing */
.pricing{position:relative;background:#f7f9fc;overflow:hidden}
.pricing-pattern{position:absolute;inset:0;background-image:radial-gradient(#d5e1ee 1px,transparent 1px);background-size:24px 24px;opacity:.22;mask-image:linear-gradient(to bottom,#000 0,transparent 38%)}
.pricing>.container{position:relative;z-index:1}
.pricing-title{margin-bottom:34px}
.billing-tabs{display:flex;width:max-content;margin:-12px auto 44px;padding:5px;border:1px solid #e3eaf2;border-radius:8px;background:#eef3f8;box-shadow:inset 0 1px 2px rgba(15,42,68,.03)}
.billing-tabs button{min-height:38px;padding:0 18px;border:0;border-radius:6px;background:transparent;color:#748091;font-size:11px;font-weight:700;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.billing-tabs button.is-active{background:#fff;color:var(--primary);box-shadow:0 4px 14px rgba(8,24,40,.08)}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.price-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:30px;border:1px solid #e2e9f1;border-radius:10px;background:#fff;box-shadow:0 9px 28px rgba(8,24,40,.035);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.price-card::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;border-radius:10px 10px 0 0;background:var(--primary);opacity:0;transform:scaleX(.38);transform-origin:center;transition:opacity .28s ease,transform .28s ease}
.price-card:hover{transform:translateY(-6px);border-color:#cfe0f3;box-shadow:0 18px 44px rgba(8,24,40,.09)}
.price-card:hover::before{opacity:1;transform:scaleX(1)}
.price-card.featured{border-color:#bcd8f8;box-shadow:0 18px 48px rgba(48,128,227,.12)}
.price-card.featured::before{opacity:1;transform:scaleX(1)}
.popular-badge{position:absolute;top:-13px;right:22px;padding:7px 12px;border-radius:5px;background:var(--primary);color:#fff;box-shadow:0 7px 18px rgba(48,128,227,.22);font-size:8px;font-weight:800;letter-spacing:.06em}
.plan-top{display:flex;align-items:center;gap:14px;padding-bottom:23px;border-bottom:1px solid #edf1f5}
.plan-icon{flex:0 0 auto;width:50px;height:50px;display:grid;place-items:center;border-radius:9px;background:#eef6ff;color:var(--primary)}
.price-card.featured .plan-icon{background:var(--primary);color:#fff;box-shadow:0 8px 18px rgba(48,128,227,.16)}
.plan-icon svg{width:23px;height:23px}
.plan-top h3{margin:0;color:var(--heading);font-size:18px;font-weight:700}.plan-top p{margin:4px 0 0;color:#929daa;font-size:10px;line-height:1.5}
.plan-price-box{position:relative;margin-top:25px;padding:0 0 23px;border:0;border-bottom:1px solid #edf1f5;border-radius:0;background:transparent}
.price-card.featured .plan-price-box{border-color:#e4edf7;background:transparent}
.price-label{margin:0 0 9px;color:#8c98a6;font-size:9px;font-weight:700;letter-spacing:.055em;text-transform:uppercase}
.price{display:flex;align-items:baseline;gap:3px;margin:0;color:var(--heading);white-space:nowrap}
.price small{position:relative;top:-1px;font-size:13px;font-weight:700}.price strong{font-size:40px;line-height:.96;font-weight:750;letter-spacing:-1.9px}.price span{margin-left:3px;color:#8693a1;font-size:11px;font-weight:600}
.price-note{min-height:29px;margin-top:11px;color:#8b97a5;font-size:9px;line-height:1.55}.price-note strong{color:#4f687f;font-weight:700}.annual-total{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.price-discount-pill{display:inline-flex;align-items:center;justify-content:center;min-height:18px;padding:2px 7px;border-radius:999px;background:#e9f9ef;color:#159447;font-size:8px;font-weight:800;line-height:1;letter-spacing:.015em}
.features-label{margin-top:20px;color:var(--heading);font-size:10px;font-weight:700}
.price-card ul{flex:1;list-style:none;margin:10px 0 26px;padding:0}
.price-card li{display:flex;align-items:center;gap:9px;padding:6px 0;color:#667281;font-size:12px}
.price-card li i{flex:0 0 auto;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#edf5ff;color:var(--primary);font-size:9px;font-style:normal;font-weight:800}
.price-card .btn{min-height:46px;font-size:11px}
.pricing-footnote{max-width:700px;margin:24px auto 0;color:#8d98a5;font-size:9px;line-height:1.6;text-align:center}

/* datacenter / global network */
.datacenter-global{padding:112px 0 106px;background:#fff;overflow:hidden}
.datacenter-title{max-width:820px;margin-bottom:54px}
.datacenter-title h2{max-width:760px;margin-inline:auto}
.datacenter-title p{max-width:690px;margin-inline:auto}
.world-network{position:relative;width:min(100%,1000px);margin:0 auto;aspect-ratio:2/1;color:#c7dbef;isolation:isolate}
.world-network::before{content:'';position:absolute;left:50%;top:50%;width:66%;height:56%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(48,128,227,.055) 0,rgba(48,128,227,.018) 42%,transparent 72%);filter:blur(10px);z-index:-1}
.world-network-map{display:block;width:100%;height:100%;overflow:visible}
.world-dotted-land{opacity:.92}
.world-network-routes{opacity:.85;stroke-dasharray:5 9;animation:networkRouteFlow 14s linear infinite}
.network-node{--delay:0s;position:absolute;width:10px;height:10px;transform:translate(-50%,-50%);z-index:3}
.network-node>i{position:absolute;inset:1px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px #fff,0 0 0 4px rgba(48,128,227,.08);animation:networkNodeFloat 3.6s ease-in-out var(--delay) infinite}
.network-node::before,.network-node::after{content:'';position:absolute;left:50%;top:50%;width:10px;height:10px;border:1px solid rgba(48,128,227,.34);border-radius:50%;transform:translate(-50%,-50%) scale(.55);opacity:0;animation:networkPulse 3.1s ease-out var(--delay) infinite}
.network-node::after{animation-delay:calc(var(--delay) + .95s)}
.node-us{left:18.1%;top:33.1%}.node-ca{left:23.2%;top:27.3%}.node-br{left:27.3%;top:60%}.node-uk{left:48.6%;top:32.5%}.node-de{left:53.2%;top:35.1%}.node-za{left:55.8%;top:67.4%}.node-in{left:70.3%;top:52%}.node-sg{left:77.4%;top:59.2%}.node-au{left:84.3%;top:70%}.node-jp{left:82.2%;top:35.4%}.node-nz{left:90.1%;top:80.3%}
.datacenter-note{max-width:760px;margin:34px auto 0;text-align:center}
.datacenter-note p{margin:0;color:#7d8795;font-size:13px;line-height:1.75}
@keyframes networkPulse{0%{transform:translate(-50%,-50%) scale(.55);opacity:.58}70%,100%{transform:translate(-50%,-50%) scale(3.2);opacity:0}}
@keyframes networkNodeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes networkRouteFlow{to{stroke-dashoffset:-140}}

/* testimonials */
.testimonials{background:var(--surface);overflow:hidden}
.testimonials .section-title.centered{margin-bottom:46px}
.testimonials-carousel{position:relative}
.testimonial-viewport{overflow:hidden;padding:4px 2px 8px}
.testimonial-track{display:flex;gap:22px;will-change:transform;transition:transform .58s cubic-bezier(.2,.7,.2,1)}
.testimonial-card{position:relative;flex:0 0 calc((100% - 44px)/3);min-height:318px;padding:34px 32px 28px;border:1px solid #e5ebf2;border-radius:9px;background:#fff;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(13,33,52,.04);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.testimonial-card:hover{transform:translateY(-5px);border-color:#d7e5f5;box-shadow:0 18px 42px rgba(13,33,52,.08)}
.quote-mark{position:absolute;right:26px;top:20px;color:#e8f1fc;font-family:Georgia,serif;font-size:66px;line-height:1;pointer-events:none}
.testimonial-card>p{position:relative;z-index:1;margin:0 0 20px;padding-right:14px;color:#687483;font-size:12px;line-height:1.95}
.testimonial-person{display:flex;align-items:center;gap:13px;padding-top:15px;border-top:1px solid #edf1f5;margin-top:0}
.avatar-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;display:block;flex:0 0 56px;border:3px solid #fff;box-shadow:0 8px 24px rgba(48,128,227,.15);background:#eef4fb}
.testimonial-person b{display:block;color:var(--heading);font-size:11px}.testimonial-person span{display:block;margin-top:3px;color:#9ca5af;font-size:9px}
.slider-dots{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:32px}
.slider-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#d4deea;cursor:pointer;transition:width .22s ease,border-radius .22s ease,transform .2s ease,background .2s ease,box-shadow .2s ease}
.slider-dots button:hover{transform:scale(1.08)}
.slider-dots button.is-active{width:28px;border-radius:99px;background:var(--primary);box-shadow:0 0 0 4px rgba(48,128,227,.09)}

/* blog */
.blog-news{background:#fff}
.blog-news .blog-title{margin-bottom:48px}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.blog-card{overflow:hidden;border:1px solid #e5ebf2;border-radius:9px;background:#fff;display:flex;flex-direction:column;min-width:0;box-shadow:0 10px 30px rgba(13,33,52,.035);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.blog-card:hover{transform:translateY(-6px);border-color:#d7e5f5;box-shadow:0 20px 46px rgba(13,33,52,.09)}
.blog-image{position:relative;display:block;aspect-ratio:1.55/1;overflow:hidden;background:#eef3f8}
.blog-image::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(13,31,51,.08),transparent 46%);opacity:0;transition:opacity .3s ease}
.blog-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.blog-card:hover .blog-image img{transform:scale(1.035)}
.blog-card:hover .blog-image::after{opacity:1}
.blog-card-body{display:flex;flex:1;flex-direction:column;padding:27px 27px 29px}
.blog-category{display:block;margin-bottom:11px;color:var(--primary);font-size:10px;font-weight:700;letter-spacing:.02em}
.blog-card h3{margin:0 0 14px;font-size:17px;line-height:1.52;letter-spacing:-.25px}
.blog-card h3 a{color:var(--heading)}
.blog-card h3 a:hover{color:var(--primary)}
.blog-card p{margin:0 0 22px;color:#748091;font-size:11.5px;line-height:1.85}
.blog-link{display:inline-flex;align-items:center;gap:7px;width:max-content;margin-top:auto;color:var(--primary);font-size:10.5px;font-weight:700}
.blog-link span{transition:transform .22s ease}
.blog-link:hover span{transform:translateX(4px)}

/* CTA */
.cta-band{padding:70px 0;background:var(--primary);color:#fff;position:relative;overflow:hidden}
.cta-band::before,.cta-band::after{content:'';position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.12)}
.cta-band::before{width:360px;height:360px;right:-150px;top:-220px}.cta-band::after{width:220px;height:220px;left:-100px;bottom:-170px}
.cta-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:45px}
.cta-inner>div:first-child{max-width:680px}.cta-inner span{display:block;margin-bottom:7px;color:rgba(255,255,255,.72);font-size:11px;font-weight:700;letter-spacing:.08em}.cta-inner h2{margin:0;color:#fff;font-size:31px;line-height:1.32;letter-spacing:-.7px}.cta-buttons{display:flex;gap:10px;flex:0 0 auto}

/* footer */
.site-footer{padding:78px 0 0;background:var(--navy);color:#94a3b5}
.footer-main{display:grid;grid-template-columns:1.55fr repeat(4,1fr);gap:50px;padding-bottom:62px}
.brand-footer{color:#fff;margin-bottom:18px}.footer-about>p{max-width:300px;margin:0 0 16px;color:#91a0b1;font-size:12px;line-height:1.8}.footer-contact{color:#c3cfda;font-size:12px}.footer-contact:hover{color:#fff}
.footer-col h3{margin:5px 0 20px;color:#fff;font-size:13px;font-weight:600}.footer-col a{display:block;margin:10px 0;color:#8f9eaf;font-size:11px}.footer-col a:hover{color:#fff;transform:translateX(3px)}
.footer-bottom{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.08)}.footer-bottom p{margin:0;color:#7f8fa2;font-size:10px}.footer-bottom a{color:#c5d0dc;font-weight:600}.footer-bottom a:hover{color:#fff}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible{opacity:1;transform:none}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.network-node>i,.network-node::before,.network-node::after,.world-network-routes{animation:none}}

/* generic WordPress pages */
body:not(.home) main:not(.home-main):not(.contact-page-main):not(.post-detail-page){min-height:60vh;padding:130px 0 80px}.entry-content,.page-content{width:min(calc(100% - 40px),900px);margin-inline:auto}.entry-title{color:var(--heading)}

@media (max-width:1080px){
  :root{--container:940px}
  .desktop-nav{gap:20px}.header-actions{gap:12px}.client-link{display:none}
  .hero{min-height:720px}.hero-grid{gap:50px}.hero h1{font-size:43px}.dashboard-card{width:490px}.floating-speed{left:-6px}.floating-secure{right:-5px}
  .about-grid{gap:48px}.about-cta .about-copy h2{font-size:36px}
  .footer-main{grid-template-columns:1.4fr repeat(4,1fr);gap:28px}
}

@media (max-width:900px){
  :root{--header-h:74px}
  .container{width:min(calc(100% - 44px),760px)}.section{padding:88px 0}
  .desktop-nav,.header-cta{display:none}.menu-toggle{display:block}.site-header{height:var(--header-h)}.header-inner{height:var(--header-h)}
  .mobile-menu{display:block;position:fixed;z-index:999;left:0;right:0;top:var(--header-h);max-height:0;overflow:hidden;background:#fff;color:var(--heading);box-shadow:0 14px 30px rgba(8,24,40,.1);transition:max-height .35s ease}.mobile-menu.is-open{max-height:520px}.mobile-menu-panel{display:flex;flex-direction:column;padding-top:12px;padding-bottom:22px}.mobile-menu a{padding:11px 2px;border-bottom:1px solid #edf1f5;font-size:13px;font-weight:500}.mobile-menu .btn{margin-top:13px;padding:0;border:0;color:#fff}.mobile-client{color:var(--primary)!important}
  .hero{min-height:auto;padding:135px 0 170px}.hero-grid{grid-template-columns:1fr;gap:55px}.hero-content{max-width:650px}.hero h1{font-size:45px}.hero-art{min-height:390px}.dashboard-card{width:min(100%,560px)}
  .domain-zone{margin-top:-78px}.domain-box{padding:30px 26px 24px}.domain-search{grid-template-columns:minmax(0,1fr) 132px}
  .about-grid{grid-template-columns:1fr}.principle-list{gap:22px}.principle-item{padding:32px 28px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-visual{padding:0 25px 0 0}.about-image-card{max-width:600px}.pricing-grid{grid-template-columns:1fr;max-width:560px;margin:0 auto}.price-card.featured{order:-1}.testimonial-card{flex-basis:calc((100% - 22px)/2)}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-card:last-child{grid-column:1/-1;max-width:calc(50% - 12px);width:100%;justify-self:center}.cta-inner{align-items:flex-start;flex-direction:column}.footer-main{grid-template-columns:1.4fr 1fr 1fr;row-gap:40px}.footer-about{grid-row:span 2}
}

@media (max-width:640px){
  .container{width:calc(100% - 30px)}.section{padding:72px 0}.brand-text{font-size:20px}.brand-symbol{width:34px;height:34px}
  .hero{padding:120px 0 148px}.hero::before{opacity:.16}.hero-content{padding:0}.hero h1{font-size:36px;line-height:1.2;letter-spacing:-1.2px}.hero-content>p{margin-top:23px;font-size:14px;line-height:1.75}.hero-price{margin-top:28px;flex-wrap:wrap}.hero-price strong{font-size:22px}.hero-buttons{margin-top:27px;flex-direction:column;align-items:stretch}.hero-buttons .btn{width:100%}.hero-art{min-height:300px;margin:0 4px}.dashboard-card{transform:none}.dashboard-body{grid-template-columns:44px 1fr}.dash-side{padding:15px 8px}.dash-main{padding:17px 14px}.dash-stats>div{padding:10px 8px}.dash-chart{height:88px}.floating-card{display:none}.hero-dots{display:none}
  .domain-zone{margin-top:-72px}.domain-box{padding:25px 18px 20px}.domain-heading{margin-bottom:20px}.domain-heading h2{font-size:20px}.domain-search{grid-template-columns:1fr;gap:9px}.domain-field{grid-template-columns:minmax(0,1fr) auto}.domain-input{min-height:54px;padding-left:15px}.domain-input input{height:54px}.domain-search select{height:54px;padding-left:8px;padding-right:16px}.domain-search .btn{width:100%;min-height:52px;border-radius:5px}.domain-extensions{justify-content:flex-start;gap:8px 16px}
  .section-title.centered{margin-bottom:38px}.section-title h2,.about-copy h2{font-size:29px;letter-spacing:-.6px}.about-cta .about-copy h2{font-size:30px;letter-spacing:-.7px}.section-title p,.about-copy>p{font-size:13px}.section-tag{font-size:11px}
  .principles{padding-top:72px}.principles-title{margin-bottom:38px}.principle-list{grid-template-columns:1fr;gap:16px}.principle-item{min-height:auto;grid-template-columns:58px minmax(0,1fr);gap:18px;padding:26px 22px}.line-icon{width:58px;height:58px}.principle-item h3{margin-bottom:8px;font-size:15px}.principle-item p{font-size:12px}
  .services .section-title.centered{margin-bottom:42px}.services-grid{grid-template-columns:1fr}.service-card{min-height:auto;padding:34px 24px}.service-icon{width:68px;height:68px;margin-bottom:20px}.service-icon svg{width:28px;height:28px}
  .about-actions{margin-top:25px}.about-visual{padding:0}.about-image-card{min-height:290px;padding:22px 0 0 8px}.browser-mock{width:96%}.mock-hero{height:135px;padding:22px 18px}.mock-hero strong{font-size:17px}.about-badge{right:-3px;bottom:12px;width:128px;padding:14px}.about-badge strong{font-size:20px}
  .billing-tabs{margin-top:-8px;max-width:100%}.billing-tabs button{padding:0 12px}.pricing-grid{gap:18px}.price-card{padding:26px 22px}.price-card::before{left:0;right:0}.plan-price-box{padding:0 0 20px}.price strong{font-size:35px}
  .datacenter-global{padding:78px 0 74px}.datacenter-title{margin-bottom:34px}.world-network{width:116%;margin-left:-8%;aspect-ratio:1.85/1}.network-node{width:9px;height:9px}.datacenter-note{margin-top:22px;padding:0 10px}.datacenter-note p{font-size:11.5px}
  .testimonial-card{flex-basis:100%;min-height:286px;padding:28px 24px 24px}.avatar-photo{width:50px;height:50px;flex-basis:50px}.slider-dots{margin-top:25px}.blog-news .blog-title{margin-bottom:38px}.blog-grid{grid-template-columns:1fr;gap:18px}.blog-card:last-child{grid-column:auto;max-width:none}.blog-card-body{padding:24px 22px 26px}.blog-card h3{font-size:16px}.blog-image{aspect-ratio:1.58/1}.cta-band{padding:58px 0}.cta-inner h2{font-size:26px}.cta-buttons{width:100%;flex-direction:column}.cta-buttons .btn{width:100%}
  .footer-main{grid-template-columns:1fr 1fr;gap:34px 25px}.footer-about{grid-column:1/-1;grid-row:auto}.footer-bottom{padding:18px 0;min-height:auto;flex-direction:column;align-items:flex-start;gap:5px}
}

@media (max-width:420px){
  .hero h1{font-size:32px}.hero-art{min-height:255px}.dashboard-topbar{height:32px}.dashboard-body{min-height:230px}.dash-stats{grid-template-columns:1fr 1fr}.dash-stats>div:last-child{display:none}.dash-chart{height:75px}.footer-main{grid-template-columns:1fr}.footer-about{grid-column:auto}
}

@media (max-width:640px){
  .domain-search select{min-width:84px;height:38px;margin-right:8px;padding-left:6px;padding-right:18px;background-position:calc(100% - 8px) 16px,calc(100% - 4px) 16px}
  .domain-extensions span+span::before{margin-right:8px}
  .floating-speed{left:2px}
  .floating-secure{right:2px}
}

/* === ETAPA 16: BLOG CAROUSEL === */
.blog-news{overflow:hidden;background:#fff}
.blog-carousel{position:relative}
.blog-viewport{overflow:hidden;padding:4px 2px 10px}
.blog-track{display:flex;gap:24px;will-change:transform;transition:transform .58s cubic-bezier(.2,.7,.2,1)}
.blog-track .blog-card{flex:0 0 calc((100% - 48px)/3);min-height:100%;}
.blog-carousel .slider-dots{margin-top:34px}

/* === ETAPA 17: FOOTER CLEAN === */
.site-footer{position:relative;overflow:hidden;padding:0;background:#081b2d;color:#94a3b5}
.footer-glow{position:absolute;left:8%;top:-260px;width:720px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(48,128,227,.12),rgba(48,128,227,0) 70%);pointer-events:none}
.site-footer>.container{position:relative;z-index:1}
.footer-main-clean{display:grid;grid-template-columns:1.65fr .9fr 1fr .95fr 1.25fr;gap:48px;padding:94px 0 76px}
.brand-footer{color:#fff;margin-bottom:20px}
.footer-about>p{max-width:310px;margin:0 0 25px;color:#8fa2b6;font-size:11px;line-height:1.9}
.footer-socials{display:flex;align-items:center;gap:9px}
.footer-socials a{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.09);border-radius:50%;background:rgba(255,255,255,.025);color:#95abc0;transition:color .22s ease,background .22s ease,border-color .22s ease,transform .22s ease}
.footer-socials a:hover{color:#fff;background:var(--primary);border-color:var(--primary);transform:translateY(-3px)}
.footer-socials svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.footer-col h3{margin:7px 0 23px;color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.015em}
.footer-col>a{display:block;width:max-content;max-width:100%;margin:11px 0;color:#879bae;font-size:10.5px;line-height:1.45;transition:color .2s ease,transform .2s ease}
.footer-col>a:hover{color:#fff;transform:translateX(4px)}
.footer-contact-col>a,.footer-hours{width:100%;display:flex!important;align-items:flex-start;gap:10px;margin:0 0 17px!important;color:#8fa2b6!important;transform:none!important}
.footer-contact-col>a:hover{color:#fff!important}
.footer-mini-icon{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;border-radius:50%;background:rgba(48,128,227,.11);color:#6ea9f2}
.footer-mini-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.footer-contact-col small{display:block;margin:1px 0 3px;color:#657e96;font-size:7.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.footer-contact-col strong{display:block;color:#aab9c8;font-size:9.5px;font-weight:600;line-height:1.45;transition:color .2s ease}
.footer-contact-col>a:hover strong{color:#fff}
.footer-bottom{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.075)}
.footer-bottom p{margin:0;color:#71869b;font-size:9.5px}.footer-bottom a{color:#aebdcc;font-weight:700}.footer-bottom a:hover{color:#fff}

/* === ETAPA 17: SUPORTE FLUTUANTE === */
.support-widget{position:fixed;z-index:1100;right:24px;bottom:24px;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}
.support-launcher{position:relative;width:58px;height:58px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--primary);color:#fff;box-shadow:0 14px 38px rgba(15,68,126,.30);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(18px) scale(.9);transition:opacity .3s ease,visibility .3s ease,transform .3s ease,box-shadow .25s ease;pointer-events:auto}
.support-widget.is-visible .support-launcher{opacity:1;visibility:visible;transform:none}
.support-launcher:hover{box-shadow:0 18px 45px rgba(15,68,126,.38);transform:translateY(-2px)}
.support-launcher-ring{position:absolute;inset:-6px;border:1px solid rgba(48,128,227,.46);border-radius:50%;animation:supportPulse 2.1s ease-out infinite}
.support-launcher::before{content:'';position:absolute;inset:-12px;border:1px solid rgba(48,128,227,.20);border-radius:50%;animation:supportPulse 2.1s .65s ease-out infinite}
@keyframes supportPulse{0%{transform:scale(.82);opacity:0}25%{opacity:1}100%{transform:scale(1.38);opacity:0}}
.support-launcher-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:#fff;position:relative;z-index:1}
.support-launcher-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.support-chat{width:min(356px,calc(100vw - 30px));overflow:hidden;border:1px solid #e2e9f0;border-radius:16px;background:#fff;box-shadow:0 26px 80px rgba(5,24,43,.24);opacity:0;visibility:hidden;transform:translateY(16px) scale(.96);transform-origin:bottom right;transition:opacity .32s ease,visibility .32s ease,transform .32s ease;pointer-events:auto}
.support-widget.is-open .support-chat{opacity:1;visibility:visible;transform:none}
.support-chat-head{min-height:76px;display:flex;align-items:center;gap:12px;padding:14px 15px;background:#fff;color:var(--heading);border-bottom:1px solid #edf1f5}
.support-agent-avatar{position:relative;width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;border-radius:50%;background:#eaf3ff;color:var(--primary);font-size:11px;font-weight:800}
.support-agent-avatar span{position:absolute;right:0;bottom:0;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#34d37e}
.support-agent-copy strong{display:block;font-size:11.5px}.support-agent-copy small{display:block;margin-top:4px;color:#8a97a5;font-size:8.5px;transition:opacity .2s ease}.support-agent-copy small.is-typing{color:#8a97a5}
.support-close{width:32px;height:32px;margin-left:auto;border:0;border-radius:50%;background:#f4f7fa;color:#8190a0;font-size:20px;line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease}.support-close:hover{background:#eaf1f7;color:var(--heading)}
.support-chat-body{height:255px;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:17px 15px 19px;background:#f5f7fa;scrollbar-width:thin}
.support-bubble{max-width:82%;padding:10px 12px 8px;border-radius:4px 13px 13px 13px;background:#fff;color:#566575;font-size:10px;line-height:1.65;box-shadow:0 4px 15px rgba(7,27,46,.05);opacity:0;transform:translateY(6px);animation:supportMessageIn .36s ease forwards}
.support-bubble b{color:var(--heading);font-weight:700}
.support-bubble-time{display:block;margin-top:5px;color:#a8b1ba;font-size:7px;text-align:right}
@keyframes supportMessageIn{to{opacity:1;transform:none}}
.support-typing{width:max-content;display:flex;align-items:center;gap:4px;padding:12px 14px;border-radius:4px 13px 13px 13px;background:#fff;box-shadow:0 4px 15px rgba(7,27,46,.05)}
.support-typing i{width:5px;height:5px;border-radius:50%;background:#8f9caa;animation:supportTyping 1.15s infinite alternate}.support-typing i:nth-child(2){animation-delay:.18s}.support-typing i:nth-child(3){animation-delay:.36s}
@keyframes supportTyping{to{opacity:.3;transform:translateY(-2px)}}
.support-chat-footer{padding:13px 14px 14px;border-top:1px solid #edf1f5;background:#fff}
.support-service-btn{min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--primary);color:#fff;font-size:10px;font-weight:700;box-shadow:0 8px 22px rgba(48,128,227,.17);transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.support-service-btn:hover{background:#2676d4;color:#fff;transform:translateY(-1px);box-shadow:0 11px 27px rgba(48,128,227,.24)}

@media (max-width:900px){
  .blog-track .blog-card{flex-basis:calc((100% - 24px)/2)}
  .footer-main-clean{grid-template-columns:1.45fr 1fr 1fr;gap:42px;padding:76px 0 62px}.footer-about{grid-row:span 2}.footer-contact-col{grid-column:2/4}
}
@media (max-width:640px){
  .blog-track{gap:18px}.blog-track .blog-card{flex-basis:100%}.blog-carousel .slider-dots{margin-top:26px}
  .footer-main-clean{grid-template-columns:1fr 1fr;gap:38px 24px;padding:66px 0 52px}.footer-about{grid-column:1/-1;grid-row:auto}.footer-contact-col{grid-column:1/-1;max-width:320px}.footer-bottom{padding:20px 0;min-height:auto;flex-direction:column;align-items:flex-start;gap:6px}
  .support-widget{right:15px;bottom:15px}.support-launcher,.support-launcher-icon{width:56px;height:56px}.support-chat{width:calc(100vw - 30px)}
}
@media (max-width:420px){
  .footer-main-clean{grid-template-columns:1fr}.footer-about,.footer-contact-col{grid-column:auto}.footer-col h3{margin-bottom:16px}
}
@media (prefers-reduced-motion:reduce){
  .support-bubble,.support-typing i,.support-launcher-ring,.support-launcher::before{animation:none}.support-bubble{opacity:1;transform:none}
}


/* === ETAPA 18: FOOTER MAIS IMPONENTE + ICONES CORRIGIDOS === */
.footer-main-clean{
  grid-template-columns:minmax(240px,1.7fr) .85fr 1fr .95fr minmax(210px,1.25fr);
  gap:52px;
  padding:116px 0 94px;
}
.brand-footer{margin-bottom:24px}
.footer-about>p{max-width:330px;margin-bottom:30px;font-size:11.5px;line-height:1.95}
.footer-socials{gap:10px}
.footer-socials a{width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex:0 0 42px}
.footer-socials svg{display:block;width:18px;height:18px;overflow:visible}
.footer-socials svg *{vector-effect:non-scaling-stroke}
.footer-socials a:nth-child(2) svg path,
.footer-socials a:nth-child(3) svg rect,
.footer-socials a:nth-child(3) svg circle,
.footer-socials a:nth-child(3) svg path{fill:currentColor;stroke:none}
.footer-socials a:nth-child(4) svg path{fill:currentColor;stroke:none}
.footer-socials .svg-dot{fill:currentColor;stroke:none}
.footer-col h3{margin:7px 0 26px;font-size:12.5px}
.footer-col>a{margin:12px 0;font-size:11px}
.footer-contact-col>a,.footer-hours{min-height:45px;align-items:center;gap:12px;margin:0 0 18px!important}
.footer-mini-icon{width:36px;height:36px;flex:0 0 36px;display:flex;align-items:center;justify-content:center;border-radius:9px}
.footer-mini-icon svg{display:block;width:17px;height:17px;overflow:visible}
.footer-mini-icon svg *{vector-effect:non-scaling-stroke}
.footer-contact-col small{margin:0 0 3px;font-size:8px;line-height:1.2}
.footer-contact-col strong{font-size:10px;line-height:1.35}
.footer-bottom{min-height:92px;padding:20px 0;gap:28px}
.footer-bottom-copy{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.footer-bottom-copy p+p{position:relative;padding-left:18px}
.footer-bottom-copy p+p::before{content:'';position:absolute;left:0;top:50%;width:3px;height:3px;border-radius:50%;background:#536b82;transform:translateY(-50%)}
.footer-legal{display:flex;align-items:center;justify-content:flex-end;gap:22px;flex-wrap:wrap}
.footer-legal a{color:#71869b;font-size:9.5px;font-weight:500;transition:color .2s ease}
.footer-legal a:hover{color:#fff}

@media (max-width:1080px){
  .footer-main-clean{grid-template-columns:1.35fr repeat(3,1fr);gap:42px;padding:100px 0 78px}
  .footer-contact-col{grid-column:auto}
  .footer-about{grid-row:span 2}
}
@media (max-width:900px){
  .footer-main-clean{grid-template-columns:1.4fr 1fr 1fr;gap:44px 34px;padding:88px 0 72px}
  .footer-contact-col{grid-column:2/4}
  .footer-bottom{align-items:flex-start;flex-direction:column;gap:14px}
  .footer-legal{justify-content:flex-start}
}
@media (max-width:640px){
  .footer-main-clean{grid-template-columns:1fr 1fr;gap:42px 26px;padding:78px 0 62px}
  .footer-about{grid-column:1/-1}
  .footer-contact-col{grid-column:1/-1;max-width:340px}
  .footer-bottom{padding:24px 0;min-height:auto}
  .footer-bottom-copy{align-items:flex-start;flex-direction:column;gap:5px}
  .footer-bottom-copy p+p{padding-left:0}
  .footer-bottom-copy p+p::before{display:none}
  .footer-legal{gap:10px 18px}
}
@media (max-width:420px){
  .footer-main-clean{grid-template-columns:1fr;padding-top:72px}
  .footer-about,.footer-contact-col{grid-column:auto}
}


/* === ETAPA 22: refinamentos de infraestrutura, feedback, blog e suporte === */
.datacenter-content{max-width:820px;margin:34px auto 0;text-align:center}
.datacenter-content>p{max-width:760px;margin:0 auto;color:#7d8795;font-size:12.5px;line-height:1.8}
.datacenter-content h3{max-width:820px;margin:14px auto 24px;color:var(--heading);font-size:17px;line-height:1.6;font-weight:600;letter-spacing:-.15px}
.datacenter-content .btn{min-width:190px}

.testimonial-card{min-height:292px;padding:30px 28px 24px}
.testimonial-card>p{margin-bottom:16px;font-size:11.5px;line-height:1.88}
.testimonial-person{gap:10px;padding-top:12px}
.avatar-photo{width:44px;height:44px;flex-basis:44px;border-width:2px;box-shadow:0 6px 18px rgba(48,128,227,.12)}
.testimonial-person b{font-size:10px}
.testimonial-person span{margin-top:2px;font-size:8.2px}
.quote-mark{right:24px;top:18px;font-size:59px}

.blog-news{overflow:hidden}
.blog-viewport{overflow:hidden;margin:-18px -18px -28px;padding:18px 18px 28px}
.blog-card{border-radius:10px;box-shadow:0 10px 28px rgba(13,33,52,.045)}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(13,33,52,.11)}
.blog-card-body{padding:25px 26px 23px}
.blog-category{margin-bottom:10px}
.blog-card h3{margin-bottom:12px;font-size:16.5px;line-height:1.48}
.blog-card p{margin-bottom:18px;font-size:11px;line-height:1.8}
.blog-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;margin-top:auto;color:#98a3af;font-size:8.3px;line-height:1.4}
.blog-meta span{position:relative;display:inline-flex;align-items:center}
.blog-meta span+span::before{content:'';width:3px;height:3px;margin-right:10px;border-radius:50%;background:#c8d1db}
.blog-author strong{margin-left:3px;color:#697787;font-weight:700}
.blog-link{width:100%;justify-content:space-between;margin-top:15px;padding-top:15px;border-top:1px solid #edf1f5;font-size:10.5px}

.support-agent-avatar{background:#eef5fc;color:var(--primary);overflow:visible}
.support-agent-avatar svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.support-agent-avatar span{right:-1px;bottom:0}
.support-chat-body{padding-top:18px}

@media (max-width:640px){
  .datacenter-content{margin-top:22px}.datacenter-content h3{font-size:15px;margin-top:11px}.datacenter-content .btn{width:100%;min-width:0}
  .testimonial-card{min-height:270px;padding:26px 22px 22px}.avatar-photo{width:42px;height:42px;flex-basis:42px}
  .blog-viewport{margin:-14px -12px -24px;padding:14px 12px 24px}.blog-card-body{padding:23px 21px 21px}.blog-meta{gap:6px 10px}
}


/* === ETAPA 23: infraestrutura no padrão da referência === */
.datacenter-global{padding:96px 0 118px;background:#fff;overflow:hidden}
.datacenter-title{max-width:900px;margin:0 auto 48px}
.datacenter-title .section-tag{margin-bottom:18px}
.datacenter-title h2{max-width:760px;margin:0 auto;font-size:34px;line-height:1.32;letter-spacing:-.9px}
.datacenter-title p{display:none}
.world-network{width:min(100%,980px);margin:0 auto;aspect-ratio:1.9/1;color:#c9ddef}
.world-network::before{width:70%;height:62%;opacity:.55}
.world-dotted-land{opacity:.88}
.world-network-routes{opacity:.42}
.network-node{width:9px;height:9px}
.network-node>i{inset:1px;box-shadow:0 0 0 3px #fff,0 0 0 4px rgba(48,128,227,.06)}
.datacenter-content{max-width:800px;margin:42px auto 0;text-align:center}
.datacenter-content>p{max-width:760px;margin:0 auto;color:#7b8592;font-size:12.5px;line-height:1.75}
.datacenter-content h3{max-width:820px;margin:14px auto 26px;color:var(--heading);font-size:18px;line-height:1.55;font-weight:600;letter-spacing:-.2px}
.datacenter-content .btn{min-width:198px;border-radius:999px}
@media (max-width:900px){
  .datacenter-global{padding:82px 0 92px}
  .datacenter-title{margin-bottom:38px}
  .datacenter-title h2{font-size:31px}
  .world-network{width:108%;margin-left:-4%;aspect-ratio:1.85/1}
  .datacenter-content{margin-top:30px}
}
@media (max-width:640px){
  .datacenter-global{padding:70px 0 76px}
  .datacenter-title{margin-bottom:30px}
  .datacenter-title .section-tag{margin-bottom:12px}
  .datacenter-title h2{font-size:28px;line-height:1.3}
  .world-network{width:122%;margin-left:-11%;aspect-ratio:1.72/1}
  .world-network-routes{opacity:.28}
  .datacenter-content{margin-top:22px;padding:0 6px}
  .datacenter-content>p{font-size:11.5px;line-height:1.7}
  .datacenter-content h3{margin:11px auto 22px;font-size:14.5px;line-height:1.55}
  .datacenter-content .btn{width:auto;min-width:190px}
}

/* === ETAPA 24: feedbacks compactos + cards de blog refinados + WhatsApp corrigido === */
.testimonials .section-title.centered{margin-bottom:38px}
.testimonial-viewport{padding-top:2px;padding-bottom:5px}
.testimonial-track{align-items:stretch}
.testimonial-card{
  min-height:238px;
  padding:25px 25px 21px;
  border-radius:8px;
  box-shadow:0 8px 24px rgba(13,33,52,.035);
}
.testimonial-card:hover{transform:translateY(-4px);box-shadow:0 15px 34px rgba(13,33,52,.075)}
.testimonial-card>p{margin:0 0 14px;padding-right:8px;font-size:10.8px;line-height:1.78}
.testimonial-person{gap:9px;padding-top:11px}
.avatar-photo{width:38px;height:38px;flex:0 0 38px;border-width:1.5px;box-shadow:0 4px 12px rgba(48,128,227,.09)}
.testimonial-person b{font-size:9.4px;line-height:1.25}
.testimonial-person span{margin-top:2px;font-size:7.8px;line-height:1.3}
.quote-mark{right:20px;top:15px;font-size:50px}
.testimonials .slider-dots{margin-top:24px}

.blog-news .blog-title{margin-bottom:42px}
.blog-viewport{margin:-24px -22px -32px;padding:24px 22px 32px}
.blog-track{align-items:stretch}
.blog-card{
  overflow:hidden;
  border-radius:11px;
  border-color:#e7edf3;
  box-shadow:0 8px 26px rgba(13,33,52,.045);
}
.blog-card:hover{transform:translateY(-5px);border-color:#d7e4f2;box-shadow:0 20px 44px rgba(13,33,52,.105)}
.blog-image{aspect-ratio:1.72/1}
.blog-card-body{padding:23px 24px 21px}
.blog-category{width:max-content;margin-bottom:10px;color:var(--primary);font-size:9px;font-weight:750;letter-spacing:.045em;text-transform:uppercase}
.blog-card h3{margin-bottom:10px;font-size:15.5px;line-height:1.48;letter-spacing:-.2px}
.blog-card p{margin-bottom:17px;color:#748190;font-size:10.5px;line-height:1.72}
.blog-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 13px;margin-top:auto;color:#8e9aa7;font-size:8px;line-height:1.35}
.blog-meta-item{display:inline-flex!important;align-items:center;gap:5px;white-space:nowrap}
.blog-meta-item+ .blog-meta-item::before{display:none!important}
.blog-meta-item svg{width:12px;height:12px;flex:0 0 12px;fill:none;stroke:#91a0ae;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.blog-author strong{margin-left:2px;color:#657485;font-weight:700}
.blog-link{width:100%;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid #edf1f5;color:var(--heading);font-size:9.8px;font-weight:700}
.blog-link:hover{color:var(--primary)}
.blog-link span{color:var(--primary)}

.footer-mini-icon.footer-whatsapp svg{width:18px;height:18px;fill:currentColor;stroke:none!important}
.footer-mini-icon.footer-whatsapp svg path{fill:currentColor;stroke:none!important}

@media (max-width:900px){
  .testimonial-card{min-height:226px}
  .blog-card-body{padding:22px 22px 20px}
}
@media (max-width:640px){
  .testimonials .section-title.centered{margin-bottom:32px}
  .testimonial-card{min-height:0;padding:23px 21px 20px}
  .testimonial-card>p{font-size:10.6px;line-height:1.75}
  .avatar-photo{width:36px;height:36px;flex-basis:36px}
  .blog-viewport{margin:-18px -14px -26px;padding:18px 14px 26px}
  .blog-card-body{padding:21px 20px 19px}
  .blog-image{aspect-ratio:1.62/1}
  .blog-meta{gap:7px 11px}
}


/* === ETAPA 25: refinamentos feedback/blog/suporte e textos finais === */
/* Espaço de segurança dentro dos carrosséis para o hover/shadow respirar sem ser cortado. */
.testimonials{overflow:visible}
.testimonials-carousel,.blog-carousel{overflow:visible}
.testimonial-viewport{overflow:hidden;margin:-24px -26px -30px;padding:24px 26px 30px}
.blog-news{overflow:visible}
.blog-viewport{overflow:hidden;margin:-26px -26px -34px;padding:26px 26px 34px}

/* Feedback: conteúdo enxuto, identidade do cliente sempre no rodapé do card. */
.testimonial-card{min-height:232px;padding:25px 25px 20px}
.testimonial-card>p{margin-bottom:12px}
.testimonial-person{margin-top:auto;padding-top:12px}

/* Blog: seta imediatamente ao lado de Ler artigo. */
.blog-link{width:max-content!important;justify-content:flex-start!important;gap:6px!important}
.blog-link span{display:inline-block}

/* Avatar fotográfico no atendimento. */
.support-agent-avatar{overflow:visible;padding:0;background:#eef3f7}
.support-agent-avatar img{width:100%;height:100%;display:block;border-radius:50%;object-fit:cover;object-position:center}
.support-agent-avatar span{z-index:2}

.footer-bottom-copy p span{color:#93a7ba;font-weight:700}

@media (max-width:900px){
  .testimonial-viewport{margin:-20px -20px -28px;padding:20px 20px 28px}
  .blog-viewport{margin:-22px -20px -30px;padding:22px 20px 30px}
}
@media (max-width:640px){
  .testimonial-viewport{margin:-16px -12px -24px;padding:16px 12px 24px}
  .blog-viewport{margin:-18px -12px -26px;padding:18px 12px 26px}
  .testimonial-card{min-height:0}
}


/* === ETAPA 26: RESPONSIVIDADE FINAL + LINK BLOG === */
/* Evita estouro de grids/flex em larguras intermediárias. */
html,body{max-width:100%;}
main,section,.container,.hero-grid,.about-grid,.pricing-grid,.services-grid,.principle-list,.footer-main-clean{min-width:0}
.hero-grid>* ,.about-grid>* ,.pricing-grid>* ,.services-grid>* ,.principle-list>* ,.footer-main-clean>*{min-width:0}

/* Blog: Ler artigo e seta pretos; ambos azuis no hover/focus. */
.blog-link,.blog-link span{color:var(--heading)!important}
.blog-link:hover,.blog-link:hover span,.blog-link:focus-visible,.blog-link:focus-visible span{color:var(--primary)!important}
.blog-link:focus-visible{outline:2px solid rgba(48,128,227,.28);outline-offset:4px;border-radius:3px}

/* Carrosséis: área de segurança para hover e sombras. */
.testimonials-carousel,.blog-carousel{padding-inline:0}
.testimonial-viewport,.blog-viewport{overflow:hidden}
.testimonial-track,.blog-track{align-items:stretch}
.testimonial-card,.blog-card{height:auto}

/* Controles tocáveis e formulários fluidos. */
.domain-search input,.domain-search select,.domain-search button{max-width:100%}
.domain-field{min-width:0}
.domain-input{min-width:0}
.domain-input input{min-width:0;width:100%}
.billing-tabs{max-width:100%}

/* Suporte respeita área segura de aparelhos móveis. */
.support-widget{bottom:max(24px,env(safe-area-inset-bottom));right:max(24px,env(safe-area-inset-right))}

@media (max-width:1180px){
  :root{--container:1000px}
  .container{width:min(calc(100% - 48px),var(--container))}
  .hero-grid{gap:58px}
  .hero h1{font-size:46px}
  .dashboard-card{width:min(100%,510px)}
  .footer-main-clean{gap:38px}
}

@media (max-width:1024px){
  :root{--container:900px}
  .section{padding:96px 0}
  .hero{min-height:700px;padding-top:142px}
  .hero-grid{grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:42px}
  .hero h1{font-size:41px;letter-spacing:-1.5px}
  .hero-content>p{font-size:14.5px}
  .floating-speed{left:-2px}.floating-secure{right:-2px}
  .domain-box{padding-inline:32px}
  .principle-item{padding:30px 26px}
  .service-card{padding-inline:27px}
  .footer-main-clean{grid-template-columns:1.4fr repeat(3,1fr);gap:34px}
  .footer-contact-col{grid-column:2/5}
}

@media (max-width:900px){
  .container{width:min(calc(100% - 44px),780px)}
  .mobile-menu{max-height:calc(100dvh - var(--header-h));overflow-y:auto;overscroll-behavior:contain}
  .hero{padding:128px 0 158px}
  .hero-grid{grid-template-columns:1fr;gap:48px}
  .hero-content{max-width:660px;margin-inline:auto;text-align:left}
  .hero h1{font-size:43px}
  .hero-art{width:min(100%,620px);margin-inline:auto}
  .domain-box{padding:30px 26px 25px}
  .domain-heading{max-width:620px}
  .principle-list{grid-template-columns:1fr 1fr}
  .principle-item{min-height:0}
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-grid{gap:54px}
  .about-copy{max-width:660px}
  .about-visual{padding-right:0}
  .about-image-card{margin-inline:auto}
  .pricing-grid{max-width:600px}
  .testimonial-viewport{margin:-26px -22px -32px;padding:26px 22px 32px}
  .blog-viewport{margin:-28px -22px -36px;padding:28px 22px 36px}
  .cta-inner{gap:28px}
  .footer-main-clean{grid-template-columns:1.25fr 1fr 1fr;gap:38px 30px}
  .footer-about{grid-row:span 2}
  .footer-contact-col{grid-column:2/4}
}

@media (max-width:768px){
  .container{width:calc(100% - 36px)}
  .section{padding:82px 0}
  .section-title.centered{margin-bottom:42px}
  .section-title h2,.about-copy h2{font-size:32px;line-height:1.28}
  .section-title p,.about-copy>p{font-size:13.5px;line-height:1.75}
  .hero{padding-top:122px}
  .hero h1{font-size:38px}
  .hero-content>p{font-size:13.5px}
  .hero-price{margin-top:28px}
  .hero-buttons{margin-top:26px}
  .hero-art{min-height:350px}
  .domain-zone{margin-top:-74px}
  .domain-search{grid-template-columns:1fr 125px}
  .domain-extensions{gap:10px 18px}
  .principle-list{grid-template-columns:1fr;gap:16px}
  .principle-item{grid-template-columns:62px minmax(0,1fr);gap:20px;padding:26px 24px}
  .services-grid{grid-template-columns:1fr}
  .service-card{min-height:0}
  .about-cta .about-grid{gap:46px}
  .about-cta .about-copy h2{font-size:32px}
  .about-image-card{width:min(100%,590px)}
  .billing-tabs{margin-bottom:34px}
  .price-card{padding:30px 26px}
  .datacenter-global{overflow:clip}
  .datacenter-title h2{font-size:30px}
  .world-network{width:108%;margin-left:-4%}
  .testimonial-card{min-height:225px}
  .blog-card h3{font-size:15px}
  .cta-band{padding:62px 0}
  .cta-inner h2{font-size:28px}
  .footer-main-clean{grid-template-columns:1fr 1fr;gap:38px 28px;padding:82px 0 66px}
  .footer-about{grid-column:1/-1;grid-row:auto}
  .footer-contact-col{grid-column:1/-1;max-width:420px}
  .footer-bottom{align-items:flex-start;flex-direction:column;gap:14px}
  .footer-legal{justify-content:flex-start}
}

@media (max-width:640px){
  :root{--header-h:70px}
  .container{width:calc(100% - 30px)}
  .section{padding:70px 0}
  .site-header,.header-inner{height:var(--header-h)}
  .brand{gap:8px}.brand-symbol{width:32px;height:32px}.brand-text{font-size:19px}
  .menu-toggle{width:40px;height:40px;padding:8px}
  .hero{padding:108px 0 138px}
  .hero-grid{gap:38px}
  .hero h1{font-size:34px;line-height:1.18;letter-spacing:-1.1px}
  .hero-content>p{margin-top:20px;font-size:13px;line-height:1.72}
  .hero-price{margin-top:24px;font-size:11.5px}.hero-price strong{font-size:22px}
  .hero-buttons{gap:10px;margin-top:24px}.hero-buttons .btn{min-height:48px}
  .hero-art{min-height:285px;margin:0}
  .dashboard-card{width:100%;border-radius:8px}
  .dashboard-body{min-height:225px;grid-template-columns:42px 1fr}
  .dashboard-topbar{height:34px}
  .dash-side{padding:13px 7px;gap:14px}.dash-logo{width:25px;height:25px}
  .dash-main{padding:15px 12px 13px}.dash-head{margin-bottom:13px}.dash-head strong{font-size:11px}
  .dash-stats{gap:7px}.dash-stats>div{padding:9px 7px}.dash-stats strong{font-size:10px;margin-bottom:7px}
  .dash-chart{height:78px;margin-top:8px;padding:10px}
  .domain-zone{margin-top:-66px}
  .domain-box{padding:24px 17px 20px;border-radius:8px}
  .domain-heading h2{font-size:21px;line-height:1.4}
  .domain-search{grid-template-columns:1fr;gap:9px}
  .domain-field{width:100%;grid-template-columns:minmax(0,1fr) auto}
  .domain-input{padding-left:12px}.domain-input span{font-size:12px}.domain-input input{font-size:13px}
  .domain-search select{min-width:82px;padding-left:6px;padding-right:18px;font-size:11px}
  .domain-search .btn{width:100%;min-height:50px}
  .domain-extensions{justify-content:flex-start;gap:8px 14px;font-size:8.5px}
  .section-title.centered{margin-bottom:35px}
  .section-tag{font-size:10px}
  .section-title h2,.about-copy h2{font-size:28px;letter-spacing:-.55px}
  .section-title p,.about-copy>p{font-size:12px}
  .principle-item{grid-template-columns:54px minmax(0,1fr);gap:16px;padding:23px 20px}
  .line-icon{width:54px;height:54px}
  .principle-item h3{font-size:14px}.principle-item p{font-size:11.2px;line-height:1.7}
  .service-card{padding:30px 22px}.service-icon{width:62px;height:62px}.service-card h3{font-size:15px}
  .about-cta .about-copy h2{font-size:28px}
  .about-actions .btn{width:100%}
  .about-image-card{min-height:270px;padding-left:0}.browser-mock{width:100%}.about-badge{right:4px}
  .pricing-title{margin-bottom:30px}.billing-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}.billing-tabs button{width:100%}
  .pricing-grid{gap:16px}.price-card{padding:25px 21px}.plan-top{gap:13px}.plan-icon{width:44px;height:44px}
  .price strong{font-size:34px}.price-note{font-size:8.5px}.annual-total{gap:5px;flex-wrap:wrap}
  .datacenter-global{padding:70px 0 74px}.datacenter-title{margin-bottom:28px}.datacenter-title h2{font-size:27px}
  .world-network{width:112%;margin-left:-6%;aspect-ratio:1.68/1}.network-node{width:8px;height:8px}
  .datacenter-content{margin-top:18px;padding-inline:2px}.datacenter-content>p{font-size:11px}.datacenter-content h3{font-size:14px;margin-bottom:20px}.datacenter-content .btn{min-width:0;width:100%}
  .testimonials .section-title.centered,.blog-news .blog-title{margin-bottom:32px}
  .testimonial-viewport{margin:-20px -14px -28px;padding:20px 14px 28px}
  .testimonial-card{min-height:0;padding:22px 20px 19px}.testimonial-card>p{font-size:10.5px;line-height:1.72;padding-right:2px}.testimonial-person{padding-top:10px}.avatar-photo{width:36px;height:36px;flex-basis:36px}.quote-mark{font-size:44px}
  .blog-viewport{margin:-22px -14px -30px;padding:22px 14px 30px}.blog-track{gap:18px}.blog-card-body{padding:20px 19px 18px}.blog-image{aspect-ratio:1.6/1}.blog-category{font-size:8.5px}.blog-card h3{font-size:15px;line-height:1.45}.blog-card p{font-size:10px;line-height:1.68}.blog-meta{gap:6px 10px}.blog-meta-item{font-size:7.7px}.blog-meta-item svg{width:11px;height:11px;flex-basis:11px}.blog-link{font-size:9.5px}
  .slider-dots{margin-top:22px}
  .cta-band{padding:54px 0}.cta-inner{gap:24px}.cta-inner h2{font-size:25px}.cta-buttons{width:100%}.cta-buttons .btn{width:100%}
  .footer-main-clean{grid-template-columns:1fr 1fr;gap:34px 24px;padding:72px 0 56px}.footer-about{grid-column:1/-1}.footer-contact-col{grid-column:1/-1;max-width:none}.footer-col h3{margin-bottom:17px}.footer-col>a{font-size:10.5px}.footer-socials a{width:40px;height:40px;flex-basis:40px}.footer-bottom{padding:22px 0}.footer-legal{gap:10px 16px}
  .support-widget{right:max(15px,env(safe-area-inset-right));bottom:max(15px,env(safe-area-inset-bottom))}.support-launcher,.support-launcher-icon{width:54px;height:54px}.support-launcher-icon svg{width:22px;height:22px}.support-chat{width:min(350px,calc(100vw - 30px));max-height:calc(100dvh - 100px)}.support-chat-body{height:min(240px,38dvh)}
}

@media (max-width:520px){
  .footer-main-clean{grid-template-columns:1fr;gap:30px;padding-top:66px}
  .footer-about,.footer-contact-col{grid-column:auto}
  .footer-about>p{max-width:none}
  .footer-legal{display:grid;grid-template-columns:1fr;gap:8px}
  .footer-bottom-copy p{line-height:1.65}
}

@media (max-width:420px){
  .container{width:calc(100% - 26px)}
  .hero{padding-top:102px;padding-bottom:130px}
  .hero h1{font-size:31px}
  .hero-price{align-items:flex-end}
  .dashboard-body{grid-template-columns:38px 1fr}.dash-side span{width:17px}.dash-main{padding-inline:10px}.dash-stats>div:last-child{display:none}.dash-stats{grid-template-columns:1fr 1fr}.dash-chart{height:70px}
  .domain-box{padding-inline:14px}.domain-heading h2{font-size:19px}.domain-extensions{display:grid;grid-template-columns:1fr 1fr}.domain-extensions span+span::before{display:none}
  .section-title h2,.about-copy h2{font-size:26px}
  .principle-item{grid-template-columns:48px minmax(0,1fr);padding:21px 17px}.line-icon{width:48px;height:48px}.line-icon svg{width:22px;height:22px}
  .service-card{padding-inline:19px}
  .about-image-card{min-height:245px}.about-badge{width:116px;padding:11px}.about-badge strong{font-size:18px}
  .price-card{padding-inline:18px}.plan-top h3{font-size:15px}.plan-top p{font-size:8.5px}
  .world-network{width:116%;margin-left:-8%}
  .testimonial-viewport,.blog-viewport{margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px}
  .support-chat{width:calc(100vw - 22px)}
}

@media (max-width:360px){
  .container{width:calc(100% - 22px)}
  .brand-text{font-size:18px}
  .hero h1{font-size:29px}
  .hero-content>p{font-size:12.5px}
  .domain-field{grid-template-columns:minmax(0,1fr) 78px}.domain-search select{min-width:0;font-size:10px}
  .section-title h2,.about-copy h2{font-size:24px}
  .principle-item{grid-template-columns:1fr}.line-icon{margin-bottom:2px}
  .price strong{font-size:31px}
  .footer-socials{flex-wrap:wrap}
}

@media (hover:none){
  .blog-card:hover,.testimonial-card:hover,.service-card:hover,.principle-item:hover,.price-card:hover{transform:none}
}

/* === ETAPA 27: divisor completo no rodape dos cards do Blog === */
.blog-link{
  width:100%!important;
  justify-content:flex-start!important;
  gap:6px!important;
  border-top:1px solid #edf1f5;
}
.blog-link span{display:inline-block}

/* === ETAPA 28: contratação multi-step + /contato SPA === */
body.modal-open{overflow:hidden}
main[hidden]{display:none!important}
.header-cta{background:transparent;cursor:pointer;font-family:inherit}
.mobile-start-btn{border:0;cursor:pointer}

/* Busca de domínio: estados visuais da simulação. */
.domain-result.is-loading{color:#7d8795}
.domain-result.is-available{color:#257b56}
.domain-result.is-unavailable,.domain-result.is-error{color:#b34f4f}
.domain-result strong{color:var(--heading)}
.domain-result.is-available strong{color:#1c714b}
.domain-result.is-unavailable strong{color:#9d4141}

/* Blog: divisor novamente em toda a largura interna do card. */
.blog-card-footer{width:100%;margin-top:16px;padding-top:14px;border-top:1px solid #edf1f5}
.blog-link{display:inline-flex!important;width:max-content!important;margin:0!important;padding:0!important;border:0!important;align-items:center;justify-content:flex-start!important;gap:6px;color:var(--heading)!important}
.blog-link span{color:currentColor!important}
.blog-link:hover,.blog-link:focus-visible{color:var(--primary)!important}

/* Página dinâmica de contato */
.contact-page-main{min-height:0!important;padding:0!important;background:#fff}
.contact-hero{position:relative;min-height:440px;display:flex;align-items:center;padding:138px 0 92px;overflow:hidden;background:linear-gradient(132deg,#126fe0 0%,#3080e3 52%,#1a69c8 100%);color:#fff}
.contact-hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px);background-size:28px 28px;opacity:.2;mask-image:linear-gradient(to right,#000 0,transparent 80%)}
.contact-hero-shape{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.contact-hero-shape-a{width:470px;height:470px;right:-160px;top:-250px}
.contact-hero-shape-b{width:270px;height:270px;right:210px;bottom:-210px}
.contact-hero-inner{position:relative;z-index:2}
.contact-hero-copy{max-width:720px}
.contact-hero-copy>span{display:block;margin-bottom:14px;color:rgba(255,255,255,.72);font-size:11px;font-weight:700;letter-spacing:.1em}
.contact-hero-copy h1{max-width:690px;margin:0;color:#fff;font-size:46px;line-height:1.18;letter-spacing:-1.6px}
.contact-hero-copy p{max-width:650px;margin:22px 0 0;color:rgba(255,255,255,.78);font-size:14px;line-height:1.85}
.contact-content-section{padding:96px 0 110px;background:#fff}
.contact-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;align-items:start}
.contact-info-panel{padding:12px 0}
.contact-info-panel h2{max-width:460px;margin:0;color:var(--heading);font-size:33px;line-height:1.3;letter-spacing:-.8px}
.contact-info-panel>p{max-width:470px;margin:18px 0 0;color:#7d8795;font-size:12px;line-height:1.85}
.contact-info-list{display:grid;gap:8px;margin-top:35px}
.contact-info-item{min-height:76px;display:flex;align-items:center;gap:15px;padding:13px 14px;border:1px solid transparent;border-radius:8px;color:#718092;transition:border-color .22s ease,background .22s ease,transform .22s ease}
a.contact-info-item:hover{border-color:#e4ebf3;background:#fafcff;transform:translateX(3px)}
.contact-info-icon{width:46px;height:46px;display:grid;place-items:center;flex:0 0 46px;border-radius:50%;background:#eef6ff;color:var(--primary)}
.contact-info-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contact-info-item small{display:block;margin-bottom:2px;color:#9aa6b2;font-size:7.5px;font-weight:700;letter-spacing:.09em}
.contact-info-item strong{display:block;color:var(--heading);font-size:11.5px;font-style:normal}
.contact-info-item em{display:block;margin-top:2px;color:#9aa6b2;font-size:8.5px;font-style:normal}
.contact-form-card{padding:38px 38px 36px;border:1px solid #e6edf4;border-radius:12px;background:#fff;box-shadow:0 20px 55px rgba(8,24,40,.07)}
.contact-form-head>span{display:block;margin-bottom:8px;color:var(--primary);font-size:9px;font-weight:700;letter-spacing:.09em}
.contact-form-head h2{margin:0;color:var(--heading);font-size:27px;line-height:1.35;letter-spacing:-.55px}
.contact-form-head p{margin:10px 0 0;color:#8a96a3;font-size:10.5px;line-height:1.75}
.contact-form{margin-top:28px}
.form-grid{display:grid;gap:16px}
.form-grid.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-field{display:block}
.form-field>span{display:block;margin-bottom:7px;color:#536273;font-size:9px;font-weight:600}
.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #dfe7ef;border-radius:7px;background:#fff;color:var(--heading);outline:0;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.form-field input,.form-field select{height:49px;padding:0 14px}
.form-field textarea{min-height:138px;padding:13px 14px;resize:vertical;font-family:inherit}
.form-field input::placeholder,.form-field textarea::placeholder{color:#a7b0ba}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#8ebcf3;box-shadow:0 0 0 3px rgba(48,128,227,.08)}
.form-field .is-invalid,.form-field input.is-invalid,.form-field select.is-invalid,.form-field textarea.is-invalid{border-color:#d76b6b!important;box-shadow:0 0 0 3px rgba(215,107,107,.08)!important}
.contact-form>.form-field{margin-top:16px}
.contact-submit{min-width:180px;margin-top:20px}
.contact-submit.is-sent{background:var(--heading);color:#fff;box-shadow:0 8px 20px rgba(8,24,40,.18)}
.contact-submit:disabled{cursor:wait;opacity:.92;transform:none}

/* Modal de aquisição */
.acquisition-modal{position:fixed;z-index:2400;inset:0;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}
.acquisition-modal.is-open{opacity:1;visibility:visible}
.acquisition-backdrop{position:absolute;inset:0;background:rgba(3,15,28,.68);backdrop-filter:blur(5px)}
.acquisition-dialog{position:relative;z-index:1;width:min(860px,100%);max-height:calc(100dvh - 40px);overflow:auto;border:1px solid rgba(255,255,255,.18);border-radius:15px;background:#fff;box-shadow:0 35px 100px rgba(2,14,27,.32);transform:translateY(14px) scale(.985);transition:transform .28s ease;scrollbar-width:thin}
.acquisition-modal.is-open .acquisition-dialog{transform:none}
.acquisition-close{position:absolute;z-index:3;right:17px;top:17px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;background:#f2f6fa;color:#7d8b99;font-size:21px;line-height:1;cursor:pointer}
.acquisition-close:hover{background:#e9f0f7;color:var(--heading)}
.acquisition-head{padding:35px 42px 26px;border-bottom:1px solid #edf1f5}
.acquisition-kicker{display:block;margin-bottom:8px;color:var(--primary);font-size:9px;font-weight:800;letter-spacing:.11em}
.acquisition-head h2{margin:0;color:var(--heading);font-size:27px;line-height:1.3;letter-spacing:-.6px}
.acquisition-head p{margin:8px 0 0;color:#8995a2;font-size:10.5px}
.acquisition-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:22px}
.acquisition-progress span{height:3px;border-radius:10px;background:#e6edf4;transition:background .25s ease,transform .25s ease}
.acquisition-progress span.is-active{background:var(--primary)}
.acquisition-form{padding:30px 42px 34px}
.acquisition-step{display:none;animation:stepFade .28s ease}
.acquisition-step.is-active{display:block}
@keyframes stepFade{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.step-heading{margin-bottom:24px}
.step-heading small{display:block;margin-bottom:7px;color:#9aa6b2;font-size:8px;font-weight:700;letter-spacing:.08em}
.step-heading h3{margin:0;color:var(--heading);font-size:21px;line-height:1.35;letter-spacing:-.35px}
.step-heading p{margin:7px 0 0;color:#8b97a4;font-size:10px;line-height:1.65}
.choice-grid{display:grid;gap:14px}
.choice-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.choice-card{position:relative;min-height:144px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:23px;border:1px solid #e1e8ef;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease,background .22s ease}
.choice-card:hover{border-color:#b9d5f5;box-shadow:0 12px 32px rgba(17,54,91,.07);transform:translateY(-2px)}
.choice-card:has(input:checked){border-color:var(--primary);background:#f7fbff;box-shadow:0 0 0 3px rgba(48,128,227,.07)}
.choice-card.is-invalid{border-color:#d76b6b;animation:fieldShake .25s ease}
.choice-card input{position:absolute;opacity:0;pointer-events:none}
.choice-icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:15px;border-radius:8px;background:#eef6ff;color:var(--primary)}
.choice-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.choice-card strong{color:var(--heading);font-size:12px}
.choice-card small{margin-top:3px;color:#98a3af;font-size:8.5px}
.compact-choice{min-height:100px;padding:19px 20px}
.customer-fields .form-grid,.domain-modal-field .form-grid{gap:15px}
.domain-modal-field{margin-top:16px;padding:19px;border:1px solid #e8edf3;border-radius:9px;background:#fafcff}
.field-help{margin:9px 0 0;color:#97a3af;font-size:8.5px;line-height:1.6}
.modal-billing{width:max-content;display:flex;gap:4px;margin-bottom:18px;padding:4px;border-radius:7px;background:#eef3f8}
.modal-billing button{min-height:34px;padding:0 15px;border:0;border-radius:5px;background:transparent;color:#7c8997;font-size:9px;font-weight:700;cursor:pointer}
.modal-billing button.is-active{background:#fff;color:var(--primary);box-shadow:0 3px 12px rgba(8,24,40,.07)}
.modal-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.modal-plan-card{position:relative;min-height:180px;display:flex;flex-direction:column;padding:22px 18px 18px;border:1px solid #e2e9f0;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}
.modal-plan-card:hover{transform:translateY(-2px);border-color:#bfd7f2;box-shadow:0 12px 30px rgba(12,45,78,.07)}
.modal-plan-card:has(input:checked),.modal-plan-card.is-selected{border-color:var(--primary);box-shadow:0 0 0 3px rgba(48,128,227,.07)}
.modal-plan-card input{position:absolute;opacity:0;pointer-events:none}
.modal-plan-check{position:absolute;right:13px;top:13px;width:20px;height:20px;display:grid;place-items:center;border:1px solid #dce5ee;border-radius:50%;color:transparent;font-size:9px}
.modal-plan-card:has(input:checked) .modal-plan-check,.modal-plan-card.is-selected .modal-plan-check{border-color:var(--primary);background:var(--primary);color:#fff}
.modal-plan-popular{position:absolute;left:18px;top:17px;color:var(--primary);font-size:6.7px;font-weight:800;letter-spacing:.08em}
.modal-plan-popular~strong{margin-top:18px}
.modal-plan-card>strong{margin-top:14px;color:var(--heading);font-size:13px}
.modal-plan-card>small{margin-top:3px;color:#97a3af;font-size:8px}
.modal-plan-card>b{margin-top:auto;padding-top:18px;color:var(--heading);font-size:13px;font-weight:700}
.modal-plan-card>em{margin-top:2px;color:#98a4b0;font-size:7.5px;font-style:normal}
.acquisition-summary{overflow:hidden;border:1px solid #e4ebf2;border-radius:10px;background:#fbfcfe}
.acquisition-summary>div{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:13px 16px;border-bottom:1px solid #e9eef3}
.acquisition-summary>div:last-child{border-bottom:0}
.acquisition-summary span{color:#98a3ae;font-size:8.5px}
.acquisition-summary strong{color:var(--heading);font-size:10.5px;font-weight:650;word-break:break-word}
.acquisition-summary small{grid-column:2;display:block;margin-top:-12px;color:#97a2ae;font-size:7.5px}
.summary-consent{display:flex;align-items:flex-start;gap:9px;margin-top:17px;color:#788694;font-size:8.8px;line-height:1.6;cursor:pointer}
.summary-consent input{margin-top:3px;accent-color:var(--primary)}
.acquisition-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid #edf1f5}
.step-back{min-height:46px;padding:0 10px;border:0;background:transparent;color:#7e8b98;font-size:10px;font-weight:650;cursor:pointer}
.step-back:disabled{opacity:.3;cursor:default}
.step-next{min-width:170px}
.acquisition-success{padding:38px 10px 30px;text-align:center}
.success-check{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 18px;border-radius:50%;background:#e9f8f0;color:#26a966;font-size:25px;font-weight:700}
.acquisition-success h3{margin:0;color:var(--heading);font-size:23px}
.acquisition-success p{max-width:510px;margin:10px auto 22px;color:#8794a1;font-size:10.5px;line-height:1.75}
@keyframes fieldShake{0%,100%{transform:translateX(0)}35%{transform:translateX(-3px)}70%{transform:translateX(3px)}}

@media (max-width:900px){
  .contact-hero{min-height:390px;padding:125px 0 80px}.contact-hero-copy h1{font-size:40px}
  .contact-layout{grid-template-columns:1fr;gap:48px}.contact-info-panel{max-width:620px}.contact-info-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.contact-info-item{align-items:flex-start;min-height:150px;flex-direction:column;padding:17px}.contact-form-card{max-width:720px;width:100%}
  .acquisition-dialog{width:min(760px,100%)}.acquisition-head{padding-inline:34px}.acquisition-form{padding-inline:34px}.modal-plan-grid{grid-template-columns:1fr}.modal-plan-card{min-height:120px}.modal-plan-card>b{margin-top:16px}.modal-plan-popular~strong{margin-top:16px}
}

@media (max-width:640px){
  .contact-hero{min-height:350px;padding:112px 0 68px}.contact-hero-copy>span{font-size:9px}.contact-hero-copy h1{font-size:32px;letter-spacing:-.9px}.contact-hero-copy p{font-size:12px;line-height:1.75}.contact-content-section{padding:68px 0 78px}.contact-layout{gap:36px}.contact-info-panel h2{font-size:28px}.contact-info-panel>p{font-size:11px}.contact-info-list{grid-template-columns:1fr;gap:5px;margin-top:27px}.contact-info-item{min-height:0;flex-direction:row;align-items:center;padding:12px 5px}.contact-form-card{padding:28px 20px 25px;border-radius:10px}.contact-form-head h2{font-size:23px}.form-grid.two-cols{grid-template-columns:1fr}.form-grid{gap:13px}.contact-form{margin-top:23px}.form-field input,.form-field select{height:48px}.form-field textarea{min-height:125px}.contact-submit{width:100%}
  .acquisition-modal{align-items:end;padding:0}.acquisition-dialog{width:100%;max-height:94dvh;border-radius:17px 17px 0 0}.acquisition-head{padding:29px 22px 22px}.acquisition-head h2{padding-right:35px;font-size:23px}.acquisition-head p{padding-right:20px;font-size:9.5px}.acquisition-close{right:14px;top:14px}.acquisition-form{padding:24px 20px calc(24px + env(safe-area-inset-bottom))}.step-heading{margin-bottom:19px}.step-heading h3{font-size:19px}.choice-grid-two{grid-template-columns:1fr}.choice-card{min-height:105px;padding:18px}.choice-icon{width:37px;height:37px;margin-bottom:11px}.compact-choice{min-height:84px}.domain-modal-field{padding:15px}.modal-billing{width:100%;display:grid;grid-template-columns:1fr 1fr}.modal-billing button{width:100%}.modal-plan-grid{gap:9px}.modal-plan-card{min-height:105px;padding:18px 16px 15px}.acquisition-summary>div{grid-template-columns:105px 1fr;gap:10px;padding:12px}.acquisition-actions{position:sticky;bottom:0;z-index:2;margin:24px -20px -24px;padding:13px 20px calc(13px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -10px 28px rgba(8,24,40,.06)}.step-next{min-width:150px}.acquisition-success{padding:28px 0}.acquisition-success h3{font-size:21px}
}

@media (max-width:420px){
  .contact-hero-copy h1{font-size:29px}.contact-info-panel h2{font-size:26px}.contact-form-card{padding-inline:17px}
  .acquisition-head{padding-inline:18px}.acquisition-form{padding-inline:17px}.acquisition-actions{margin-left:-17px;margin-right:-17px;padding-left:17px;padding-right:17px}.step-next{min-width:135px;padding-inline:18px}.acquisition-summary>div{grid-template-columns:86px 1fr}.acquisition-summary small{grid-column:2}.choice-card strong{font-size:11.5px}
}

@media (prefers-reduced-motion:reduce){
  .acquisition-step,.acquisition-dialog{animation:none;transition:none}.choice-card:hover,.modal-plan-card:hover{transform:none}
}

/* === ETAPA 30: checkout refinado + contato dinâmico + busca de domínio === */

/* Busca de domínio com resultados em lista */
.domain-result.domain-results-panel{max-width:980px;margin:18px auto 0;padding:0;border:1px solid #e3eaf2;border-radius:10px;background:#fff;color:var(--text);text-align:left;overflow:hidden;box-shadow:0 14px 34px rgba(8,24,40,.06)}
.domain-result.is-loading{max-width:980px;padding:14px 16px;border:1px solid #e5ebf2;background:#fff;text-align:left}
.domain-searching{display:flex;align-items:center;gap:9px;color:#7f8b98;font-size:10px}
.domain-searching i{width:13px;height:13px;border:2px solid #dce6f0;border-top-color:var(--primary);border-radius:50%;animation:domainSpin .75s linear infinite}
@keyframes domainSpin{to{transform:rotate(360deg)}}
.domain-results-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;border-bottom:1px solid #e9eef4;background:#fbfcfe}
.domain-results-head small{display:block;margin-bottom:3px;color:#9aa6b2;font-size:7px;font-weight:800;letter-spacing:.1em}
.domain-results-head strong{display:block;color:var(--heading)!important;font-size:14px}
.domain-results-head>span{color:#7e8b98;font-size:9px;font-weight:600}
.domain-option-list{display:grid}
.domain-option-row{display:grid;grid-template-columns:minmax(0,1fr) 130px 112px;align-items:center;gap:18px;min-height:72px;padding:13px 20px;border-bottom:1px solid #edf1f5;transition:background .2s ease}
.domain-option-row:last-child{border-bottom:0}.domain-option-row:hover{background:#fbfdff}
.domain-option-name strong{display:block;color:var(--heading)!important;font-size:11px}.domain-option-name span{display:block;margin-top:3px;font-size:8px;font-weight:650}
.domain-option-row.is-available .domain-option-name span{color:#27a56c}.domain-option-row.is-unavailable .domain-option-name span{color:#a1aab4}
.domain-option-price{text-align:right}.domain-option-price small{display:block;color:#a0aab4;font-size:7px}.domain-option-price b{display:block;margin-top:2px;color:var(--heading);font-size:11px}
.domain-register-btn{min-height:37px;padding:0 14px;border:1px solid var(--primary);border-radius:6px;background:#fff;color:var(--primary);font-size:8.5px;font-weight:750;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}
.domain-register-btn:hover,.domain-register-btn.is-selected{background:var(--primary);color:#fff}.domain-register-btn:disabled{border-color:#e2e7ec;background:#f7f9fb;color:#a5afb9;cursor:not-allowed}

/* Página de contato: hero com painel à direita e conteúdo sobreposto */
.contact-hero{min-height:570px;padding:138px 0 105px;overflow:visible}
.contact-hero::after{content:'';position:absolute;inset:auto 0 -1px;height:64px;background:linear-gradient(to top,rgba(10,68,140,.16),transparent);pointer-events:none}
.contact-hero-inner{width:100%}
.contact-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);align-items:center;gap:70px}
.contact-hero-copy{max-width:600px;padding-bottom:34px}
.contact-hero-copy h1{font-size:48px;max-width:590px}
.contact-hero-art{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center;transform:translateY(42px)}
.contact-hero-art .dashboard-card{width:min(100%,535px);transform:perspective(1200px) rotateY(-3deg) rotateX(1deg);box-shadow:0 34px 78px rgba(4,29,57,.28)}
.contact-hero-art .floating-speed{left:-10px;top:55%}.contact-hero-art .floating-secure{right:-8px;bottom:8%}
.contact-content-section{position:relative;z-index:4;margin-top:-54px;padding:102px 0 112px;border-radius:34px 34px 0 0;background:#fff;box-shadow:0 -10px 30px rgba(8,24,40,.035)}
.contact-layout{grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr);gap:76px}
.contact-info-panel{padding:8px 0 20px}.contact-info-panel>p{max-width:500px}
.contact-info-list{margin-top:30px}
.contact-info-item{border-radius:10px}.contact-info-icon{border-radius:9px}
.contact-social-block{margin-top:34px;padding-top:27px;border-top:1px solid #edf1f5}
.contact-social-block>span{display:block;margin-bottom:12px;color:#99a5b1;font-size:7.5px;font-weight:800;letter-spacing:.11em}
.contact-socials{display:flex;align-items:center;gap:9px}
.contact-socials a{width:39px;height:39px;display:grid;place-items:center;border:1px solid #e2e9f0;border-radius:8px;background:#fff;color:#607082;transition:border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.contact-socials a:hover{border-color:#c9dcf3;color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 20px rgba(12,45,78,.07)}
.contact-socials svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.contact-socials a:nth-child(2) svg,.contact-socials a:nth-child(3) svg{fill:currentColor;stroke:none}
.contact-extra-copy{margin-top:56px;padding-top:42px;border-top:1px solid #edf1f5;max-width:490px}.contact-extra-copy h3{margin:10px 0 0;color:var(--heading);font-size:22px;line-height:1.4;letter-spacing:-.4px}.contact-extra-copy p{margin:11px 0 0;color:#8995a2;font-size:10.5px;line-height:1.85}
.contact-form-card{position:sticky;top:105px;padding:40px;border-radius:14px;box-shadow:0 24px 65px rgba(8,24,40,.09)}
.contact-form-head h2{font-size:29px}.contact-form-head p{max-width:440px}
.contact-cta-band{margin-top:0}

/* Modal / checkout */
.acquisition-dialog{width:min(900px,100%);border-radius:16px}
.acquisition-head{padding:34px 42px 25px}.acquisition-head[hidden]{display:none!important}
.acquisition-head h2{font-size:27px}.acquisition-head p{font-size:10px}
.acquisition-form{padding:29px 42px 35px}
.step-heading{margin-bottom:22px}.step-heading h3{font-size:22px}.step-heading p{font-size:9.5px}
.choice-card{min-height:132px;border-radius:11px}.choice-card:has(input:checked){background:#fbfdff}

.modal-billing-wrap{margin-bottom:23px}
.modal-billing-label{display:block;margin-bottom:8px;color:#9aa6b2;font-size:7px;font-weight:800;letter-spacing:.1em}
.modal-billing{width:100%;display:flex;gap:28px;margin:0;padding:0;border:0;border-bottom:1px solid #e7edf3;border-radius:0;background:transparent}
.modal-billing button{position:relative;min-height:50px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0 2px 10px;border:0;border-radius:0;background:transparent;color:#8a96a3;box-shadow:none;text-align:left;cursor:pointer}
.modal-billing button::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:transparent;transition:background .2s ease}
.modal-billing button strong{color:#657484;font-size:10px;font-weight:700}.modal-billing button small{margin-top:2px;color:#a1abb5;font-size:7.5px}
.modal-billing button.is-active{background:transparent;color:var(--primary);box-shadow:none}.modal-billing button.is-active::after{background:var(--primary)}.modal-billing button.is-active strong{color:var(--primary)}

.modal-plan-grid{gap:13px}
.modal-plan-card{min-height:278px;padding:20px 19px 18px;border-radius:12px;overflow:hidden}
.modal-plan-card::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:transparent;transform:scaleX(0);transform-origin:left;transition:transform .25s ease,background .25s ease}
.modal-plan-card:hover::before,.modal-plan-card:has(input:checked)::before,.modal-plan-card.is-selected::before{background:var(--primary);transform:scaleX(1)}
.modal-plan-card:has(input:checked),.modal-plan-card.is-selected{background:#fbfdff;box-shadow:0 0 0 2px rgba(48,128,227,.08),0 15px 34px rgba(12,45,78,.07)}
.modal-plan-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.modal-plan-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:9px;background:#eef6ff;color:var(--primary)}
.modal-plan-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.modal-plan-check{position:static;width:24px;height:24px;display:grid;place-items:center;border:1px solid #dce5ee;border-radius:50%;background:#fff;color:transparent}
.modal-plan-check svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.modal-plan-card:has(input:checked) .modal-plan-check,.modal-plan-card.is-selected .modal-plan-check{border-color:var(--primary);background:var(--primary);color:#fff}
.modal-plan-popular{left:auto;right:17px;top:18px;padding:4px 7px;border-radius:20px;background:#eaf4ff;color:var(--primary);font-size:6.2px}.modal-plan-popular+.modal-plan-head{padding-top:17px}
.modal-plan-copy{margin-top:17px}.modal-plan-copy strong{display:block;color:var(--heading);font-size:14px}.modal-plan-copy small{display:block;margin-top:3px;color:#96a1ad;font-size:8px}
.modal-plan-card ul{display:grid;gap:6px;margin:16px 0 0;padding:14px 0 0;border-top:1px solid #edf1f5;list-style:none}.modal-plan-card li{position:relative;padding-left:13px;color:#7c8997;font-size:8px}.modal-plan-card li::before{content:'✓';position:absolute;left:0;top:0;color:var(--primary);font-weight:800}
.modal-plan-price{margin-top:auto;padding-top:16px}.modal-plan-price b{display:block;color:var(--heading);font-size:13px}.modal-plan-price em{display:block;margin-top:3px;color:#98a4b0;font-size:7.5px;font-style:normal}

.summary-consent{position:relative;display:grid;grid-template-columns:25px 1fr;align-items:center;gap:10px;margin-top:18px;padding:13px 14px;border:1px solid #e4ebf2;border-radius:9px;background:#fff;color:#758392;cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}
.summary-consent input{position:absolute;opacity:0;pointer-events:none}
.summary-consent-check{width:23px;height:23px;display:grid;place-items:center;border:1px solid #d5e0ea;border-radius:6px;background:#fff;color:transparent;transition:all .2s ease}.summary-consent-check svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.summary-consent-text{font-size:9px;font-weight:600}.summary-consent:has(input:checked){border-color:#c9def6;background:#f9fcff}.summary-consent:has(input:checked) .summary-consent-check{border-color:var(--primary);background:var(--primary);color:#fff}.summary-consent.is-invalid{border-color:#d66b6b;box-shadow:0 0 0 3px rgba(214,107,107,.08)}

.acquisition-modal.is-success .acquisition-dialog{width:min(510px,calc(100% - 30px));overflow:hidden}
.acquisition-modal.is-success .acquisition-form{padding:0}
.acquisition-success{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:52px 34px;text-align:center}
.acquisition-success[hidden]{display:none!important}
.acquisition-success .success-check{margin:0 auto 17px}.acquisition-success h3{max-width:360px;font-size:23px;line-height:1.35}

@media (max-width:1080px){
  .contact-hero-grid{grid-template-columns:.9fr 1.1fr;gap:35px}.contact-hero-art .dashboard-card{width:470px}.contact-layout{gap:48px;grid-template-columns:.9fr 1.1fr}.contact-form-card{top:92px}
}

@media (max-width:900px){
  .domain-option-row{grid-template-columns:minmax(0,1fr) 110px 102px;padding-inline:16px}
  .contact-hero{min-height:auto;padding:125px 0 115px;overflow:hidden}.contact-hero-grid{grid-template-columns:1fr;gap:34px}.contact-hero-copy{max-width:650px;padding-bottom:0}.contact-hero-art{width:min(100%,650px);min-height:360px;margin-inline:auto;transform:translateY(35px)}.contact-hero-art .dashboard-card{width:min(100%,540px)}
  .contact-content-section{margin-top:-36px;border-radius:28px 28px 0 0;padding-top:82px}.contact-layout{grid-template-columns:1fr;gap:44px}.contact-info-panel{max-width:680px}.contact-info-list{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-social-block{margin-top:28px}.contact-extra-copy{margin-top:38px;padding-top:34px}.contact-form-card{position:relative;top:auto;max-width:760px}
  .modal-plan-grid{grid-template-columns:1fr}.modal-plan-card{min-height:170px;display:grid;grid-template-columns:62px minmax(0,1fr) 190px;grid-template-rows:auto auto;align-items:center;column-gap:15px}.modal-plan-head{grid-row:1/3}.modal-plan-copy{margin-top:0}.modal-plan-card ul{margin:8px 0 0;padding:0;border:0;grid-column:2}.modal-plan-price{grid-column:3;grid-row:1/3;margin:0;padding:0;text-align:right}.modal-plan-popular{right:14px;top:12px}.modal-plan-popular+.modal-plan-head{padding-top:0}
}

@media (max-width:640px){
  .domain-result.domain-results-panel{border-radius:8px}.domain-results-head{align-items:flex-start;flex-direction:column;gap:6px;padding:15px}.domain-option-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:13px 15px}.domain-option-price{grid-column:1;text-align:left}.domain-register-btn{grid-column:2;grid-row:1/3;min-width:92px}.domain-results-head>span{font-size:8px}
  .contact-hero{padding:112px 0 100px}.contact-hero-copy h1{font-size:33px}.contact-hero-copy p{font-size:12px}.contact-hero-art{min-height:270px;transform:translateY(28px);margin:0}.contact-hero-art .dashboard-card{width:100%;transform:none}.contact-hero-art .floating-card{display:none}.contact-hero-art .hero-dots{display:none}.contact-content-section{margin-top:-25px;padding:68px 0 76px;border-radius:22px 22px 0 0}.contact-layout{gap:34px}.contact-info-list{grid-template-columns:1fr}.contact-social-block{padding-top:22px}.contact-extra-copy{margin-top:34px;padding-top:28px}.contact-extra-copy h3{font-size:20px}.contact-form-card{padding:28px 20px 26px}.contact-form-head h2{font-size:24px}.contact-cta-band .cta-buttons button{width:100%}
  .acquisition-dialog{border-radius:17px 17px 0 0}.modal-billing{gap:20px}.modal-billing button{min-width:0;flex:1}.modal-billing button strong{font-size:9.5px}.modal-billing button small{font-size:7px}
  .modal-plan-card{min-height:0;display:flex;padding:17px}.modal-plan-head{width:100%}.modal-plan-copy{margin-top:14px}.modal-plan-card ul{width:100%;margin:13px 0 0;padding-top:12px;border-top:1px solid #edf1f5}.modal-plan-price{width:100%;margin-top:0;padding-top:14px;text-align:left}.modal-plan-popular{right:15px;top:14px}.modal-plan-popular+.modal-plan-head{padding-top:16px}
  .summary-consent{padding:12px}.summary-consent-text{font-size:8.5px}.acquisition-modal.is-success{align-items:center;padding:15px}.acquisition-modal.is-success .acquisition-dialog{border-radius:14px}.acquisition-success{min-height:270px;padding:45px 25px}.acquisition-success h3{font-size:21px}
}

@media (max-width:420px){
  .domain-option-row{grid-template-columns:minmax(0,1fr);padding:13px}.domain-option-price{grid-column:1}.domain-register-btn{grid-column:1;grid-row:auto;width:100%}
  .contact-hero-copy h1{font-size:29px}.contact-hero-art{min-height:235px}.contact-content-section{border-radius:18px 18px 0 0}.contact-socials a{width:37px;height:37px}
}

@media (prefers-reduced-motion:reduce){.domain-searching i{animation:none}}

/* === ETAPA 31: refinamentos de infraestrutura, contato, campos e domínio === */

/* Infraestrutura: botão volta ao padrão quadrado/arredondado do tema. */
#infraestrutura .datacenter-content .btn{
  min-width:198px;
  border-radius:6px;
}

/* Campos sempre brancos: sem preenchimento azul ao focar, selecionar ou usar autofill. */
.form-field input,.form-field select,.form-field textarea,
.domain-modal-field,.domain-modal-field .form-field input{
  background-color:#fff!important;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{
  background:#fff!important;
}
.form-field input:-webkit-autofill,.form-field input:-webkit-autofill:hover,.form-field input:-webkit-autofill:focus,
.form-field textarea:-webkit-autofill,.form-field textarea:-webkit-autofill:hover,.form-field textarea:-webkit-autofill:focus,
.form-field select:-webkit-autofill,.form-field select:-webkit-autofill:hover,.form-field select:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--heading)!important;
  -webkit-box-shadow:0 0 0 1000px #fff inset!important;
  box-shadow:0 0 0 1000px #fff inset!important;
  caret-color:var(--heading);
}
.choice-card:has(input:checked),
.modal-plan-card:has(input:checked),.modal-plan-card.is-selected,
.summary-consent:has(input:checked){
  background:#fff!important;
}

/* Busca de domínio: resultados alinhados exatamente à largura da busca. */
.domain-result.domain-results-panel,.domain-result.is-loading{
  width:100%;
  max-width:865px;
  margin:10px auto 0;
  border-color:#e3e9f0;
  border-radius:8px;
  box-shadow:0 12px 30px rgba(8,24,40,.055);
}
.domain-result.domain-results-panel{overflow:hidden}
.domain-results-head{
  padding:13px 16px;
  background:#fff;
}
.domain-results-head small{margin-bottom:1px}
.domain-results-head strong{font-size:12px}
.domain-results-head>span{font-size:8px}
.domain-option-row{
  min-height:61px;
  grid-template-columns:minmax(0,1fr) 112px 100px;
  gap:14px;
  padding:10px 16px;
}
.domain-option-row:hover{background:#fcfdff}
.domain-option-name strong{font-size:10.5px}
.domain-option-name span{margin-top:1px;font-size:7.5px}
.domain-option-price b{font-size:10px}
.domain-register-btn{min-height:34px;border-radius:5px}

/* Contato: hero de largura correta, um único título e mockup de formulário à direita. */
.contact-hero{
  min-height:510px;
  padding:132px 0 84px;
  overflow:hidden;
}
.contact-hero-inner{
  width:min(calc(100% - 40px),var(--container))!important;
  margin-inline:auto;
}
.contact-hero-grid{
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:88px;
  align-items:center;
}
.contact-hero-copy{
  max-width:none;
  padding:0;
}
.contact-hero-copy h1{
  max-width:none;
  margin:0;
  color:#fff;
  font-size:58px;
  line-height:1.05;
  letter-spacing:-2px;
}
.contact-hero-art{
  min-width:0;
  min-height:330px;
  transform:none;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.contact-visual-card{
  position:relative;
  z-index:2;
  width:min(100%,540px);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.38);
  border-radius:12px;
  background:#fff;
  box-shadow:0 32px 72px rgba(4,29,57,.28);
  transform:perspective(1200px) rotateY(-3deg) rotateX(1deg);
}
.contact-visual-topbar{
  position:relative;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 15px;
  border-bottom:1px solid #e9eef4;
  background:#f7f9fc;
  color:#98a3b0;
  font-size:8.5px;
  font-weight:600;
}
.contact-visual-topbar .window-dots{position:absolute;left:14px}
.contact-visual-body{padding:23px;background:#fbfcfe}
.contact-visual-heading{display:flex;align-items:center;gap:12px;margin-bottom:17px}
.contact-visual-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:9px;background:#eaf4ff;color:var(--primary)}
.contact-visual-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contact-visual-heading small{display:block;color:#a0aab5;font-size:7px;font-weight:800;letter-spacing:.08em}
.contact-visual-heading strong{display:block;margin-top:2px;color:var(--heading);font-size:13px}
.contact-visual-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.contact-visual-fields>div{min-height:54px;padding:9px 11px;border:1px solid #e5ebf2;border-radius:7px;background:#fff}
.contact-visual-fields .is-message{grid-column:1/-1;min-height:82px}
.contact-visual-fields small{display:block;color:#98a3ae;font-size:6.8px;font-weight:650}
.contact-visual-fields span{display:block;margin-top:4px;color:#b0b8c1;font-size:8px}
.contact-visual-submit{width:max-content;min-height:37px;display:flex;align-items:center;gap:8px;margin:13px 0 0 auto;padding:0 14px;border-radius:5px;background:var(--primary);color:#fff;font-size:8px;font-weight:700;box-shadow:0 8px 18px rgba(48,128,227,.18)}
.contact-visual-submit svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-visual-float{position:absolute;z-index:4;left:2px;bottom:20px;display:flex;align-items:center;gap:9px;padding:10px 13px;border-radius:7px;background:#fff;color:var(--heading);box-shadow:0 13px 30px rgba(4,29,57,.18);animation:heroFloatSpeed 5.8s cubic-bezier(.45,.05,.55,.95) infinite}
.contact-visual-float>span{width:9px;height:9px;border-radius:50%;background:#2bb673;box-shadow:0 0 0 5px rgba(43,182,115,.11)}
.contact-visual-float small{display:block;color:#9ba6b1;font-size:6.5px}.contact-visual-float strong{display:block;margin-top:1px;color:var(--heading);font-size:9px}

/* Conteúdo de contato sem sobreposição/caixa arredondada que alterava a largura visual do hero. */
.contact-content-section{
  margin-top:0!important;
  padding:96px 0 112px;
  border-radius:0!important;
  box-shadow:none!important;
  background:#fff;
}
.contact-layout{
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:76px;
  align-items:start;
}
.contact-form-card{position:sticky;top:105px}

/* Confirmação do formulário no mesmo padrão do checkout. */
.contact-consent{
  position:relative;
  display:grid;
  grid-template-columns:24px 1fr;
  align-items:center;
  gap:10px;
  margin-top:17px;
  padding:12px 13px;
  border:1px solid #e2e9f0;
  border-radius:8px;
  background:#fff;
  color:#758392;
  cursor:pointer;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.contact-consent input{position:absolute;opacity:0;pointer-events:none}
.contact-consent-check{width:23px;height:23px;display:grid;place-items:center;border:1px solid #d5e0ea;border-radius:6px;background:#fff;color:transparent;transition:border-color .2s ease,background .2s ease,color .2s ease}
.contact-consent-check svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.contact-consent-text{font-size:8.8px;font-weight:600}
.contact-consent:has(input:checked){border-color:#c9def6;background:#fff}
.contact-consent:has(input:checked) .contact-consent-check{border-color:var(--primary);background:var(--primary);color:#fff}
.contact-consent.is-invalid{border-color:#d66b6b;box-shadow:0 0 0 3px rgba(214,107,107,.08)}
.contact-submit{gap:10px}
.contact-submit-icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.contact-submit:hover .contact-submit-icon{transform:translateX(2px)}

@media (max-width:1080px){
  .contact-hero-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px}
  .contact-hero-copy h1{font-size:49px}
  .contact-visual-card{width:min(100%,500px)}
  .contact-layout{gap:48px;grid-template-columns:.9fr 1.1fr}
}

@media (max-width:900px){
  .contact-hero{min-height:auto;padding:126px 0 82px}
  .contact-hero-inner{width:min(calc(100% - 44px),760px)!important}
  .contact-hero-grid{grid-template-columns:1fr;gap:38px}
  .contact-hero-copy{text-align:center}
  .contact-hero-copy h1{font-size:46px}
  .contact-hero-art{width:min(100%,620px);min-height:310px;margin-inline:auto;justify-content:center}
  .contact-visual-card{width:min(100%,540px);transform:none}
  .contact-visual-float{left:8px;bottom:5px}
  .contact-content-section{padding-top:82px}
  .contact-layout{grid-template-columns:1fr;gap:44px}
  .contact-form-card{position:relative;top:auto;max-width:760px}
  .domain-option-row{grid-template-columns:minmax(0,1fr) 105px 94px}
}

@media (max-width:640px){
  #infraestrutura .datacenter-content .btn{width:100%;min-width:0;border-radius:6px}
  .domain-result.domain-results-panel,.domain-result.is-loading{max-width:100%;margin-top:9px}
  .domain-results-head{padding:12px 13px}
  .domain-option-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:11px 13px}
  .domain-option-price{grid-column:1;text-align:left}
  .domain-register-btn{grid-column:2;grid-row:1/3;min-width:88px}
  .contact-hero{padding:112px 0 72px}
  .contact-hero-inner{width:calc(100% - 30px)!important}
  .contact-hero-grid{gap:28px}
  .contact-hero-copy h1{font-size:36px;letter-spacing:-1.1px}
  .contact-hero-art{min-height:260px}
  .contact-visual-body{padding:17px}
  .contact-visual-fields{grid-template-columns:1fr}
  .contact-visual-fields .is-message{grid-column:auto;min-height:66px}
  .contact-visual-heading{margin-bottom:13px}
  .contact-visual-float{display:none}
  .contact-content-section{padding:68px 0 76px}
  .contact-form-card{padding:28px 20px 26px}
  .contact-submit{width:100%}
}

@media (max-width:420px){
  .domain-option-row{grid-template-columns:1fr}
  .domain-option-price{grid-column:1}
  .domain-register-btn{grid-column:1;grid-row:auto;width:100%}
  .contact-hero-copy h1{font-size:32px}
  .contact-hero-art{min-height:235px}
  .contact-visual-topbar{min-height:37px}
  .contact-visual-body{padding:14px}
  .contact-visual-icon{width:37px;height:37px;flex-basis:37px}
}

/* === ETAPA 32: fluxo final + contato + footer + status online === */
/* Redes sociais do footer no padrão quadrado com cantos arredondados. */
.footer-socials a{
  border-radius:9px;
}

/* Status online do atendente: maior e pulsando de forma discreta. */
.support-agent-avatar span{
  right:-1px;
  bottom:1px;
  width:12px;
  height:12px;
  border:2px solid #fff;
  background:#34d37e;
  box-shadow:0 0 0 0 rgba(52,211,126,.38);
  animation:supportOnlinePulse 1.85s ease-out infinite;
}
@keyframes supportOnlinePulse{
  0%{box-shadow:0 0 0 0 rgba(52,211,126,.42);transform:scale(.96)}
  55%{box-shadow:0 0 0 6px rgba(52,211,126,0);transform:scale(1.05)}
  100%{box-shadow:0 0 0 0 rgba(52,211,126,0);transform:scale(.96)}
}

/* Tela final do checkout: somente a confirmação. */
.acquisition-success h3{
  max-width:390px;
  margin:0;
  color:var(--heading);
  font-size:23px;
  line-height:1.5;
}
.acquisition-success h3 span{
  display:inline-block;
  margin-top:5px;
  color:#7f8c99;
  font-size:11px;
  font-weight:500;
  letter-spacing:0;
}

/* Bloco removido no HTML; evita qualquer resíduo de versões em cache. */
.contact-extra-copy{display:none!important}

@media (prefers-reduced-motion:reduce){
  .support-agent-avatar span{animation:none}
}

/* === ETAPA 33: CTA encostado ao footer + hero de contato com atendimento === */
/* A Home virtual não pode herdar o padding usado nas páginas genéricas do WordPress. */
.home-main{
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
.home-main>.cta-band:last-child{
  margin-bottom:0!important;
}
.home-main+.site-footer,
.site-footer{
  margin-top:0!important;
}

/* Hero de contato no mesmo ritmo visual do hero principal. */
.contact-hero{
  min-height:520px;
  padding:142px 0 96px;
}
.contact-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:82px;
  align-items:center;
}
.contact-hero-copy{
  max-width:560px;
}
.contact-hero-copy h1{
  max-width:none;
  margin:0;
  color:#fff;
  font-size:52px;
  line-height:1.12;
  letter-spacing:-1.8px;
  text-transform:none;
}
.contact-hero-copy p{
  max-width:540px;
  margin:23px 0 0;
  color:rgba(255,255,255,.78);
  font-size:14px;
  line-height:1.85;
}
.contact-hero-art{
  position:relative;
  min-height:330px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.contact-support-card{
  position:relative;
  z-index:2;
  width:min(100%,535px);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.34);
  border-radius:12px;
  background:#fff;
  box-shadow:0 30px 70px rgba(4,29,57,.28);
  transform:perspective(1200px) rotateY(-3deg) rotateX(1deg);
}
.contact-support-topbar{
  position:relative;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-bottom:1px solid #e9eef4;
  background:#f7f9fc;
  color:#96a2af;
  font-size:8.5px;
  font-weight:600;
}
.contact-support-topbar .window-dots{position:absolute;left:15px}
.contact-support-body{padding:24px;background:#fbfcfe}
.contact-support-agent{display:flex;align-items:center;gap:13px;padding-bottom:18px;border-bottom:1px solid #edf1f5}
.contact-support-avatar{position:relative;width:48px;height:48px;flex:0 0 48px}
.contact-support-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center}
.contact-support-avatar>span{position:absolute;right:0;bottom:1px;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:#34d37e;box-shadow:0 0 0 4px rgba(52,211,126,.12)}
.contact-support-agent small{display:block;color:#9aa6b2;font-size:7px;font-weight:800;letter-spacing:.08em}
.contact-support-agent strong{display:block;margin-top:2px;color:var(--heading);font-size:13px;line-height:1.35}
.contact-support-agent em{display:block;margin-top:3px;color:#8693a1;font-size:7.5px;font-style:normal}
.contact-support-conversation{display:grid;gap:10px;padding:20px 0 18px}
.contact-support-bubble{max-width:82%;padding:11px 13px;border-radius:10px;font-size:8.5px;line-height:1.6}
.contact-support-bubble.is-client{justify-self:end;border-bottom-right-radius:4px;background:#eaf4ff;color:#4e6277}
.contact-support-bubble.is-agent{justify-self:start;border-bottom-left-radius:4px;border:1px solid #e6edf4;background:#fff;color:#536273}
.contact-support-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:14px;border-top:1px solid #edf1f5;color:#8a96a3;font-size:7.5px}
.contact-support-footer>span{display:flex;align-items:center;gap:6px}
.contact-support-footer i{width:6px;height:6px;border-radius:50%;background:#34d37e;box-shadow:0 0 0 3px rgba(52,211,126,.10)}
.contact-support-footer strong{color:#667687;font-size:7.5px;font-weight:650}
.contact-support-float{position:absolute;z-index:4;left:-8px;bottom:16px;display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:8px;background:#fff;color:var(--heading);box-shadow:0 14px 34px rgba(4,29,57,.19);animation:heroFloatSpeed 5.8s cubic-bezier(.45,.05,.55,.95) infinite}
.contact-support-float-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:7px;background:#edf5ff;color:var(--primary)}
.contact-support-float-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contact-support-float small{display:block;color:#99a5b1;font-size:6.5px}.contact-support-float strong{display:block;margin-top:1px;color:var(--heading);font-size:9px}

@media (max-width:1080px){
  .contact-hero-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:52px}
  .contact-hero-copy h1{font-size:47px}
  .contact-support-card{width:min(100%,500px)}
}
@media (max-width:900px){
  .contact-hero{min-height:auto;padding:126px 0 82px}
  .contact-hero-grid{grid-template-columns:1fr;gap:40px}
  .contact-hero-copy{max-width:650px;margin-inline:auto;text-align:center}
  .contact-hero-copy h1{font-size:43px}
  .contact-hero-copy p{margin-inline:auto}
  .contact-hero-art{width:min(100%,620px);min-height:305px;margin-inline:auto;justify-content:center}
  .contact-support-card{width:min(100%,540px);transform:none}
  .contact-support-float{left:8px;bottom:4px}
}
@media (max-width:640px){
  .contact-hero{padding:112px 0 70px}
  .contact-hero-grid{gap:30px}
  .contact-hero-copy h1{font-size:35px;letter-spacing:-1px}
  .contact-hero-copy p{margin-top:16px;font-size:12px;line-height:1.75}
  .contact-hero-art{min-height:250px}
  .contact-support-body{padding:17px}
  .contact-support-agent{padding-bottom:14px}
  .contact-support-conversation{padding:15px 0 14px}
  .contact-support-bubble{max-width:90%;padding:9px 11px;font-size:7.8px}
  .contact-support-footer{align-items:flex-start;flex-direction:column;gap:5px}
  .contact-support-float{display:none}
}
@media (max-width:420px){
  .contact-hero-copy h1{font-size:31px}
  .contact-hero-art{min-height:225px}
  .contact-support-topbar{min-height:38px}
  .contact-support-body{padding:14px}
  .contact-support-avatar{width:42px;height:42px;flex-basis:42px}
  .contact-support-agent strong{font-size:11px}
}

@media (prefers-reduced-motion:reduce){
  .contact-support-float{animation:none}
}

/* ETAPA 34 — estados de envio e recolhimento fluido */
.action-send-icon,.contact-check-icon{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.action-send-icon{transition:transform .2s ease}
.step-next{gap:9px}
.step-next:not(:disabled):hover .action-send-icon{transform:translateX(2px)}
.action-spinner{width:16px;height:16px;flex:0 0 16px;border:2px solid rgba(255,255,255,.38);border-top-color:#fff;border-radius:50%;animation:drhostSpin .72s linear infinite}
@keyframes drhostSpin{to{transform:rotate(360deg)}}
.step-next.is-processing,.contact-submit.is-loading{cursor:wait;transform:none!important}
.contact-submit-icon,.contact-check-icon{transition:transform .2s ease,opacity .2s ease}
.contact-submit.is-loading .contact-submit-icon{transform:none}
.contact-check-icon{stroke-width:2.2}
.contact-submit.is-sent .contact-check-icon{animation:drhostCheckIn .25s ease both}
@keyframes drhostCheckIn{from{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}

.acquisition-modal.is-success .acquisition-dialog{width:min(500px,calc(100% - 30px))}
.acquisition-modal.is-success .acquisition-form{padding:0}
.acquisition-modal.is-success .acquisition-close{background:transparent}
.acquisition-success{min-height:220px;display:grid;place-items:center;padding:52px 48px;text-align:center}
.acquisition-success h3{margin:0;color:var(--heading);font-size:22px;font-weight:650;line-height:1.55;letter-spacing:-.3px}

.domain-result{transform-origin:top center}

@media (max-width:640px){
  .acquisition-success{min-height:205px;padding:44px 28px}.acquisition-success h3{font-size:19px}
}
@media (prefers-reduced-motion:reduce){.action-spinner{animation:none;border-top-color:rgba(255,255,255,.38)}}
.acquisition-step[hidden],.acquisition-success[hidden],.acquisition-actions[hidden],.acquisition-head[hidden]{display:none!important}

/* === ETAPA 35: hero de contato mais compacto + Blog no menu === */
/* Hero mais baixo no desktop e card de atendimento avançando sobre a seção seguinte. */
.contact-hero{
  position:relative;
  z-index:2;
  min-height:440px;
  padding:116px 0 54px;
  overflow:visible;
}
.contact-hero-grid{
  align-items:center;
}
.contact-hero-copy h1{
  font-size:50px;
}
.contact-hero-copy p{
  max-width:500px;
  margin-top:18px;
}
.contact-hero-art{
  min-height:270px;
  transform:translateY(54px);
}
.contact-support-card{
  box-shadow:0 34px 78px rgba(4,29,57,.30);
}
.contact-support-float{
  bottom:2px;
}
.contact-content-section{
  position:relative;
  z-index:1;
  padding-top:130px;
}

@media (max-width:1080px){
  .desktop-nav{gap:18px}
  .contact-hero{min-height:430px;padding:112px 0 50px}
  .contact-hero-copy h1{font-size:46px}
  .contact-hero-art{transform:translateY(48px)}
  .contact-content-section{padding-top:122px}
}

@media (max-width:900px){
  .contact-hero{min-height:auto;padding:112px 0 52px}
  .contact-hero-grid{gap:24px}
  .contact-hero-copy h1{font-size:40px}
  .contact-hero-copy p{margin-top:14px}
  .contact-hero-art{min-height:280px;transform:translateY(38px)}
  .contact-content-section{padding-top:104px}
}

@media (max-width:640px){
  .contact-hero{padding:104px 0 44px}
  .contact-hero-grid{gap:20px}
  .contact-hero-copy h1{font-size:34px}
  .contact-hero-copy p{margin-top:12px}
  .contact-hero-art{min-height:238px;transform:translateY(26px)}
  .contact-content-section{padding-top:82px}
}

@media (max-width:420px){
  .contact-hero{padding-top:100px}
  .contact-hero-copy h1{font-size:31px}
  .contact-hero-art{min-height:220px;transform:translateY(20px)}
  .contact-content-section{padding-top:72px}
}


/* === ETAPA 36: ações do checkout e contato === */
.action-next-icon,
.contact-submit-icon,
.contact-check-icon{
  width:16px;
  height:16px;
  flex:0 0 16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.action-next-icon{transition:transform .2s ease}
.step-next:not(:disabled):not(.is-processing):hover .action-next-icon{transform:translateX(3px)}
.contact-submit:not(:disabled):not(.is-loading):not(.is-sent):hover .contact-submit-icon{transform:translateX(3px)}

.acquisition-modal.is-success .acquisition-dialog{
  width:min(480px,calc(100% - 30px));
}
.acquisition-success{
  min-height:320px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:52px 42px 44px;
  text-align:center;
}
.acquisition-success-icon{
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  margin:0 auto 20px;
  border-radius:50%;
  background:#eaf8f1;
  color:#24a665;
  box-shadow:0 10px 30px rgba(36,166,101,.12);
  animation:drhostSuccessIn .35s cubic-bezier(.2,.75,.25,1) both;
}
.acquisition-success-icon svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.acquisition-success h3{
  margin:0;
  color:var(--heading);
  font-size:23px;
  font-weight:680;
  line-height:1.35;
  letter-spacing:-.35px;
}
.acquisition-success p{
  margin:9px 0 24px;
  color:#8794a1;
  font-size:10px;
  line-height:1.65;
}
.acquisition-success-close{
  min-width:126px;
  min-height:43px;
}
@keyframes drhostSuccessIn{
  from{opacity:0;transform:scale(.72)}
  to{opacity:1;transform:scale(1)}
}

.contact-submit.is-loading .contact-submit-icon,
.contact-submit.is-sent .contact-submit-icon{display:none}
.contact-submit.is-loading .action-spinner{display:inline-block}
.contact-submit.is-sent .contact-check-icon{display:block}

@media (max-width:640px){
  .acquisition-success{min-height:285px;padding:45px 25px 38px}
  .acquisition-success-icon{width:62px;height:62px;margin-bottom:17px}
  .acquisition-success-icon svg{width:27px;height:27px}
  .acquisition-success h3{font-size:20px}
  .acquisition-success-close{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .acquisition-success-icon{animation:none}
}


/* === ETAPA 37: um único ícone por estado + sucesso azul === */
.action-state-icon{
  width:16px;
  height:16px;
  flex:0 0 16px;
  display:inline-grid;
  place-items:center;
  color:currentColor;
  transition:transform .2s ease,opacity .2s ease;
}
.action-state-icon svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.action-state-icon.is-spinner{
  border:2px solid rgba(255,255,255,.38);
  border-top-color:#fff;
  border-radius:50%;
  animation:drhostSpin .72s linear infinite;
}
.step-next:not(:disabled):not(.is-processing):hover .action-state-icon.is-arrow,
.contact-submit:not(:disabled):not(.is-loading):not(.is-sent):hover .action-state-icon.is-arrow{transform:translateX(3px)}
.action-state-icon.is-check{animation:drhostCheckIn .25s ease both}

/* O sucesso do checkout segue o azul institucional da DR HOST. */
.acquisition-success-icon{
  background:#edf5ff;
  color:var(--primary);
  box-shadow:0 10px 30px rgba(48,128,227,.15);
}

/* Neutraliza regras antigas dos ícones múltiplos. */
.contact-submit-icon,.contact-check-icon,.action-next-icon,.action-spinner{display:none!important}

@media (prefers-reduced-motion:reduce){
  .action-state-icon.is-spinner{animation:none;border-color:rgba(255,255,255,.55)}
  .action-state-icon.is-check{animation:none}
}

/* === ETAPA 39: contato em box sobreposto ao hero === */
/* A área principal de contato passa a funcionar como o card de busca de domínio:
   sobreposta ao hero, com cantos arredondados e conteúdo interno mais estreito. */
.contact-page-main,
.spa-contact-main{
  background:#f6f8fb!important;
}
.contact-content-section{
  position:relative;
  z-index:6;
  width:min(calc(100% - 44px),1180px);
  margin:-54px auto 0!important;
  padding:96px 0 104px!important;
  overflow:visible;
  border:1px solid #e7edf4!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 24px 58px rgba(8,24,40,.09)!important;
}
.contact-content-section>.contact-layout{
  width:min(calc(100% - 104px),1030px)!important;
  margin-inline:auto!important;
}
.contact-cta-band{
  margin-top:82px;
}

@media (max-width:1080px){
  .contact-content-section{
    width:min(calc(100% - 36px),980px);
    margin-top:-48px!important;
    padding:88px 0 96px!important;
    border-radius:16px!important;
  }
  .contact-content-section>.contact-layout{
    width:min(calc(100% - 72px),860px)!important;
  }
  .contact-cta-band{margin-top:70px}
}

@media (max-width:900px){
  .contact-content-section{
    width:min(calc(100% - 30px),760px);
    margin-top:-34px!important;
    padding:76px 0 82px!important;
    border-radius:15px!important;
  }
  .contact-content-section>.contact-layout{
    width:calc(100% - 52px)!important;
  }
  .contact-cta-band{margin-top:58px}
}

@media (max-width:640px){
  .contact-content-section{
    width:calc(100% - 20px);
    margin-top:-24px!important;
    padding:62px 0 68px!important;
    border-radius:13px!important;
    box-shadow:0 16px 38px rgba(8,24,40,.075)!important;
  }
  .contact-content-section>.contact-layout{
    width:calc(100% - 30px)!important;
  }
  .contact-cta-band{margin-top:48px}
}

@media (max-width:420px){
  .contact-content-section{
    width:calc(100% - 16px);
    margin-top:-20px!important;
    padding:56px 0 62px!important;
    border-radius:12px!important;
  }
  .contact-content-section>.contact-layout{
    width:calc(100% - 24px)!important;
  }
}

/* === ETAPA 40: contato com hero na altura da Home + visual avançando sobre o box === */
/* Desktop: replica a presença vertical do hero principal e deixa o atendimento
   atravessar a transição para o card branco de contato. */
@media (min-width:1081px){
  .contact-hero{
    z-index:auto;
    min-height:755px;
    padding:155px 0 165px;
    overflow:visible;
  }
  .contact-hero-grid{
    min-height:435px;
    align-items:center;
  }
  .contact-hero-copy{
    align-self:center;
  }
  .contact-hero-art{
    position:relative;
    z-index:8;
    min-height:440px;
    transform:translateY(245px);
  }
  .contact-support-card{
    position:relative;
    z-index:9;
  }
  .contact-support-float{
    z-index:10;
  }
  .contact-content-section{
    z-index:6;
    margin-top:-88px!important;
    padding-top:154px!important;
  }
}

/* Notebook: acompanha o comportamento do hero da Home nessa faixa. */
@media (min-width:901px) and (max-width:1080px){
  .contact-hero{
    z-index:auto;
    min-height:700px;
    padding:142px 0 150px;
    overflow:visible;
  }
  .contact-hero-grid{align-items:center}
  .contact-hero-art{
    position:relative;
    z-index:8;
    min-height:390px;
    transform:translateY(205px);
  }
  .contact-support-card{z-index:9}
  .contact-support-float{z-index:10}
  .contact-content-section{
    z-index:6;
    margin-top:-74px!important;
    padding-top:142px!important;
  }
}

/* Em tablet/mobile a composição continua fluida, com uma sobreposição menor
   para não sacrificar leitura ou largura útil. */
@media (max-width:900px){
  .contact-hero{z-index:auto;overflow:visible}
  .contact-hero-art{position:relative;z-index:8;transform:translateY(58px)}
  .contact-support-card{z-index:9}
  .contact-content-section{z-index:6;margin-top:-34px!important;padding-top:116px!important}
}
@media (max-width:640px){
  .contact-hero-art{transform:translateY(38px)}
  .contact-content-section{margin-top:-24px!important;padding-top:88px!important}
}
@media (max-width:420px){
  .contact-hero-art{transform:translateY(28px)}
  .contact-content-section{margin-top:-20px!important;padding-top:78px!important}
}

/* === ETAPA 41: hero de contato mais compacto + sobreposição equilibrada === */
/* O hero volta a uma altura mais enxuta. O atendimento da direita atravessa a
   borda inferior e fica sobre o card branco, enquanto o conteúdo do card sobe. */
@media (min-width:1081px){
  .contact-hero{
    min-height:540px;
    padding:128px 0 82px;
    overflow:visible;
  }
  .contact-hero-grid{
    min-height:330px;
    align-items:center;
  }
  .contact-hero-art{
    min-height:330px;
    transform:translateY(116px);
  }
  .contact-support-card{
    width:min(100%,520px);
  }
  .contact-support-float{
    left:-10px;
    bottom:8px;
  }
  .contact-content-section{
    margin-top:-62px!important;
    padding-top:92px!important;
  }
}

@media (min-width:901px) and (max-width:1080px){
  .contact-hero{
    min-height:515px;
    padding:122px 0 76px;
    overflow:visible;
  }
  .contact-hero-art{
    min-height:315px;
    transform:translateY(102px);
  }
  .contact-content-section{
    margin-top:-54px!important;
    padding-top:88px!important;
  }
}

@media (max-width:900px){
  .contact-hero{
    min-height:auto;
    padding:110px 0 54px;
  }
  .contact-hero-art{
    min-height:275px;
    transform:translateY(46px);
  }
  .contact-content-section{
    margin-top:-30px!important;
    padding-top:82px!important;
  }
}

@media (max-width:640px){
  .contact-hero{padding:102px 0 46px}
  .contact-hero-art{min-height:238px;transform:translateY(30px)}
  .contact-content-section{margin-top:-20px!important;padding-top:66px!important}
}

@media (max-width:420px){
  .contact-hero{padding-top:98px}
  .contact-hero-art{min-height:220px;transform:translateY(24px)}
  .contact-content-section{margin-top:-18px!important;padding-top:60px!important}
}

/* === ETAPA 42: visual do hero de contato mais baixo + sombra inferior === */
/* O card de atendimento atravessa um pouco mais a borda do hero e ganha uma
   sombra concentrada na parte inferior para reforçar a sobreposição no box. */
.contact-hero-art::after{
  content:'';
  position:absolute;
  z-index:0;
  right:4%;
  bottom:-30px;
  width:78%;
  height:42px;
  border-radius:50%;
  background:rgba(4,29,57,.20);
  filter:blur(24px);
  opacity:.72;
  pointer-events:none;
}
.contact-support-card,
.contact-support-float{
  position:relative;
  z-index:2;
}
.contact-support-card{
  box-shadow:0 40px 72px -20px rgba(4,29,57,.36)!important;
}

@media (min-width:1081px){
  .contact-hero-art{
    transform:translateY(138px);
  }
}

@media (min-width:901px) and (max-width:1080px){
  .contact-hero-art{
    transform:translateY(120px);
  }
  .contact-hero-art::after{
    right:5%;
    bottom:-24px;
    width:76%;
  }
}

@media (max-width:900px){
  .contact-hero-art::after{
    right:9%;
    bottom:-18px;
    width:82%;
    height:34px;
    filter:blur(20px);
    opacity:.58;
  }
}

@media (max-width:640px){
  .contact-hero-art::after{
    right:10%;
    bottom:-12px;
    width:80%;
    height:26px;
    filter:blur(17px);
    opacity:.48;
  }
}

/* === ETAPA 43: página Contato refinada conforme referência visual === */
/* Mantém o conteúdo atual e melhora apenas composição, proporção e sobreposição. */
@media (min-width:1081px){
  .contact-page-main,.spa-contact-main{background:#f5f7fa!important}
  .contact-hero{
    min-height:505px!important;
    padding:118px 0 72px!important;
    overflow:visible!important;
  }
  .contact-hero-inner{
    width:min(calc(100% - 52px),1110px)!important;
  }
  .contact-hero-grid{
    min-height:315px!important;
    grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr)!important;
    gap:74px!important;
    align-items:center!important;
  }
  .contact-hero-copy{
    max-width:470px!important;
    align-self:center!important;
  }
  .contact-hero-copy h1{
    max-width:none!important;
    font-size:46px!important;
    line-height:1.12!important;
    letter-spacing:-1.45px!important;
  }
  .contact-hero-copy p{
    max-width:445px!important;
    margin-top:18px!important;
    color:rgba(255,255,255,.86)!important;
    font-size:12.5px!important;
    line-height:1.82!important;
  }
  .contact-hero-art{
    position:relative!important;
    z-index:10!important;
    min-height:350px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    transform:translateY(88px)!important;
    isolation:isolate;
  }
  .contact-hero-art::before{
    content:'';
    position:absolute;
    z-index:-2;
    width:520px;
    height:315px;
    right:-34px;
    top:15px;
    border-radius:20px;
    background:rgba(13,91,190,.18);
    border:1px solid rgba(255,255,255,.035);
    transform:rotate(.6deg);
    pointer-events:none;
  }
  .contact-hero-art::after{
    z-index:-1!important;
    right:5%!important;
    bottom:-26px!important;
    width:82%!important;
    height:46px!important;
    background:rgba(4,29,57,.23)!important;
    filter:blur(25px)!important;
    opacity:.68!important;
  }
  .contact-support-card{
    width:min(100%,485px)!important;
    border-radius:12px!important;
    box-shadow:0 34px 68px -20px rgba(4,29,57,.38)!important;
    transform:rotate(-1.35deg)!important;
    transform-origin:center center;
  }
  .contact-support-topbar{
    min-height:43px!important;
  }
  .contact-support-body{
    padding:22px 23px!important;
  }
  .contact-support-float{
    left:-62px!important;
    bottom:52px!important;
    z-index:12!important;
    padding:10px 13px!important;
    border-radius:8px!important;
    box-shadow:0 16px 36px rgba(4,29,57,.18)!important;
    transform:rotate(.6deg);
  }
  .contact-content-section{
    width:min(calc(100% - 52px),1120px)!important;
    margin:-58px auto 0!important;
    padding:105px 0 98px!important;
    border-radius:17px!important;
    border:1px solid #e7edf4!important;
    background:#fff!important;
    box-shadow:0 24px 60px rgba(8,24,40,.085)!important;
    overflow:visible!important;
  }
  .contact-content-section>.contact-layout{
    width:min(calc(100% - 112px),980px)!important;
    margin-inline:auto!important;
    grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr)!important;
    gap:66px!important;
    align-items:start!important;
  }
  .contact-info-panel{
    padding-top:7px!important;
  }
  .contact-info-panel h2{
    max-width:390px!important;
    font-size:31px!important;
    line-height:1.28!important;
  }
  .contact-info-panel>p{
    max-width:390px!important;
  }
  .contact-form-card{
    position:sticky!important;
    top:102px!important;
    padding:35px 35px 33px!important;
    border-radius:11px!important;
    box-shadow:0 18px 48px rgba(8,24,40,.055)!important;
  }
  .contact-cta-band{
    margin-top:72px!important;
  }
}

@media (min-width:901px) and (max-width:1080px){
  .contact-hero{
    min-height:480px!important;
    padding:114px 0 66px!important;
    overflow:visible!important;
  }
  .contact-hero-grid{
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
    gap:48px!important;
    align-items:center!important;
  }
  .contact-hero-copy h1{font-size:41px!important}
  .contact-hero-copy p{font-size:12px!important;max-width:400px!important}
  .contact-hero-art{
    min-height:320px!important;
    transform:translateY(78px)!important;
  }
  .contact-hero-art::before{
    content:'';
    position:absolute;
    z-index:-2;
    width:445px;
    height:275px;
    right:-22px;
    top:18px;
    border-radius:18px;
    background:rgba(13,91,190,.16);
  }
  .contact-support-card{
    width:min(100%,445px)!important;
    transform:rotate(-1deg)!important;
    box-shadow:0 30px 58px -20px rgba(4,29,57,.34)!important;
  }
  .contact-support-float{left:-38px!important;bottom:40px!important}
  .contact-content-section{
    width:min(calc(100% - 36px),965px)!important;
    margin-top:-52px!important;
    padding:96px 0 90px!important;
  }
  .contact-content-section>.contact-layout{
    width:min(calc(100% - 78px),835px)!important;
    grid-template-columns:.88fr 1.12fr!important;
    gap:48px!important;
  }
  .contact-form-card{position:sticky!important;top:95px!important}
}

@media (max-width:900px){
  .contact-hero{
    padding:108px 0 72px!important;
    overflow:visible!important;
  }
  .contact-hero-grid{gap:30px!important}
  .contact-hero-copy{text-align:center!important}
  .contact-hero-copy h1{font-size:39px!important}
  .contact-hero-copy p{max-width:560px!important;margin:15px auto 0!important}
  .contact-hero-art{
    width:min(100%,590px)!important;
    min-height:292px!important;
    margin-inline:auto!important;
    transform:translateY(54px)!important;
  }
  .contact-hero-art::before{
    content:'';
    position:absolute;
    z-index:-2;
    width:92%;
    height:83%;
    right:-3%;
    top:7%;
    border-radius:16px;
    background:rgba(13,91,190,.15);
  }
  .contact-support-card{
    width:min(100%,520px)!important;
    margin-inline:auto!important;
    transform:rotate(-.65deg)!important;
    box-shadow:0 28px 52px -20px rgba(4,29,57,.32)!important;
  }
  .contact-support-float{left:5px!important;bottom:14px!important}
  .contact-content-section{
    width:min(calc(100% - 30px),760px)!important;
    margin-top:-25px!important;
    padding:88px 0 78px!important;
  }
  .contact-content-section>.contact-layout{
    width:calc(100% - 54px)!important;
    gap:38px!important;
  }
  .contact-form-card{position:relative!important;top:auto!important}
}

@media (max-width:640px){
  .contact-hero{padding:100px 0 62px!important}
  .contact-hero-copy h1{font-size:34px!important}
  .contact-hero-copy p{font-size:11.5px!important;line-height:1.72!important}
  .contact-hero-art{min-height:246px!important;transform:translateY(38px)!important}
  .contact-hero-art::before{display:none!important}
  .contact-support-card{transform:none!important;border-radius:10px!important}
  .contact-content-section{
    width:calc(100% - 18px)!important;
    margin-top:-16px!important;
    padding:68px 0 64px!important;
    border-radius:13px!important;
  }
  .contact-content-section>.contact-layout{width:calc(100% - 30px)!important}
}

@media (max-width:420px){
  .contact-hero-copy h1{font-size:31px!important}
  .contact-hero-art{min-height:226px!important;transform:translateY(30px)!important}
  .contact-content-section{width:calc(100% - 14px)!important;padding-top:60px!important}
  .contact-content-section>.contact-layout{width:calc(100% - 24px)!important}
}

@media (prefers-reduced-motion:reduce){
  .contact-support-card,.contact-support-float{transform:none!important}
}

/* === ETAPA 44: Contato em perspectiva + suporte acionado apenas após rolagem === */
/* Remove totalmente o painel azul de fundo usado atrás do mockup de atendimento. */
.contact-hero-art::before{display:none!important;content:none!important}

@media (min-width:1081px){
  .contact-hero-art{
    transform:translateY(112px)!important;
    perspective:1200px;
    overflow:visible!important;
  }
  .contact-support-card{
    width:min(100%,490px)!important;
    transform:perspective(1200px) rotateY(-5.5deg) rotateX(1.4deg) rotateZ(-1deg)!important;
    transform-origin:50% 78%!important;
    box-shadow:0 42px 76px -24px rgba(4,29,57,.40)!important;
    will-change:transform;
  }
  .contact-support-float{
    left:-56px!important;
    bottom:44px!important;
    transform:perspective(800px) rotateY(-2deg) rotateZ(.45deg)!important;
  }
  .contact-content-section{
    margin-top:-64px!important;
  }
}

@media (min-width:901px) and (max-width:1080px){
  .contact-hero-art{
    transform:translateY(98px)!important;
    perspective:1100px;
    overflow:visible!important;
  }
  .contact-support-card{
    transform:perspective(1100px) rotateY(-4.5deg) rotateX(1.1deg) rotateZ(-.85deg)!important;
    transform-origin:50% 78%!important;
    box-shadow:0 36px 66px -23px rgba(4,29,57,.37)!important;
  }
  .contact-support-float{
    transform:perspective(800px) rotateY(-1.5deg) rotateZ(.35deg)!important;
  }
  .contact-content-section{margin-top:-58px!important}
}

@media (max-width:900px) and (min-width:641px){
  .contact-hero-art{transform:translateY(62px)!important;perspective:1000px}
  .contact-support-card{
    transform:perspective(1000px) rotateY(-2.5deg) rotateX(.7deg) rotateZ(-.45deg)!important;
    transform-origin:50% 80%!important;
  }
}

/* No mobile a leitura plana é mais estável; mantém apenas a sobreposição. */
@media (max-width:640px){
  .contact-hero-art{transform:translateY(40px)!important}
  .contact-support-card{transform:none!important}
}

@media (prefers-reduced-motion:reduce){
  .contact-support-card,.contact-support-float{transform:none!important}
}

/* === ETAPA 45: sobreposição do atendimento corrigida === */
/* Eleva o conteúdo do hero acima do card branco inferior. O z-index anterior
   da .contact-hero-inner criava um stacking context abaixo da seção de contato. */
.contact-hero-inner{
  z-index:12!important;
}
.contact-content-section{
  z-index:4!important;
}
.contact-hero-art{
  position:relative!important;
  z-index:20!important;
  overflow:visible!important;
}
.contact-support-card{
  position:relative!important;
  z-index:22!important;
}
.contact-support-float{
  z-index:24!important;
}

@media (min-width:1081px){
  .contact-hero-art{
    transform:translateY(118px)!important;
  }
  .contact-support-float{
    left:-92px!important;
    right:auto!important;
    top:55%!important;
    bottom:auto!important;
    transform:translateY(-50%) perspective(800px) rotateY(-2deg) rotateZ(.35deg)!important;
  }
}

@media (min-width:901px) and (max-width:1080px){
  .contact-hero-art{
    transform:translateY(104px)!important;
  }
  .contact-support-float{
    left:-58px!important;
    right:auto!important;
    top:56%!important;
    bottom:auto!important;
    transform:translateY(-50%) perspective(800px) rotateY(-1.5deg) rotateZ(.25deg)!important;
  }
}

@media (max-width:900px) and (min-width:641px){
  .contact-hero-inner{z-index:12!important}
  .contact-hero-art{z-index:20!important}
  .contact-support-float{
    left:4px!important;
    right:auto!important;
    top:58%!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
  }
}

@media (max-width:640px){
  .contact-hero-inner{z-index:12!important}
  .contact-hero-art{z-index:20!important}
  .contact-support-float{display:none!important}
}

/* === ETAPA 46: atendimento um pouco mais alto + flutuação suave === */
/* O deslocamento vertical é feito no conjunto, preservando a sobreposição sobre o box branco. */
@media (min-width:1081px){
  .contact-hero-art{
    transform:translateY(92px)!important;
  }
}

@media (min-width:901px) and (max-width:1080px){
  .contact-hero-art{
    transform:translateY(82px)!important;
  }
}

@media (max-width:900px) and (min-width:641px){
  .contact-hero-art{
    transform:translateY(52px)!important;
  }
}

/* Usa a propriedade translate separada do transform para manter a perspectiva do card. */
.contact-support-card{
  animation:contactSupportFloat 6.4s cubic-bezier(.45,.05,.55,.95) infinite!important;
}
.contact-support-float{
  animation:contactSupportFloatSmall 5.6s cubic-bezier(.45,.05,.55,.95) .65s infinite!important;
}

@keyframes contactSupportFloat{
  0%,100%{translate:0 0}
  50%{translate:0 -7px}
}
@keyframes contactSupportFloatSmall{
  0%,100%{translate:0 0}
  50%{translate:0 -5px}
}

@media (prefers-reduced-motion:reduce){
  .contact-support-card,.contact-support-float{
    animation:none!important;
    translate:0 0!important;
  }
}

/* === ETAPA 47: atendimento mais alto + sombra inferior mais suave === */
/* Sobe um pouco mais o conjunto da direita sem perder a sobreposição no box branco. */
@media (min-width:1081px){
  .contact-hero-art{
    transform:translateY(76px)!important;
  }
  .contact-support-card{
    box-shadow:0 28px 58px -30px rgba(4,29,57,.24)!important;
  }
}

@media (min-width:901px) and (max-width:1080px){
  .contact-hero-art{
    transform:translateY(68px)!important;
  }
  .contact-support-card{
    box-shadow:0 25px 52px -29px rgba(4,29,57,.22)!important;
  }
}

@media (max-width:900px) and (min-width:641px){
  .contact-hero-art{
    transform:translateY(44px)!important;
  }
  .contact-support-card{
    box-shadow:0 22px 46px -28px rgba(4,29,57,.18)!important;
  }
}

/* === ETAPA 48: atendimento mais alto e levemente deslocado à direita === */
/* Refina a composição do hero de Contato sem alterar o conteúdo ou a sobreposição. */
@media (min-width:1081px){
  .contact-hero-art{
    transform:translate(18px,64px)!important;
  }
  .contact-support-float{
    left:-64px!important;
    top:51%!important;
  }
}

@media (min-width:901px) and (max-width:1080px){
  .contact-hero-art{
    transform:translate(12px,58px)!important;
  }
  .contact-support-float{
    left:-38px!important;
    top:52%!important;
  }
}

@media (max-width:900px) and (min-width:641px){
  .contact-hero-art{
    transform:translate(7px,39px)!important;
  }
  .contact-support-float{
    left:16px!important;
    top:55%!important;
  }
}

/* === ETAPA 49: PÁGINA DE DETALHE DO POST === */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.post-detail-page{margin:0!important;padding:0!important;background:#fff}
.post-detail-hero{position:relative;min-height:390px;padding:132px 0 92px;background:linear-gradient(132deg,#126fe0 0%,#3080e3 52%,#1a69c8 100%);color:#fff;overflow:hidden}
.post-detail-hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.13) 1px,transparent 1px);background-size:28px 28px;opacity:.17;mask-image:linear-gradient(to right,#000 0,rgba(0,0,0,.8) 58%,transparent 100%)}
.post-detail-orb{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%;pointer-events:none}
.post-detail-orb-one{width:460px;height:460px;right:-180px;top:-210px}
.post-detail-orb-two{width:260px;height:260px;right:150px;bottom:-200px}
.post-detail-hero-inner{position:relative;z-index:2;max-width:1180px;text-align:left}
.post-breadcrumb{display:flex;align-items:center;gap:8px;max-width:100%;margin-bottom:28px;color:rgba(255,255,255,.62);font-size:10px;line-height:1.5;white-space:nowrap;overflow:hidden}
.post-breadcrumb a{color:rgba(255,255,255,.72);font-weight:500;flex:0 0 auto}
.post-breadcrumb a:hover{color:#fff}
.post-breadcrumb>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;color:rgba(255,255,255,.55)}
.post-detail-category{width:max-content;display:inline-flex;align-items:center;min-height:29px;margin-bottom:16px;padding:0 11px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:rgba(255,255,255,.1);color:#fff;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(4px)}
.post-detail-hero h1{max-width:880px;margin:0;color:#fff;font-size:43px;line-height:1.2;letter-spacing:-1.25px;font-weight:700}

.post-detail-section{padding:0 0 96px;background:#f7f9fc}
.post-detail-shell{position:relative;z-index:4;margin-top:-52px}
.post-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:30px;align-items:start}
.post-article{min-width:0;padding:0 42px 42px;border:1px solid #e5ebf2;border-radius:12px;background:#fff;box-shadow:0 18px 48px rgba(8,24,40,.07);overflow:visible}
.post-cover-strip{height:300px;margin:0 -42px 0;overflow:hidden;border-radius:12px 12px 0 0;background:#eaf0f7}
.post-cover-strip img{width:100%;height:100%;display:block;object-fit:cover}
.post-article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;padding:23px 0 21px;border-bottom:1px solid #edf1f5;color:#84909e;font-size:9.5px}
.post-meta-item{display:inline-flex;align-items:center;gap:7px}
.post-meta-item svg{width:14px;height:14px;flex:0 0 14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:#8d99a7}
.post-meta-item strong{color:#42505f;font-weight:600}
.post-rich-content{padding-top:29px;color:#647180;font-size:13px;line-height:1.95}
.post-rich-content p{margin:0 0 22px}
.post-rich-content h2{margin:34px 0 13px;color:var(--heading);font-size:23px;line-height:1.35;letter-spacing:-.45px}
.post-rich-content h3{margin:28px 0 11px;color:var(--heading);font-size:18px;line-height:1.4}
.post-rich-content ul,.post-rich-content ol{margin:0 0 24px;padding-left:22px}
.post-rich-content li{margin:8px 0}
.post-rich-content blockquote{margin:30px 0;padding:21px 24px;border-left:3px solid var(--primary);border-radius:0 7px 7px 0;background:#f5f9fe;color:#48586a;font-size:13px;line-height:1.85}
.post-rich-content a{color:var(--primary);font-weight:600}

.post-share-row{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:35px;padding-top:25px;border-top:1px solid #edf1f5}
.post-share-row>div:first-child>span{display:block;margin-bottom:4px;color:#9aa5b2;font-size:8.5px;font-weight:700;letter-spacing:.08em}
.post-share-row>div:first-child>strong{color:var(--heading);font-size:12px;font-weight:600}
.post-share-buttons{display:flex;align-items:center;gap:9px}
.post-share-buttons a,.post-share-buttons button{width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex:0 0 42px;padding:0;border:1px solid #e5ebf2;border-radius:9px;background:#fff;color:#607080;box-shadow:none;cursor:pointer;transition:color .22s ease,background .22s ease,border-color .22s ease,transform .22s ease}
.post-share-buttons svg{display:block;width:18px;height:18px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.post-share-buttons svg *{vector-effect:non-scaling-stroke}
.post-share-buttons a:nth-child(1) svg path,.post-share-buttons a:nth-child(2) svg rect,.post-share-buttons a:nth-child(2) svg circle,.post-share-buttons a:nth-child(2) svg path,.post-share-buttons a:nth-child(3) svg path{fill:currentColor;stroke:none}
.post-share-buttons button svg{fill:none;stroke:currentColor;stroke-width:1.8}
.post-share-buttons a:hover,.post-share-buttons button:hover,.post-share-buttons button.is-copied{border-color:var(--primary);background:var(--primary);color:#fff;transform:translateY(-3px)}

.post-sidebar{position:sticky;top:104px;display:grid;gap:20px}
.sidebar-widget{overflow:hidden;border:1px solid #e5ebf2;border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(8,24,40,.04)}
.sidebar-widget-head{padding:22px 23px 17px;border-bottom:1px solid #edf1f5}
.sidebar-widget-head>span{display:block;margin-bottom:5px;color:var(--primary);font-size:8.5px;font-weight:700;letter-spacing:.09em}
.sidebar-widget-head h2{margin:0;color:var(--heading);font-size:17px;line-height:1.4}
.latest-post-list{padding:4px 23px}
.latest-post-item{display:block;padding:17px 0;border-bottom:1px solid #edf1f5}
.latest-post-item:last-child{border-bottom:0}
.latest-post-category{display:block;margin-bottom:5px;color:var(--primary);font-size:8px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.latest-post-item strong{display:block;color:var(--heading);font-size:11.5px;line-height:1.55;font-weight:600;transition:color .2s ease}
.latest-post-item small{display:block;margin-top:7px;color:#9aa4af;font-size:8.5px}
.latest-post-item:hover strong{color:var(--primary)}
.latest-post-item:hover{transform:translateX(2px)}
.category-count-list{padding:10px 23px 14px}
.category-count-list a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #edf1f5;color:#65717f;font-size:10.5px}
.category-count-list a:last-child{border-bottom:0}
.category-count-list b{min-width:27px;height:27px;display:grid;place-items:center;border-radius:6px;background:#f2f6fb;color:#758190;font-size:9px;font-weight:600;transition:.2s ease}
.category-count-list a:hover{color:var(--primary);transform:translateX(2px)}
.category-count-list a:hover b{background:#edf5ff;color:var(--primary)}
.post-detail-cta{margin:0!important}

@media (max-width:1080px){
  .post-detail-layout{grid-template-columns:minmax(0,1fr) 285px;gap:26px}.post-article{padding-left:34px;padding-right:34px}.post-cover-strip{margin-left:-34px;margin-right:-34px}.post-detail-hero h1{font-size:39px}
}
@media (max-width:900px){
  .post-detail-hero{min-height:365px;padding:122px 0 78px}.post-detail-hero h1{font-size:36px}.post-detail-layout{grid-template-columns:1fr}.post-sidebar{position:static;grid-template-columns:1fr 1fr;gap:20px}.post-cover-strip{height:285px}.post-detail-section{padding-bottom:84px}
}
@media (max-width:640px){
  .post-detail-hero{min-height:335px;padding:110px 0 67px}.post-breadcrumb{margin-bottom:21px;font-size:9px}.post-detail-category{min-height:27px;margin-bottom:13px;padding:0 9px;font-size:8px}.post-detail-hero h1{font-size:29px;line-height:1.28;letter-spacing:-.7px}.post-detail-shell{margin-top:-30px}.post-detail-layout{gap:20px}.post-article{padding:0 20px 28px;border-radius:10px}.post-cover-strip{height:205px;margin:0 -20px;border-radius:10px 10px 0 0}.post-article-meta{gap:8px 14px;padding:20px 0 18px;font-size:8.5px}.post-meta-item svg{width:12px;height:12px;flex-basis:12px}.post-rich-content{padding-top:24px;font-size:12px;line-height:1.88}.post-rich-content h2{margin-top:29px;font-size:20px}.post-rich-content blockquote{padding:18px 19px;font-size:12px}.post-share-row{align-items:flex-start;flex-direction:column;gap:16px;margin-top:28px;padding-top:22px}.post-share-buttons{width:100%}.post-share-buttons a,.post-share-buttons button{width:40px;height:40px;flex-basis:40px}.post-sidebar{grid-template-columns:1fr}.sidebar-widget-head{padding:21px 20px 16px}.latest-post-list,.category-count-list{padding-left:20px;padding-right:20px}.post-detail-section{padding-bottom:68px}
}
@media (max-width:380px){
  .post-detail-hero h1{font-size:26px}.post-cover-strip{height:180px}.post-article-meta{align-items:flex-start;flex-direction:column}.post-share-buttons{gap:7px}.post-share-buttons a,.post-share-buttons button{width:38px;height:38px;flex-basis:38px}
}

/* === ETAPA 51: post refinado + relacionados + padrão Contato === */
/* Hero do post acompanha a mesma presença vertical da página Contato. */
.post-detail-hero{
  min-height:505px;
  padding:118px 0 72px;
  display:flex;
  align-items:center;
}
.post-detail-hero-inner{width:min(calc(100% - 52px),1110px);max-width:none}
.post-breadcrumb{margin-bottom:24px}
.post-detail-hero h1{max-width:900px;font-size:46px;line-height:1.14;letter-spacing:-1.35px}
.post-detail-category{
  margin:18px 0 0;
  min-height:29px;
  border-color:rgba(255,255,255,.23);
  background:rgba(255,255,255,.09);
}

/* Compartilhamento: exatamente a mesma linguagem dos botões sociais do Contato. */
.post-share-buttons{gap:9px}
.post-share-buttons a,.post-share-buttons button{
  width:39px;
  height:39px;
  flex:0 0 39px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid #e2e9f0;
  border-radius:8px;
  background:#fff;
  color:#607082;
  box-shadow:none;
  cursor:pointer;
  transition:border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.post-share-buttons a:hover,.post-share-buttons button:hover,.post-share-buttons button.is-copied{
  border-color:#c9dcf3;
  background:#fff;
  color:var(--primary);
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(12,45,78,.07);
}
.post-share-buttons svg{width:17px;height:17px;display:block;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.post-share-buttons a:nth-child(1) svg path,
.post-share-buttons a:nth-child(2) svg rect,
.post-share-buttons a:nth-child(2) svg circle,
.post-share-buttons a:nth-child(2) svg path,
.post-share-buttons a:nth-child(3) svg path{fill:currentColor;stroke:none}
.post-share-buttons button svg{fill:none;stroke:currentColor;stroke-width:1.65}


/* CTA usa o mesmo conteúdo, botões e linguagem visual do Contato. */
.post-detail-cta{margin:0!important}

@media (min-width:901px) and (max-width:1080px){
  .post-detail-hero{min-height:480px;padding:114px 0 66px}
  .post-detail-hero-inner{width:min(calc(100% - 44px),965px)}
  .post-detail-hero h1{font-size:41px;max-width:790px}
}

@media (max-width:900px){
  .post-detail-hero{min-height:390px;padding:108px 0 72px}
  .post-detail-hero-inner{width:min(calc(100% - 44px),760px)}
  .post-detail-hero h1{font-size:36px}
  .post-detail-category{margin-top:15px}
}

@media (max-width:640px){
  .post-detail-hero{min-height:350px;padding:100px 0 62px}
  .post-detail-hero-inner{width:calc(100% - 30px)}
  .post-breadcrumb{margin-bottom:20px}
  .post-detail-hero h1{font-size:30px;line-height:1.25;letter-spacing:-.75px}
  .post-detail-category{margin-top:14px;margin-bottom:0}
  .post-share-buttons{width:auto}
  .post-share-buttons a,.post-share-buttons button{width:39px;height:39px;flex-basis:39px}
}

@media (max-width:380px){
  .post-detail-hero h1{font-size:27px}
  .post-share-buttons{gap:7px}
}

/* === ETAPA 52: largura do post alinhada à página Contato === */
/* Hero: breadcrumb/título começam exatamente no mesmo eixo do conteúdo do hero de Contato. */
.post-detail-hero-inner{
  width:min(calc(100% - 52px),1110px)!important;
  max-width:none!important;
  margin-inline:auto!important;
}

/* Conteúdo + sidebar somados usam a mesma largura externa do box principal de Contato. */
.post-detail-shell{
  width:min(calc(100% - 52px),1120px)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.post-detail-layout{
  width:100%!important;
  grid-template-columns:minmax(0,1fr) 310px!important;
  gap:30px!important;
}

@media (min-width:901px) and (max-width:1080px){
  .post-detail-hero-inner{
    width:min(calc(100% - 44px),965px)!important;
  }
  .post-detail-shell{
    width:min(calc(100% - 36px),965px)!important;
  }
  .post-detail-layout{
    grid-template-columns:minmax(0,1fr) 285px!important;
    gap:26px!important;
  }
}

@media (max-width:900px){
  .post-detail-hero-inner{
    width:min(calc(100% - 44px),760px)!important;
  }
  .post-detail-shell{
    width:min(calc(100% - 30px),760px)!important;
  }
  .post-detail-layout{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
}

@media (max-width:640px){
  .post-detail-hero-inner{
    width:calc(100% - 30px)!important;
  }
  .post-detail-shell{
    width:calc(100% - 18px)!important;
  }
}

@media (max-width:420px){
  .post-detail-shell{
    width:calc(100% - 14px)!important;
  }
}


/* === ETAPA 54: breadcrumb da página Contato no mesmo padrão do Blog === */
.contact-breadcrumb{
  margin-bottom:22px!important;
}
.contact-breadcrumb a,
.contact-breadcrumb span{
  line-height:1.5;
}
@media (max-width:640px){
  .contact-breadcrumb{
    justify-content:center;
    margin-bottom:17px!important;
  }
}

/* === ETAPA 55: BLOG - LISTAGEM COMPLETA COM FILTROS === */
.blog-index-page{margin:0!important;padding:0!important;background:#f7f9fc}
.blog-index-hero{min-height:430px;padding:116px 0 78px}
.blog-index-hero-inner{width:min(calc(100% - 52px),1110px)!important;max-width:none!important;margin-inline:auto!important}
.blog-index-hero h1{max-width:760px;margin:0;color:#fff;font-size:46px;line-height:1.14;letter-spacing:-1.3px}
.blog-index-hero p{max-width:650px;margin:18px 0 0;color:rgba(255,255,255,.76);font-size:13px;line-height:1.8}

.blog-index-section{padding:0 0 96px;background:#f7f9fc}
.blog-index-shell{position:relative;z-index:5;width:min(calc(100% - 52px),1120px);margin:-54px auto 0}
.blog-filter-panel{padding:27px 28px 25px;border:1px solid #e5ebf2;border-radius:12px;background:#fff;box-shadow:0 18px 48px rgba(8,24,40,.07)}
.blog-filter-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:22px}
.blog-filter-heading>div>span{display:block;margin-bottom:5px;color:var(--primary);font-size:8.5px;font-weight:700;letter-spacing:.09em}
.blog-filter-heading h2{margin:0;color:var(--heading);font-size:22px;line-height:1.35;letter-spacing:-.45px}
.blog-filter-heading>p{margin:0;color:#8995a3;font-size:9.5px;white-space:nowrap}
.blog-filter-bar{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(190px,.65fr) minmax(190px,.65fr);gap:12px}
.blog-filter-search,.blog-filter-select{position:relative;min-width:0;display:flex;align-items:center;height:52px;border:1px solid #e2e9f0;border-radius:8px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
.blog-filter-search:focus-within,.blog-filter-select:focus-within{border-color:#b9d2ee;box-shadow:0 0 0 3px rgba(48,128,227,.07)}
.blog-filter-search>svg,.blog-filter-select>svg{position:absolute;left:16px;width:17px;height:17px;fill:none;stroke:#8c98a6;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.blog-filter-search input,.blog-filter-select select{width:100%;height:100%;margin:0;padding:0 16px 0 45px;border:0!important;outline:0!important;border-radius:8px;background:#fff!important;color:#485666;font-family:inherit;font-size:10.5px;box-shadow:none!important}
.blog-filter-search input::placeholder{color:#a4aeb9}
.blog-filter-select select{padding-right:38px;cursor:pointer;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#8c98a6 50%),linear-gradient(135deg,#8c98a6 50%,transparent 50%)!important;background-position:calc(100% - 19px) 23px,calc(100% - 15px) 23px!important;background-size:4px 4px,4px 4px!important;background-repeat:no-repeat!important}
.blog-filter-search input:-webkit-autofill,.blog-filter-search input:-webkit-autofill:hover,.blog-filter-search input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #fff inset!important;-webkit-text-fill-color:#485666!important}
.blog-filter-clear{display:inline-flex;align-items:center;margin:14px 0 0;padding:0;border:0;background:transparent;color:#778493;font-family:inherit;font-size:9px;font-weight:600;cursor:pointer;transition:color .2s ease}
.blog-filter-clear:hover{color:var(--primary)}

.blog-index-results{padding-top:34px}
.blog-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.blog-index-grid .blog-card{width:100%;height:100%;min-height:0;max-width:none;justify-self:stretch;overflow:hidden}
.blog-index-grid .blog-card:last-child{grid-column:auto!important;width:100%!important;max-width:none!important;justify-self:stretch!important}
.blog-index-card .blog-card-body{height:100%}
.blog-index-card .blog-meta{margin-top:auto}
.blog-index-card .blog-card-footer{margin-top:15px}
.blog-index-card[hidden]{display:none!important}
.blog-empty-state{max-width:520px;margin:10px auto 0;padding:64px 25px;text-align:center}
.blog-empty-icon{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 18px;border:1px solid #e1e9f1;border-radius:12px;background:#fff;color:#7e8a98}
.blog-empty-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.blog-empty-state h3{margin:0 0 8px;color:var(--heading);font-size:19px}
.blog-empty-state p{margin:0 0 22px;color:#84909e;font-size:10.5px;line-height:1.7}
.blog-index-cta{margin:0!important}

@media (min-width:901px) and (max-width:1080px){
  .blog-index-hero-inner{width:min(calc(100% - 44px),965px)!important}
  .blog-index-shell{width:min(calc(100% - 36px),965px)}
  .blog-filter-bar{grid-template-columns:minmax(0,1fr) 190px 190px}
  .blog-index-grid{gap:20px}
  .blog-index-card .blog-card-body{padding:22px 21px 20px}
}

@media (max-width:900px){
  .blog-index-hero{min-height:390px;padding:108px 0 72px}
  .blog-index-hero-inner{width:min(calc(100% - 44px),760px)!important}
  .blog-index-hero h1{font-size:36px}
  .blog-index-hero p{font-size:12px;max-width:580px}
  .blog-index-shell{width:min(calc(100% - 30px),760px);margin-top:-42px}
  .blog-filter-panel{padding:24px 23px 22px}
  .blog-filter-bar{grid-template-columns:1fr 1fr}
  .blog-filter-search{grid-column:1/-1}
  .blog-index-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
}

@media (max-width:640px){
  .blog-index-hero{min-height:350px;padding:100px 0 62px}
  .blog-index-hero-inner{width:calc(100% - 30px)!important}
  .blog-index-hero .post-breadcrumb{margin-bottom:20px}
  .blog-index-hero h1{font-size:30px;line-height:1.25;letter-spacing:-.75px}
  .blog-index-hero p{margin-top:14px;font-size:11.5px;line-height:1.72}
  .blog-index-section{padding-bottom:70px}
  .blog-index-shell{width:calc(100% - 18px);margin-top:-30px}
  .blog-filter-panel{padding:21px 18px 18px;border-radius:10px}
  .blog-filter-heading{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:18px}
  .blog-filter-heading h2{font-size:20px}
  .blog-filter-heading>p{font-size:8.5px}
  .blog-filter-bar{grid-template-columns:1fr;gap:9px}
  .blog-filter-search{grid-column:auto}
  .blog-filter-search,.blog-filter-select{height:49px}
  .blog-filter-search input,.blog-filter-select select{font-size:10px}
  .blog-index-results{padding-top:25px}
  .blog-index-grid{grid-template-columns:1fr;gap:18px}
  .blog-index-card .blog-card-body{padding:21px 20px 19px}
  .blog-empty-state{padding:48px 18px}
}

@media (max-width:420px){
  .blog-index-shell{width:calc(100% - 14px)}
  .blog-index-hero h1{font-size:27px}
  .blog-filter-panel{padding-inline:15px}
}

/* =========================================================
   BLOG INDEX v4.25 — página editorial DR HOST
   ========================================================= */
.blog-page-hero{position:relative;min-height:500px;padding:138px 0 105px;background:linear-gradient(132deg,#126fe0 0%,#3080e3 52%,#1a69c8 100%);color:#fff;overflow:visible}
.blog-page-hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px);background-size:28px 28px;opacity:.19;mask-image:linear-gradient(to right,#000 0,rgba(0,0,0,.65) 48%,transparent 92%)}
.blog-page-hero-grid{position:relative;z-index:4;display:grid;grid-template-columns:minmax(0,.84fr) minmax(430px,1.16fr);align-items:center;gap:76px}
.blog-page-hero-copy{max-width:610px;padding-bottom:18px}
.blog-page-hero-copy .post-breadcrumb{margin-bottom:24px}
.blog-page-hero-copy h1{margin:0;color:#fff;font-size:49px;line-height:1.15;letter-spacing:-1.6px}
.blog-page-hero-copy p{max-width:570px;margin:20px 0 0;color:rgba(255,255,255,.78);font-size:13px;line-height:1.85}
.blog-hero-art{position:relative;z-index:9;min-height:350px;display:flex;align-items:center;justify-content:center;transform:translate(18px,47px);perspective:1200px}
.blog-hero-browser{position:relative;width:min(100%,515px);overflow:hidden;border-radius:11px;background:#fff;box-shadow:0 25px 54px rgba(4,29,57,.19);transform:rotateY(-7deg) rotateX(2deg) rotateZ(-.6deg);transform-origin:center center;animation:blogHeroFloat 7s cubic-bezier(.45,.05,.55,.95) infinite}
.blog-hero-browser-bar{position:relative;height:42px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #e7edf4;background:#f7f9fc;color:#9ba7b4;font-size:8.5px;font-weight:600}
.blog-hero-browser-screen{min-height:285px;display:grid;grid-template-columns:56px minmax(0,1fr);background:#f8fafc}
.blog-hero-browser-side{padding:18px 12px;display:flex;flex-direction:column;align-items:center;gap:17px;border-right:1px solid #e9eef4;background:#fff}
.blog-hero-browser-side b{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:var(--primary);color:#fff;font-size:8px}
.blog-hero-browser-side i{display:block;width:20px;height:5px;border-radius:10px;background:#e2e8f0}
.blog-hero-browser-side i:first-of-type{background:#b9d9ff}
.blog-hero-browser-content{padding:32px 30px 27px}
.blog-hero-browser-content small{display:block;margin-bottom:8px;color:var(--primary);font-size:7px;font-weight:700;letter-spacing:.09em}
.blog-hero-browser-content strong{display:block;color:#172638;font-size:21px;line-height:1.38;letter-spacing:-.45px}
.blog-hero-line{display:block;width:62%;height:6px;margin-top:13px;border-radius:10px;background:#e6ecf3}.blog-hero-line.is-long{width:84%;margin-top:23px}
.blog-hero-mini-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:25px}
.blog-hero-mini-cards i{display:block;height:61px;border:1px solid #e8edf4;border-radius:6px;background:#fff;box-shadow:0 5px 15px rgba(8,24,40,.025)}
.blog-hero-mini-cards i:first-child{background:linear-gradient(145deg,#f7fbff,#edf5ff);border-color:#dceafb}
.blog-hero-float{position:absolute;z-index:4;left:-8px;bottom:28px;display:flex;align-items:center;gap:10px;padding:13px 16px;border:1px solid rgba(226,235,244,.9);border-radius:8px;background:#fff;box-shadow:0 15px 34px rgba(4,29,57,.14);color:var(--heading);animation:blogHeroBadge 6.2s cubic-bezier(.45,.05,.55,.95) .5s infinite}
.blog-hero-float-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;background:#edf5ff;color:var(--primary)}
.blog-hero-float-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.blog-hero-float small{display:block;color:#9ba6b2;font-size:7px;font-weight:700;letter-spacing:.06em}.blog-hero-float strong{display:block;margin-top:1px;color:#1b2b3d;font-size:10px}
@keyframes blogHeroFloat{0%,100%{transform:rotateY(-7deg) rotateX(2deg) rotateZ(-.6deg) translate3d(0,0,0)}42%{transform:rotateY(-6.4deg) rotateX(1.7deg) rotateZ(-.35deg) translate3d(0,-6px,0)}72%{transform:rotateY(-7.3deg) rotateX(2.2deg) rotateZ(-.7deg) translate3d(2px,-2px,0)}}
@keyframes blogHeroBadge{0%,100%{transform:translate3d(0,0,0)}45%{transform:translate3d(4px,-7px,0)}72%{transform:translate3d(-2px,-3px,0)}}

.blog-index-section{position:relative;z-index:5;padding:0 0 96px;background:#f5f8fc}
.blog-index-shell.blog-content-shell{position:relative;z-index:5;width:min(calc(100% - 52px),1120px);margin:-56px auto 0;padding:34px 34px 38px;border:1px solid #e5ebf2;border-radius:15px;background:#fff;box-shadow:0 20px 54px rgba(8,24,40,.075);overflow:visible}
.blog-featured-block{padding:3px 0 36px;border-bottom:1px solid #e9eef4}
.blog-featured-heading,.blog-list-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:23px}
.blog-featured-heading>div>span,.blog-list-heading>div>span{display:block;margin-bottom:6px;color:var(--primary);font-size:8.5px;font-weight:700;letter-spacing:.1em}
.blog-featured-heading h2,.blog-list-heading h2{margin:0;color:var(--heading);font-size:23px;line-height:1.32;letter-spacing:-.5px}
.blog-featured-jump{display:inline-flex;align-items:center;gap:5px;color:#202b38;font-size:9.5px;font-weight:600}.blog-featured-jump:hover{color:var(--primary)}
.blog-featured-carousel{position:relative}
.blog-featured-viewport{overflow:hidden;border:1px solid #e5ebf2;border-radius:10px;background:#fff}
.blog-featured-track{display:flex;transition:transform .62s cubic-bezier(.2,.7,.2,1);will-change:transform}
.blog-featured-slide{flex:0 0 100%;min-width:0;background:#fff}
.blog-featured-image{position:relative;display:block;width:100%;aspect-ratio:3.35/1;overflow:hidden;background:#edf2f7}
.blog-featured-image::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(6,23,40,.18),transparent 55%);opacity:.72}
.blog-featured-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.blog-featured-slide:hover .blog-featured-image img{transform:scale(1.015)}
.blog-featured-content{padding:25px 27px 24px}
.blog-featured-content h3{max-width:760px;margin:8px 0 10px;color:var(--heading);font-size:23px;line-height:1.42;letter-spacing:-.45px}.blog-featured-content h3 a:hover{color:var(--primary)}
.blog-featured-content>p{max-width:820px;margin:0;color:#788492;font-size:11.5px;line-height:1.8}
.blog-featured-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-top:22px;padding-top:19px;border-top:1px solid #edf1f5}
.blog-featured-bottom .blog-meta{margin:0}.blog-featured-bottom .blog-link{flex:0 0 auto}
.blog-featured-dots{margin-top:19px}

.blog-all-posts{padding-top:34px}
.blog-list-heading{align-items:center;margin-bottom:0}
.blog-list-actions{display:flex;align-items:center;gap:16px}.blog-list-actions>p{margin:0;color:#8c98a5;font-size:9px;white-space:nowrap}
.blog-filter-toggle{height:42px;display:inline-flex;align-items:center;gap:9px;padding:0 14px;border:1px solid #dfe7ef;border-radius:7px;background:#fff;color:#273545;font-size:9.5px;font-weight:600;cursor:pointer;box-shadow:0 5px 14px rgba(8,24,40,.025)}
.blog-filter-toggle:hover{border-color:#bfd5ee;color:var(--primary)}
.blog-filter-toggle-icon{width:18px;height:18px;display:grid;place-items:center;color:currentColor}.blog-filter-toggle-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.blog-filter-toggle>i{width:6px;height:6px;margin-left:2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .28s ease}
.blog-filter-toggle[aria-expanded="true"]>i{transform:rotate(225deg) translate(-1px,-1px)}
.blog-filter-collapse{display:grid;grid-template-rows:0fr;opacity:0;margin-top:0;transition:grid-template-rows .38s cubic-bezier(.2,.7,.2,1),opacity .28s ease,margin-top .38s ease}
.blog-filter-collapse.is-open{grid-template-rows:1fr;opacity:1;margin-top:20px}.blog-filter-collapse>.blog-filter-panel{min-height:0;overflow:hidden}
.blog-filter-panel{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.blog-filter-collapse.is-open .blog-filter-panel{padding:18px;border:1px solid #e6ecf2;border-radius:9px;background:#f8fafc}
.blog-filter-bar{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(190px,.65fr) minmax(190px,.65fr);gap:11px}
.blog-filter-clear{margin:12px 0 0}
.blog-index-results{padding-top:27px;overflow:visible}
.blog-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;align-items:stretch;padding:7px 5px 10px;margin:0 -5px;overflow:visible}
.blog-index-card{height:100%;min-height:0}.blog-index-card[hidden]{display:none!important}
.blog-index-card .blog-image{aspect-ratio:1.62/1}.blog-index-card .blog-card-body{height:100%;padding:23px 22px 22px}.blog-index-card .blog-meta{margin-top:auto}.blog-index-card .blog-card-footer{margin-top:15px}
.blog-pagination{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:30px;padding-top:25px;border-top:1px solid #edf1f5}
.blog-pagination button{min-width:36px;height:36px;display:grid;place-items:center;padding:0 11px;border:1px solid #e0e7ef;border-radius:6px;background:#fff;color:#687585;font-size:9.5px;font-weight:600;cursor:pointer}
.blog-pagination button:hover{border-color:#bcd4ef;color:var(--primary)}.blog-pagination button.is-active{border-color:var(--primary);background:var(--primary);color:#fff}.blog-pagination button:disabled{opacity:.38;cursor:default}.blog-pagination button.is-nav{min-width:42px}
.blog-empty-state{margin:10px 0 0;padding:56px 20px;border:1px dashed #dce5ef;border-radius:9px;background:#fafcfe;text-align:center}
.blog-index-cta{margin:0!important}

body.spa-blog-active .site-header .nav-link{color:rgba(255,255,255,.82)}
body.spa-blog-active .site-header.is-scrolled .nav-link{color:#4d5967}

@media (max-width:1080px){
  .blog-page-hero-grid{grid-template-columns:minmax(0,.8fr) minmax(390px,1.2fr);gap:45px}.blog-page-hero-copy h1{font-size:45px}.blog-hero-art{transform:translate(5px,45px)}
  .blog-index-shell.blog-content-shell{width:min(calc(100% - 38px),965px);padding:30px 29px 34px}.blog-index-grid{gap:19px}.blog-index-card .blog-card-body{padding:21px 19px 20px}
}
@media (max-width:900px){
  .blog-page-hero{min-height:auto;padding:126px 0 100px;overflow:hidden}.blog-page-hero-grid{width:min(calc(100% - 44px),760px);grid-template-columns:1fr;gap:33px}.blog-page-hero-copy{max-width:650px;text-align:center;margin-inline:auto}.blog-page-hero-copy .post-breadcrumb{justify-content:center}.blog-page-hero-copy h1{font-size:42px}.blog-page-hero-copy p{margin-inline:auto}.blog-hero-art{width:min(100%,610px);min-height:310px;margin-inline:auto;transform:translateY(20px)}.blog-hero-browser{width:min(100%,520px);transform:none;animation:blogHeroFloatTablet 7s ease-in-out infinite}.blog-hero-float{left:0;bottom:8px}
  @keyframes blogHeroFloatTablet{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
  .blog-index-shell.blog-content-shell{width:min(calc(100% - 30px),760px);margin-top:-36px;padding:28px 25px 32px}.blog-featured-image{aspect-ratio:2.55/1}.blog-featured-content h3{font-size:21px}.blog-featured-bottom{align-items:flex-start;flex-direction:column;gap:12px}.blog-list-heading{align-items:flex-start;flex-direction:column;gap:17px}.blog-list-actions{width:100%;justify-content:space-between}.blog-filter-bar{grid-template-columns:1fr 1fr}.blog-filter-search{grid-column:1/-1}.blog-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .blog-page-hero{padding:112px 0 86px}.blog-page-hero-grid{width:calc(100% - 30px);gap:25px}.blog-page-hero-copy .post-breadcrumb{margin-bottom:18px}.blog-page-hero-copy h1{font-size:34px;letter-spacing:-.9px}.blog-page-hero-copy p{margin-top:14px;font-size:11.5px;line-height:1.72}.blog-hero-art{min-height:235px;transform:translateY(10px)}.blog-hero-browser{width:100%;border-radius:9px}.blog-hero-browser-bar{height:34px}.blog-hero-browser-screen{min-height:192px;grid-template-columns:42px 1fr}.blog-hero-browser-side{padding:13px 8px;gap:12px}.blog-hero-browser-side b{width:24px;height:24px}.blog-hero-browser-side i{width:16px;height:4px}.blog-hero-browser-content{padding:21px 18px}.blog-hero-browser-content strong{font-size:15px}.blog-hero-line{height:5px;margin-top:9px}.blog-hero-line.is-long{margin-top:16px}.blog-hero-mini-cards{gap:6px;margin-top:15px}.blog-hero-mini-cards i{height:38px}.blog-hero-float{display:none}
  .blog-index-section{padding-bottom:70px}.blog-index-shell.blog-content-shell{width:calc(100% - 18px);margin-top:-27px;padding:22px 16px 26px;border-radius:11px}.blog-featured-block{padding-bottom:28px}.blog-featured-heading{align-items:flex-start;flex-direction:column;gap:9px;margin-bottom:17px}.blog-featured-heading h2,.blog-list-heading h2{font-size:20px}.blog-featured-jump{font-size:9px}.blog-featured-viewport{border-radius:8px}.blog-featured-image{aspect-ratio:1.78/1}.blog-featured-content{padding:20px 18px 18px}.blog-featured-content h3{font-size:17px;line-height:1.48}.blog-featured-content>p{font-size:10.5px}.blog-featured-bottom{margin-top:17px;padding-top:15px}.blog-featured-bottom .blog-meta{gap:8px 12px}.blog-featured-dots{margin-top:15px}
  .blog-all-posts{padding-top:27px}.blog-list-heading{gap:13px}.blog-list-actions{align-items:flex-start;flex-direction:column;gap:10px}.blog-filter-toggle{height:40px}.blog-filter-collapse.is-open{margin-top:15px}.blog-filter-collapse.is-open .blog-filter-panel{padding:13px}.blog-filter-bar{grid-template-columns:1fr;gap:9px}.blog-filter-search{grid-column:auto}.blog-filter-search,.blog-filter-select{height:48px}.blog-index-results{padding-top:20px}.blog-index-grid{grid-template-columns:1fr;gap:18px;padding-inline:3px;margin-inline:-3px}.blog-index-card .blog-card-body{padding:21px 19px 19px}.blog-pagination{margin-top:23px;padding-top:20px;gap:5px}.blog-pagination button{min-width:34px;height:34px}.blog-empty-state{padding:42px 16px}
}
@media (max-width:420px){
  .blog-index-shell.blog-content-shell{width:calc(100% - 14px);padding-inline:13px}.blog-page-hero-copy h1{font-size:31px}.blog-featured-content h3{font-size:16px}.blog-pagination button{min-width:32px;height:32px;padding-inline:8px}
}
@media (prefers-reduced-motion:reduce){.blog-hero-browser,.blog-hero-float{animation:none!important}.blog-featured-track{transition:none}.blog-filter-collapse{transition:none}}


/* =========================================================
   ETAPA 57 — BLOG alinhado estruturalmente à página Contato
   Corrige diferenças de hero/container e sobreposição do box.
   ========================================================= */
.blog-index-page{
  background:#f5f7fa!important;
}

/* O hero do Blog usa a mesma geometria da página Contato. */
.blog-index-page .blog-page-hero.contact-hero{
  position:relative!important;
  min-height:505px!important;
  padding:118px 0 72px!important;
  overflow:visible!important;
  background:linear-gradient(132deg,#126fe0 0%,#3080e3 52%,#1a69c8 100%)!important;
}
.blog-index-page .blog-page-hero.contact-hero::before{
  opacity:.2!important;
  mask-image:linear-gradient(to right,#000 0,rgba(0,0,0,.72) 55%,transparent 96%)!important;
}
.blog-index-page .blog-page-hero-grid.contact-hero-grid{
  position:relative!important;
  z-index:12!important;
  width:min(calc(100% - 52px),1110px)!important;
  min-height:315px!important;
  margin-inline:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr)!important;
  gap:74px!important;
  align-items:center!important;
}
.blog-index-page .blog-page-hero-copy.contact-hero-copy{
  max-width:470px!important;
  padding:0 0 34px!important;
  margin:0!important;
  text-align:left!important;
}
.blog-index-page .blog-page-hero-copy .post-breadcrumb{
  justify-content:flex-start!important;
  margin-bottom:22px!important;
}
.blog-index-page .blog-page-hero-copy h1{
  max-width:none!important;
  margin:0!important;
  font-size:46px!important;
  line-height:1.12!important;
  letter-spacing:-1.45px!important;
}
.blog-index-page .blog-page-hero-copy p{
  max-width:445px!important;
  margin:18px 0 0!important;
  color:rgba(255,255,255,.86)!important;
  font-size:12.5px!important;
  line-height:1.82!important;
}

/* Ilustração no mesmo eixo e profundidade do atendimento da página Contato. */
.blog-index-page .blog-hero-art{
  position:relative!important;
  z-index:20!important;
  min-height:350px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  margin:0!important;
  transform:translate(18px,64px)!important;
  perspective:1200px!important;
  overflow:visible!important;
}
.blog-index-page .blog-hero-browser{
  width:min(100%,490px)!important;
  border-radius:12px!important;
  box-shadow:0 28px 58px -30px rgba(4,29,57,.24)!important;
  transform:perspective(1200px) rotateY(-5.5deg) rotateX(1.4deg) rotateZ(-.8deg)!important;
}
.blog-index-page .blog-hero-float{
  left:-54px!important;
  right:auto!important;
  bottom:46px!important;
  z-index:24!important;
  border-radius:8px!important;
  box-shadow:0 16px 34px -18px rgba(4,29,57,.24)!important;
}

/* Box editorial com a mesma largura/raio/sombra do box principal de Contato. */
.blog-index-page .blog-index-section{
  position:relative!important;
  z-index:4!important;
  padding:0 0 96px!important;
  background:#f5f7fa!important;
}
.blog-index-page .blog-index-shell.blog-content-shell{
  position:relative!important;
  z-index:4!important;
  width:min(calc(100% - 52px),1120px)!important;
  margin:-58px auto 0!important;
  padding:74px 56px 42px!important;
  border:1px solid #e7edf4!important;
  border-radius:17px!important;
  background:#fff!important;
  box-shadow:0 24px 60px rgba(8,24,40,.085)!important;
  overflow:visible!important;
}

@media (min-width:901px) and (max-width:1080px){
  .blog-index-page .blog-page-hero.contact-hero{
    min-height:480px!important;
    padding:114px 0 66px!important;
  }
  .blog-index-page .blog-page-hero-grid.contact-hero-grid{
    width:min(calc(100% - 44px),965px)!important;
    min-height:300px!important;
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
    gap:48px!important;
  }
  .blog-index-page .blog-page-hero-copy h1{font-size:41px!important}
  .blog-index-page .blog-page-hero-copy p{font-size:12px!important;max-width:400px!important}
  .blog-index-page .blog-hero-art{
    min-height:320px!important;
    transform:translate(12px,58px)!important;
  }
  .blog-index-page .blog-hero-browser{width:min(100%,445px)!important}
  .blog-index-page .blog-hero-float{left:-38px!important;bottom:38px!important}
  .blog-index-page .blog-index-shell.blog-content-shell{
    width:min(calc(100% - 36px),965px)!important;
    margin-top:-52px!important;
    padding:68px 39px 38px!important;
  }
}

@media (max-width:900px){
  .blog-index-page .blog-page-hero.contact-hero{
    min-height:auto!important;
    padding:108px 0 88px!important;
    overflow:visible!important;
  }
  .blog-index-page .blog-page-hero-grid.contact-hero-grid{
    width:min(calc(100% - 44px),760px)!important;
    min-height:0!important;
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  .blog-index-page .blog-page-hero-copy.contact-hero-copy{
    max-width:650px!important;
    padding:0!important;
    margin-inline:auto!important;
    text-align:center!important;
  }
  .blog-index-page .blog-page-hero-copy .post-breadcrumb{justify-content:center!important}
  .blog-index-page .blog-page-hero-copy h1{font-size:39px!important}
  .blog-index-page .blog-page-hero-copy p{max-width:560px!important;margin:15px auto 0!important}
  .blog-index-page .blog-hero-art{
    width:min(100%,590px)!important;
    min-height:292px!important;
    margin-inline:auto!important;
    justify-content:center!important;
    transform:translateY(42px)!important;
  }
  .blog-index-page .blog-hero-browser{
    width:min(100%,520px)!important;
    transform:perspective(1000px) rotateY(-2.5deg) rotateX(.7deg) rotateZ(-.4deg)!important;
  }
  .blog-index-page .blog-hero-float{left:5px!important;bottom:12px!important}
  .blog-index-page .blog-index-shell.blog-content-shell{
    width:min(calc(100% - 30px),760px)!important;
    margin-top:-25px!important;
    padding:62px 27px 34px!important;
    border-radius:15px!important;
  }
}

@media (max-width:640px){
  .blog-index-page .blog-page-hero.contact-hero{padding:100px 0 72px!important}
  .blog-index-page .blog-page-hero-grid.contact-hero-grid{width:calc(100% - 30px)!important;gap:24px!important}
  .blog-index-page .blog-page-hero-copy h1{font-size:34px!important}
  .blog-index-page .blog-page-hero-copy p{font-size:11.5px!important;line-height:1.72!important}
  .blog-index-page .blog-hero-art{min-height:246px!important;transform:translateY(30px)!important}
  .blog-index-page .blog-hero-browser{width:100%!important;transform:none!important;border-radius:10px!important}
  .blog-index-page .blog-hero-float{display:none!important}
  .blog-index-page .blog-index-shell.blog-content-shell{
    width:calc(100% - 18px)!important;
    margin-top:-16px!important;
    padding:44px 16px 28px!important;
    border-radius:13px!important;
  }
}

@media (max-width:420px){
  .blog-index-page .blog-page-hero-copy h1{font-size:31px!important}
  .blog-index-page .blog-hero-art{min-height:226px!important;transform:translateY(24px)!important}
  .blog-index-page .blog-index-shell.blog-content-shell{
    width:calc(100% - 14px)!important;
    padding:40px 13px 25px!important;
  }
}

/* =========================================================
   ETAPA 58 — BLOG: hero mais presente + shell completo sobre o azul
   Mantém Em destaque, filtros, posts e paginação no mesmo box editorial.
   ========================================================= */
@media (min-width:1081px){
  .blog-index-page .blog-page-hero.contact-hero{
    min-height:545px!important;
    padding:120px 0 94px!important;
  }
  .blog-index-page .blog-page-hero-grid.contact-hero-grid{
    min-height:335px!important;
  }
  .blog-index-page .blog-index-shell.blog-content-shell{
    margin-top:-96px!important;
    padding-top:82px!important;
    border-radius:19px!important;
    box-shadow:0 26px 64px rgba(8,24,40,.09)!important;
  }
}

@media (min-width:901px) and (max-width:1080px){
  .blog-index-page .blog-page-hero.contact-hero{
    min-height:515px!important;
    padding:116px 0 84px!important;
  }
  .blog-index-page .blog-page-hero-grid.contact-hero-grid{
    min-height:315px!important;
  }
  .blog-index-page .blog-index-shell.blog-content-shell{
    margin-top:-84px!important;
    padding-top:76px!important;
    border-radius:18px!important;
  }
}

@media (max-width:900px) and (min-width:641px){
  .blog-index-page .blog-page-hero.contact-hero{
    padding:112px 0 112px!important;
  }
  .blog-index-page .blog-index-shell.blog-content-shell{
    margin-top:-54px!important;
    padding-top:66px!important;
    border-radius:17px!important;
  }
}

@media (max-width:640px){
  .blog-index-page .blog-page-hero.contact-hero{
    padding:104px 0 94px!important;
  }
  .blog-index-page .blog-index-shell.blog-content-shell{
    margin-top:-38px!important;
    padding-top:48px!important;
    border-radius:15px!important;
    box-shadow:0 20px 46px rgba(8,24,40,.075)!important;
  }
}

@media (max-width:420px){
  .blog-index-page .blog-index-shell.blog-content-shell{
    margin-top:-32px!important;
    border-radius:14px!important;
  }
}

/* =========================================================
   ETAPA 59 — BLOG com a mesma composição vertical do CONTATO
   Referência: box branco invade o hero só o necessário e o
   conteúdo editorial começa com o mesmo respiro interno.
   ========================================================= */
@media (min-width:1081px){
  .blog-index-page .blog-page-hero.contact-hero{
    min-height:505px!important;
    padding:118px 0 72px!important;
  }
  .blog-index-page .blog-page-hero-grid.contact-hero-grid{
    min-height:315px!important;
  }
  .blog-index-page .blog-index-shell.blog-content-shell{
    width:min(calc(100% - 52px),1120px)!important;
    margin:-64px auto 0!important;
    padding:105px 56px 42px!important;
    border-radius:17px!important;
    border:1px solid #e7edf4!important;
    box-shadow:0 24px 60px rgba(8,24,40,.085)!important;
    background:#fff!important;
    overflow:visible!important;
  }
  .blog-index-page .blog-hero-art{
    transform:translate(18px,64px)!important;
    z-index:20!important;
  }
  .blog-index-page .blog-hero-browser{z-index:22!important}
  .blog-index-page .blog-hero-float{z-index:24!important}
  .blog-index-page .blog-index-section{z-index:4!important}
}

@media (min-width:901px) and (max-width:1080px){
  .blog-index-page .blog-page-hero.contact-hero{
    min-height:480px!important;
    padding:114px 0 66px!important;
  }
  .blog-index-page .blog-page-hero-grid.contact-hero-grid{
    min-height:300px!important;
  }
  .blog-index-page .blog-index-shell.blog-content-shell{
    width:min(calc(100% - 36px),965px)!important;
    margin:-58px auto 0!important;
    padding:96px 39px 38px!important;
    border-radius:17px!important;
  }
  .blog-index-page .blog-hero-art{
    transform:translate(12px,58px)!important;
  }
}

@media (max-width:900px) and (min-width:641px){
  .blog-index-page .blog-page-hero.contact-hero{
    padding:108px 0 72px!important;
  }
  .blog-index-page .blog-index-shell.blog-content-shell{
    width:min(calc(100% - 30px),760px)!important;
    margin:-25px auto 0!important;
    padding:88px 27px 34px!important;
    border-radius:15px!important;
  }
  .blog-index-page .blog-hero-art{
    transform:translateY(54px)!important;
  }
}

@media (max-width:640px){
  .blog-index-page .blog-page-hero.contact-hero{
    padding:100px 0 62px!important;
  }
  .blog-index-page .blog-index-shell.blog-content-shell{
    width:calc(100% - 18px)!important;
    margin:-16px auto 0!important;
    padding:68px 16px 28px!important;
    border-radius:13px!important;
    box-shadow:0 20px 46px rgba(8,24,40,.075)!important;
  }
  .blog-index-page .blog-hero-art{
    transform:translateY(38px)!important;
  }
}

@media (max-width:420px){
  .blog-index-page .blog-index-shell.blog-content-shell{
    width:calc(100% - 14px)!important;
    padding-top:60px!important;
    border-radius:13px!important;
  }
}

/* =========================================================
   ETAPA 60 — BLOG: mesma geometria REAL da página Contato
   O próprio .blog-index-section vira o box branco sobre o hero.
   Isso evita o colapso da margem do shell que fazia o fundo cinza
   subir junto e eliminava o azul nas laterais da sobreposição.
   ========================================================= */
.blog-index-page{
  background:#f5f7fa!important;
  overflow:visible!important;
}
.blog-index-page .blog-page-hero.contact-hero{
  position:relative!important;
  z-index:2!important;
  overflow:visible!important;
}
.blog-index-page .blog-page-hero-grid.contact-hero-grid{
  position:relative!important;
  z-index:12!important;
}
.blog-index-page .blog-hero-art{
  position:relative!important;
  z-index:20!important;
  overflow:visible!important;
}
.blog-index-page .blog-hero-browser{position:relative!important;z-index:22!important}
.blog-index-page .blog-hero-float{z-index:24!important}

/* O BOX passa a ser a própria seção, igual ao Contato. */
.blog-index-page .blog-index-section{
  position:relative!important;
  z-index:4!important;
  width:min(calc(100% - 52px),1120px)!important;
  margin:-64px auto 0!important;
  padding:105px 0 98px!important;
  border:1px solid #e7edf4!important;
  border-radius:17px!important;
  background:#fff!important;
  box-shadow:0 24px 60px rgba(8,24,40,.085)!important;
  overflow:visible!important;
}

/* O shell deixa de ser outro box: vira somente o container interno. */
.blog-index-page .blog-index-shell.blog-content-shell{
  width:min(calc(100% - 112px),980px)!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}

@media (min-width:1081px){
  .blog-index-page .blog-page-hero.contact-hero{
    min-height:505px!important;
    padding:118px 0 72px!important;
  }
  .blog-index-page .blog-page-hero-grid.contact-hero-grid{
    width:min(calc(100% - 52px),1110px)!important;
    min-height:315px!important;
  }
  .blog-index-page .blog-hero-art{
    transform:translate(18px,64px)!important;
  }
}

@media (min-width:901px) and (max-width:1080px){
  .blog-index-page .blog-page-hero.contact-hero{
    min-height:480px!important;
    padding:114px 0 66px!important;
  }
  .blog-index-page .blog-page-hero-grid.contact-hero-grid{
    width:min(calc(100% - 44px),965px)!important;
    min-height:300px!important;
  }
  .blog-index-page .blog-hero-art{
    transform:translate(12px,58px)!important;
  }
  .blog-index-page .blog-index-section{
    width:min(calc(100% - 36px),965px)!important;
    margin-top:-58px!important;
    padding:96px 0 90px!important;
  }
  .blog-index-page .blog-index-shell.blog-content-shell{
    width:min(calc(100% - 78px),835px)!important;
  }
}

@media (max-width:900px){
  .blog-index-page .blog-page-hero.contact-hero{
    min-height:auto!important;
    padding:108px 0 72px!important;
    overflow:visible!important;
  }
  .blog-index-page .blog-page-hero-grid.contact-hero-grid{
    width:min(calc(100% - 44px),760px)!important;
    min-height:0!important;
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  .blog-index-page .blog-page-hero-copy.contact-hero-copy{
    max-width:650px!important;
    margin-inline:auto!important;
    text-align:center!important;
  }
  .blog-index-page .blog-page-hero-copy .post-breadcrumb{justify-content:center!important}
  .blog-index-page .blog-page-hero-copy h1{font-size:39px!important}
  .blog-index-page .blog-page-hero-copy p{max-width:560px!important;margin:15px auto 0!important}
  .blog-index-page .blog-hero-art{
    width:min(100%,590px)!important;
    min-height:292px!important;
    margin-inline:auto!important;
    justify-content:center!important;
    transform:translateY(54px)!important;
  }
  .blog-index-page .blog-index-section{
    width:min(calc(100% - 30px),760px)!important;
    margin-top:-25px!important;
    padding:88px 0 78px!important;
  }
  .blog-index-page .blog-index-shell.blog-content-shell{
    width:calc(100% - 54px)!important;
  }
}

@media (max-width:640px){
  .blog-index-page .blog-page-hero.contact-hero{padding:100px 0 62px!important}
  .blog-index-page .blog-page-hero-grid.contact-hero-grid{width:calc(100% - 30px)!important}
  .blog-index-page .blog-page-hero-copy h1{font-size:34px!important}
  .blog-index-page .blog-page-hero-copy p{font-size:11.5px!important;line-height:1.72!important}
  .blog-index-page .blog-hero-art{min-height:246px!important;transform:translateY(38px)!important}
  .blog-index-page .blog-hero-browser{width:100%!important;transform:none!important;border-radius:10px!important}
  .blog-index-page .blog-hero-float{display:none!important}
  .blog-index-page .blog-index-section{
    width:calc(100% - 18px)!important;
    margin-top:-16px!important;
    padding:68px 0 64px!important;
    border-radius:13px!important;
    box-shadow:0 20px 46px rgba(8,24,40,.075)!important;
  }
  .blog-index-page .blog-index-shell.blog-content-shell{
    width:calc(100% - 30px)!important;
  }
}

@media (max-width:420px){
  .blog-index-page .blog-page-hero-copy h1{font-size:31px!important}
  .blog-index-page .blog-hero-art{min-height:226px!important;transform:translateY(30px)!important}
  .blog-index-page .blog-index-section{
    width:calc(100% - 14px)!important;
    padding-top:60px!important;
  }
  .blog-index-page .blog-index-shell.blog-content-shell{
    width:calc(100% - 24px)!important;
  }
}

/* =========================================================
   ETAPA 61 — BLOG: ilustração do hero acima do box branco
   O hero não cria mais um stacking-context próprio. Assim o fundo azul
   permanece atrás do box, enquanto o conteúdo/ilustração pode atravessar
   a transição e ficar por cima do box, igual à página Contato.
   ========================================================= */
.blog-index-page .blog-page-hero.contact-hero{
  z-index:auto!important;
}
.blog-index-page .blog-page-hero-grid.contact-hero-grid{
  position:relative!important;
  z-index:10!important;
}
.blog-index-page .blog-hero-art{
  position:relative!important;
  z-index:30!important;
  isolation:isolate;
}
.blog-index-page .blog-hero-browser{
  position:relative!important;
  z-index:31!important;
}
.blog-index-page .blog-hero-float{
  z-index:33!important;
}
.blog-index-page .blog-index-section{
  z-index:4!important;
}

/* =========================================================
   ETAPA 61 — BLOG: ilustração do hero acima do box branco
   O hero não cria mais um stacking-context próprio. Assim o fundo azul
   permanece atrás do box, enquanto o conteúdo/ilustração pode atravessar
   a transição e ficar por cima do box, igual à página Contato.
   ========================================================= */
.blog-index-page .blog-page-hero.contact-hero{
  z-index:auto!important;
}
.blog-index-page .blog-page-hero-grid.contact-hero-grid{
  position:relative!important;
  z-index:10!important;
}
.blog-index-page .blog-hero-art{
  position:relative!important;
  z-index:30!important;
  isolation:isolate;
}
.blog-index-page .blog-hero-browser{
  position:relative!important;
  z-index:31!important;
}
.blog-index-page .blog-hero-float{
  z-index:33!important;
}
.blog-index-page .blog-index-section{
  z-index:4!important;
}

/* =========================================================
   ETAPA 62 — LARGURA PADRÃO DOS BOXES INTERNOS
   Contato, Blog e Detalhe do Post usam exatamente a mesma
   largura externa do box de Registro de Domínio da Home.
   ========================================================= */
.contact-content-section,
.blog-index-page .blog-index-section,
.post-detail-shell{
  width:min(calc(100% - 40px),var(--container))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media (max-width:900px){
  .contact-content-section,
  .blog-index-page .blog-index-section,
  .post-detail-shell{
    width:min(calc(100% - 44px),760px)!important;
  }
}

@media (max-width:640px){
  .contact-content-section,
  .blog-index-page .blog-index-section,
  .post-detail-shell{
    width:calc(100% - 30px)!important;
  }
}

/* =========================================================
   ETAPA 63 — HERO INTERNO PADRONIZADO
   Contato e Blog sem ilustrações; Contato, Blog e Detalhe do
   Post usam a mesma altura/proporção visual nas páginas internas.
   ========================================================= */
:root{
  --internal-hero-height:420px;
}

/* Contato e Blog: hero textual, sem coluna/ilustração lateral. */
.contact-page-main .contact-hero,
.spa-contact-main .contact-hero,
.blog-index-page .blog-page-hero.contact-hero,
.post-detail-hero{
  min-height:var(--internal-hero-height)!important;
  height:auto!important;
  padding:118px 0 74px!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
}

.contact-page-main .contact-hero-inner,
.spa-contact-main .contact-hero-inner,
.blog-index-page .contact-hero-inner,
.post-detail-hero-inner{
  width:min(calc(100% - 40px),var(--container))!important;
  max-width:none!important;
  margin-inline:auto!important;
}

.contact-page-main .contact-hero-grid,
.spa-contact-main .contact-hero-grid,
.blog-index-page .blog-page-hero-grid.contact-hero-grid{
  min-height:0!important;
  display:block!important;
}

.contact-page-main .contact-hero-copy,
.spa-contact-main .contact-hero-copy,
.blog-index-page .blog-page-hero-copy.contact-hero-copy{
  width:100%!important;
  max-width:680px!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}

.contact-page-main .contact-hero-copy h1,
.spa-contact-main .contact-hero-copy h1,
.blog-index-page .blog-page-hero-copy h1{
  max-width:760px!important;
  font-size:46px!important;
  line-height:1.14!important;
  letter-spacing:-1.35px!important;
}

.contact-page-main .contact-hero-copy p,
.spa-contact-main .contact-hero-copy p,
.blog-index-page .blog-page-hero-copy p{
  max-width:590px!important;
  margin:18px 0 0!important;
  font-size:12.5px!important;
  line-height:1.82!important;
  color:rgba(255,255,255,.84)!important;
}

.contact-page-main .contact-breadcrumb,
.spa-contact-main .contact-breadcrumb,
.blog-index-page .post-breadcrumb{
  justify-content:flex-start!important;
}

/* Garantia: antigos elementos visuais não ocupam espaço caso algum
   fragmento SPA em cache ainda os contenha. */
.contact-page-main .contact-hero-art,
.spa-contact-main .contact-hero-art,
.blog-index-page .blog-hero-art{
  display:none!important;
}

/* O detalhe do post usa exatamente a mesma presença vertical. */
.post-detail-hero-inner{
  align-self:center!important;
}

@media (min-width:901px) and (max-width:1080px){
  :root{--internal-hero-height:390px}
  .contact-page-main .contact-hero,
  .spa-contact-main .contact-hero,
  .blog-index-page .blog-page-hero.contact-hero,
  .post-detail-hero{
    padding:112px 0 68px!important;
  }
  .contact-page-main .contact-hero-inner,
  .spa-contact-main .contact-hero-inner,
  .blog-index-page .contact-hero-inner,
  .post-detail-hero-inner{
    width:min(calc(100% - 44px),965px)!important;
  }
  .contact-page-main .contact-hero-copy h1,
  .spa-contact-main .contact-hero-copy h1,
  .blog-index-page .blog-page-hero-copy h1,
  .post-detail-hero h1{
    font-size:41px!important;
  }
}

@media (max-width:900px){
  :root{--internal-hero-height:350px}
  .contact-page-main .contact-hero,
  .spa-contact-main .contact-hero,
  .blog-index-page .blog-page-hero.contact-hero,
  .post-detail-hero{
    min-height:var(--internal-hero-height)!important;
    padding:108px 0 62px!important;
  }
  .contact-page-main .contact-hero-inner,
  .spa-contact-main .contact-hero-inner,
  .blog-index-page .contact-hero-inner,
  .post-detail-hero-inner{
    width:min(calc(100% - 44px),760px)!important;
  }
  .contact-page-main .contact-hero-copy,
  .spa-contact-main .contact-hero-copy,
  .blog-index-page .blog-page-hero-copy.contact-hero-copy{
    max-width:620px!important;
    margin:0!important;
    text-align:left!important;
  }
  .contact-page-main .contact-hero-copy h1,
  .spa-contact-main .contact-hero-copy h1,
  .blog-index-page .blog-page-hero-copy h1,
  .post-detail-hero h1{
    font-size:36px!important;
  }
  .contact-page-main .contact-hero-copy p,
  .spa-contact-main .contact-hero-copy p,
  .blog-index-page .blog-page-hero-copy p{
    margin:15px 0 0!important;
  }
}

@media (max-width:640px){
  :root{--internal-hero-height:315px}
  .contact-page-main .contact-hero,
  .spa-contact-main .contact-hero,
  .blog-index-page .blog-page-hero.contact-hero,
  .post-detail-hero{
    padding:100px 0 52px!important;
  }
  .contact-page-main .contact-hero-inner,
  .spa-contact-main .contact-hero-inner,
  .blog-index-page .contact-hero-inner,
  .post-detail-hero-inner{
    width:calc(100% - 30px)!important;
  }
  .contact-page-main .contact-hero-copy h1,
  .spa-contact-main .contact-hero-copy h1,
  .blog-index-page .blog-page-hero-copy h1,
  .post-detail-hero h1{
    font-size:31px!important;
    line-height:1.22!important;
    letter-spacing:-.8px!important;
  }
  .contact-page-main .contact-hero-copy p,
  .spa-contact-main .contact-hero-copy p,
  .blog-index-page .blog-page-hero-copy p{
    max-width:520px!important;
    margin-top:13px!important;
    font-size:11.5px!important;
    line-height:1.72!important;
  }
}


/* =========================================================
   ETAPA 64 — BLOG EDITORIAL MAIS CLEAN E PADRONIZADO
   Mesma hierarquia/altura inicial da página Contato, filtros
   discretos, mais respiro antes do CTA e organização editorial.
   ========================================================= */
.blog-index-page .blog-index-section{
  margin-bottom:72px!important;
}

/* O conteúdo começa na mesma altura interna usada no box de Contato. */
.blog-index-page .blog-index-shell.blog-content-shell{
  overflow:visible!important;
}
.blog-index-page .blog-featured-block{
  padding:0 0 48px!important;
  border-bottom:1px solid #e8edf3!important;
}
.blog-index-page .blog-featured-heading{
  display:block!important;
  margin:0 0 30px!important;
}
.blog-index-page .blog-featured-heading>div{
  max-width:650px;
}
.blog-index-page .blog-featured-heading>div>span,
.blog-index-page .blog-list-heading>div>span{
  display:block!important;
  margin:0 0 13px!important;
  color:var(--primary)!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.blog-index-page .blog-featured-heading h2,
.blog-index-page .blog-list-heading h2{
  margin:0!important;
  color:var(--heading)!important;
  font-size:31px!important;
  line-height:1.28!important;
  letter-spacing:-.8px!important;
  font-weight:700!important;
}

/* Destaque mais editorial e menos pesado. */
.blog-index-page .blog-featured-viewport{
  border:1px solid #e6ebf1!important;
  border-radius:11px!important;
  box-shadow:0 13px 34px rgba(8,24,40,.045)!important;
  overflow:hidden!important;
}
.blog-index-page .blog-featured-image{
  aspect-ratio:3.15/1!important;
}
.blog-index-page .blog-featured-content{
  padding:28px 30px 26px!important;
}
.blog-index-page .blog-featured-content h3{
  max-width:760px!important;
  margin:9px 0 10px!important;
  font-size:22px!important;
  line-height:1.4!important;
  letter-spacing:-.45px!important;
}
.blog-index-page .blog-featured-content>p{
  max-width:790px!important;
  font-size:11.5px!important;
  line-height:1.82!important;
}
.blog-index-page .blog-featured-bottom{
  margin-top:21px!important;
  padding-top:18px!important;
}
.blog-index-page .blog-featured-dots{
  margin-top:20px!important;
}

/* Todos os posts: título limpo + ações discretas. */
.blog-index-page .blog-all-posts{
  padding-top:50px!important;
}
.blog-index-page .blog-list-heading{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:30px!important;
  margin:0!important;
}
.blog-index-page .blog-list-heading>div:first-child{
  max-width:620px;
}
.blog-index-page .blog-list-actions{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  padding-bottom:2px;
}
.blog-index-page .blog-list-actions>p{
  margin:0!important;
  color:#8a95a2!important;
  font-size:10px!important;
  line-height:1.4!important;
  white-space:nowrap!important;
}
.blog-index-page .blog-filter-toggle{
  min-width:0!important;
  height:40px!important;
  padding:0 13px!important;
  gap:8px!important;
  border:1px solid #e0e6ed!important;
  border-radius:6px!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#344150!important;
  font-size:10px!important;
  font-weight:600!important;
}
.blog-index-page .blog-filter-toggle:hover,
.blog-index-page .blog-filter-toggle[aria-expanded="true"]{
  color:var(--primary)!important;
  border-color:#bdd3ec!important;
  background:#fff!important;
}
.blog-index-page .blog-filter-toggle-icon{
  width:16px!important;
  height:16px!important;
}
.blog-index-page .blog-filter-toggle-icon svg{
  width:15px!important;
  height:15px!important;
}

/* Filtro expandido sem "card dentro do card". */
.blog-index-page .blog-filter-collapse.is-open{
  margin-top:25px!important;
}
.blog-index-page .blog-filter-collapse.is-open .blog-filter-panel{
  padding:22px 0 0!important;
  border:0!important;
  border-top:1px solid #e9edf2!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.blog-index-page .blog-filter-bar{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(190px,.65fr) minmax(190px,.65fr)!important;
  gap:12px!important;
}
.blog-index-page .blog-filter-search,
.blog-index-page .blog-filter-select{
  height:48px!important;
  border:1px solid #e2e8ef!important;
  border-radius:6px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.blog-index-page .blog-filter-search:focus-within,
.blog-index-page .blog-filter-select:focus-within{
  border-color:#b8d0eb!important;
  box-shadow:0 0 0 3px rgba(48,128,227,.055)!important;
}
/* Menos ícones visuais nos filtros: deixa apenas a busca com lupa. */
.blog-index-page .blog-filter-select>svg{
  display:none!important;
}
.blog-index-page .blog-filter-select select{
  padding-left:15px!important;
  font-size:10.5px!important;
}
.blog-index-page .blog-filter-search input{
  font-size:10.5px!important;
}
.blog-index-page .blog-filter-clear{
  margin-top:12px!important;
  color:#7c8793!important;
  font-size:9.5px!important;
}
.blog-index-page .blog-filter-clear:hover{color:var(--primary)!important}

.blog-index-page .blog-index-results{
  padding-top:30px!important;
}
.blog-index-page .blog-index-grid{
  gap:24px!important;
}
.blog-index-page .blog-pagination{
  margin-top:36px!important;
  padding-top:27px!important;
}

/* CTA com o mesmo respiro das outras páginas internas. */
.blog-index-page .blog-index-cta{
  margin-top:0!important;
}

@media (min-width:901px) and (max-width:1080px){
  .blog-index-page .blog-index-section{margin-bottom:64px!important}
  .blog-index-page .blog-featured-heading h2,
  .blog-index-page .blog-list-heading h2{font-size:29px!important}
  .blog-index-page .blog-filter-bar{grid-template-columns:1fr 180px 180px!important}
}

@media (max-width:900px){
  .blog-index-page .blog-index-section{margin-bottom:58px!important}
  .blog-index-page .blog-featured-heading>div>span,
  .blog-index-page .blog-list-heading>div>span{font-size:11px!important;margin-bottom:10px!important}
  .blog-index-page .blog-featured-heading h2,
  .blog-index-page .blog-list-heading h2{font-size:27px!important}
  .blog-index-page .blog-featured-heading{margin-bottom:24px!important}
  .blog-index-page .blog-featured-image{aspect-ratio:2.45/1!important}
  .blog-index-page .blog-list-heading{align-items:flex-start!important;flex-direction:column!important;gap:17px!important}
  .blog-index-page .blog-list-actions{width:100%!important;justify-content:space-between!important}
  .blog-index-page .blog-filter-bar{grid-template-columns:1fr 1fr!important}
  .blog-index-page .blog-filter-search{grid-column:1/-1!important}
}

@media (max-width:640px){
  .blog-index-page .blog-index-section{margin-bottom:46px!important}
  .blog-index-page .blog-featured-block{padding-bottom:36px!important}
  .blog-index-page .blog-featured-heading h2,
  .blog-index-page .blog-list-heading h2{font-size:24px!important;line-height:1.3!important}
  .blog-index-page .blog-featured-heading>div>span,
  .blog-index-page .blog-list-heading>div>span{font-size:10px!important}
  .blog-index-page .blog-featured-viewport{border-radius:8px!important}
  .blog-index-page .blog-featured-image{aspect-ratio:1.78/1!important}
  .blog-index-page .blog-featured-content{padding:20px 18px 19px!important}
  .blog-index-page .blog-featured-content h3{font-size:17px!important}
  .blog-index-page .blog-featured-bottom{align-items:flex-start!important;flex-direction:column!important;gap:12px!important}
  .blog-index-page .blog-all-posts{padding-top:36px!important}
  .blog-index-page .blog-list-actions{align-items:flex-start!important;flex-direction:column!important;gap:10px!important}
  .blog-index-page .blog-filter-toggle{height:39px!important}
  .blog-index-page .blog-filter-collapse.is-open{margin-top:18px!important}
  .blog-index-page .blog-filter-collapse.is-open .blog-filter-panel{padding-top:17px!important}
  .blog-index-page .blog-filter-bar{grid-template-columns:1fr!important;gap:9px!important}
  .blog-index-page .blog-filter-search{grid-column:auto!important}
  .blog-index-page .blog-filter-search,
  .blog-index-page .blog-filter-select{height:47px!important}
  .blog-index-page .blog-index-results{padding-top:22px!important}
  .blog-index-page .blog-index-grid{gap:18px!important}
  .blog-index-page .blog-pagination{margin-top:27px!important;padding-top:22px!important}
}

/* ==========================================================
   BLOG INDEX — ETAPA 65 | filtros + revisão responsiva final
   ========================================================== */
.blog-index-page .blog-filter-bar{
  grid-template-columns:minmax(260px,1.45fr) minmax(165px,.66fr) minmax(165px,.66fr) auto!important;
  align-items:stretch!important;
  gap:10px!important;
}
.blog-index-page .blog-filter-clear{
  min-width:118px!important;
  height:48px!important;
  margin:0!important;
  padding:0 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #dfe6ed!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#273545!important;
  font-family:inherit!important;
  font-size:10px!important;
  font-weight:650!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  transition:border-color .2s ease,color .2s ease,background .2s ease,opacity .2s ease!important;
}
.blog-index-page .blog-filter-clear:hover:not(:disabled){
  border-color:#bfd5ee!important;
  color:var(--primary)!important;
  background:#fff!important;
}
.blog-index-page .blog-filter-clear:focus-visible{
  outline:0!important;
  border-color:#a9c8e9!important;
  box-shadow:0 0 0 3px rgba(48,128,227,.07)!important;
}
.blog-index-page .blog-filter-clear:disabled{
  opacity:.42!important;
  cursor:default!important;
  color:#8d98a4!important;
  background:#fafbfc!important;
}

/* Notebook / tablet landscape */
@media (max-width:1080px){
  .blog-index-page .blog-index-shell.blog-content-shell{
    padding-left:34px!important;
    padding-right:34px!important;
  }
  .blog-index-page .blog-filter-bar{
    grid-template-columns:minmax(0,1fr) 168px 168px auto!important;
    gap:9px!important;
  }
  .blog-index-page .blog-filter-clear{min-width:108px!important;padding-inline:12px!important}
}

/* Tablet: busca em linha inteira; categoria + ordem + limpar abaixo. */
@media (max-width:900px){
  .blog-index-page .blog-index-shell.blog-content-shell{
    width:min(calc(100% - 44px),760px)!important;
    padding:35px 30px 40px!important;
    border-radius:14px!important;
  }
  .blog-index-page .blog-featured-block{padding-bottom:40px!important}
  .blog-index-page .blog-featured-heading{margin-bottom:22px!important}
  .blog-index-page .blog-featured-image{aspect-ratio:2.25/1!important}
  .blog-index-page .blog-featured-content{padding:24px 23px 22px!important}
  .blog-index-page .blog-featured-content>p{max-width:100%!important}
  .blog-index-page .blog-list-heading{gap:14px!important}
  .blog-index-page .blog-list-actions{align-items:center!important;flex-direction:row!important;gap:12px!important}
  .blog-index-page .blog-filter-collapse.is-open{margin-top:20px!important}
  .blog-index-page .blog-filter-collapse.is-open .blog-filter-panel{padding-top:18px!important}
  .blog-index-page .blog-filter-bar{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;
    gap:9px!important;
  }
  .blog-index-page .blog-filter-search{grid-column:1/-1!important}
  .blog-index-page .blog-filter-clear{min-width:112px!important}
  .blog-index-page .blog-index-grid{gap:20px!important}
  .blog-index-page .blog-card-body{min-width:0!important}
  .blog-index-page .blog-meta{gap:8px 12px!important;flex-wrap:wrap!important}
  .blog-index-page .blog-pagination{flex-wrap:wrap!important}
}

/* Mobile */
@media (max-width:640px){
  .blog-index-page{
    overflow-x:hidden!important;
  }
  .blog-index-page .blog-page-hero.contact-hero{
    min-height:auto!important;
    padding:100px 0 70px!important;
  }
  .blog-index-page .blog-page-hero-grid.contact-hero-grid{
    width:calc(100% - 30px)!important;
    display:block!important;
  }
  .blog-index-page .blog-page-hero-copy.contact-hero-copy{
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
  }
  .blog-index-page .blog-page-hero-copy .post-breadcrumb{
    justify-content:flex-start!important;
    margin-bottom:15px!important;
    flex-wrap:wrap!important;
  }
  .blog-index-page .blog-page-hero-copy h1{
    font-size:31px!important;
    line-height:1.15!important;
    letter-spacing:-.8px!important;
  }
  .blog-index-page .blog-page-hero-copy p{
    max-width:100%!important;
    margin:12px 0 0!important;
    font-size:11.5px!important;
    line-height:1.7!important;
  }

  .blog-index-page .blog-index-section{
    margin-bottom:46px!important;
  }
  .blog-index-page .blog-index-shell.blog-content-shell{
    width:calc(100% - 30px)!important;
    margin-top:-42px!important;
    padding:28px 18px 32px!important;
    border-radius:12px!important;
  }
  .blog-index-page .blog-featured-block{
    padding-bottom:32px!important;
  }
  .blog-index-page .blog-featured-heading{
    margin-bottom:18px!important;
  }
  .blog-index-page .blog-featured-heading>div>span,
  .blog-index-page .blog-list-heading>div>span{
    margin-bottom:8px!important;
    font-size:9.5px!important;
  }
  .blog-index-page .blog-featured-heading h2,
  .blog-index-page .blog-list-heading h2{
    font-size:22px!important;
    line-height:1.28!important;
    letter-spacing:-.4px!important;
  }
  .blog-index-page .blog-featured-viewport{
    overflow:hidden!important;
    border-radius:8px!important;
  }
  .blog-index-page .blog-featured-image{
    aspect-ratio:1.7/1!important;
  }
  .blog-index-page .blog-featured-content{
    padding:19px 17px 18px!important;
  }
  .blog-index-page .blog-featured-content h3{
    margin-top:7px!important;
    font-size:17px!important;
    line-height:1.38!important;
  }
  .blog-index-page .blog-featured-content>p{
    margin-top:9px!important;
    font-size:11px!important;
    line-height:1.7!important;
  }
  .blog-index-page .blog-featured-bottom{
    gap:11px!important;
  }
  .blog-index-page .blog-featured-bottom .blog-meta{
    gap:7px 11px!important;
  }
  .blog-index-page .blog-featured-dots{
    margin-top:16px!important;
  }

  .blog-index-page .blog-all-posts{
    padding-top:31px!important;
  }
  .blog-index-page .blog-list-heading{
    gap:12px!important;
  }
  .blog-index-page .blog-list-actions{
    width:100%!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-direction:row!important;
    gap:9px!important;
  }
  .blog-index-page .blog-list-actions>p{
    min-width:0!important;
    white-space:normal!important;
    font-size:9px!important;
  }
  .blog-index-page .blog-filter-toggle{
    flex:0 0 auto!important;
    height:38px!important;
    padding:0 11px!important;
    font-size:9.5px!important;
  }
  .blog-index-page .blog-filter-toggle-icon{
    display:none!important;
  }
  .blog-index-page .blog-filter-collapse.is-open{
    margin-top:16px!important;
  }
  .blog-index-page .blog-filter-collapse.is-open .blog-filter-panel{
    padding-top:16px!important;
  }
  .blog-index-page .blog-filter-bar{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .blog-index-page .blog-filter-search,
  .blog-index-page .blog-filter-select,
  .blog-index-page .blog-filter-clear{
    width:100%!important;
    height:46px!important;
    min-width:0!important;
  }
  .blog-index-page .blog-filter-search{grid-column:auto!important}
  .blog-index-page .blog-filter-search input,
  .blog-index-page .blog-filter-select select{
    font-size:10px!important;
  }
  .blog-index-page .blog-filter-clear{
    margin-top:2px!important;
    font-size:10px!important;
  }

  .blog-index-page .blog-index-results{
    padding-top:20px!important;
  }
  .blog-index-page .blog-index-grid{
    grid-template-columns:1fr!important;
    gap:17px!important;
    padding:4px!important;
    margin:-4px!important;
  }
  .blog-index-page .blog-index-card{
    min-width:0!important;
  }
  .blog-index-page .blog-index-card .blog-image{
    aspect-ratio:1.65/1!important;
  }
  .blog-index-page .blog-index-card .blog-card-body{
    padding:19px 17px 17px!important;
  }
  .blog-index-page .blog-index-card h3{
    font-size:15.5px!important;
    line-height:1.42!important;
  }
  .blog-index-page .blog-index-card>p,
  .blog-index-page .blog-index-card .blog-card-body>p{
    font-size:10.5px!important;
    line-height:1.68!important;
  }
  .blog-index-page .blog-index-card .blog-meta{
    gap:7px 10px!important;
  }
  .blog-index-page .blog-card-footer{
    margin-top:16px!important;
    padding-top:14px!important;
  }
  .blog-index-page .blog-pagination{
    margin-top:24px!important;
    padding-top:20px!important;
    gap:5px!important;
  }
  .blog-index-page .blog-pagination button{
    min-width:34px!important;
    height:34px!important;
    padding-inline:8px!important;
    font-size:9.5px!important;
  }
  .blog-index-page .blog-index-cta{
    margin-top:0!important;
  }
}

/* Celulares estreitos */
@media (max-width:420px){
  .blog-index-page .blog-index-shell.blog-content-shell{
    width:calc(100% - 22px)!important;
    padding:24px 14px 28px!important;
    border-radius:10px!important;
  }
  .blog-index-page .blog-page-hero-grid.contact-hero-grid{
    width:calc(100% - 26px)!important;
  }
  .blog-index-page .blog-page-hero-copy h1{font-size:29px!important}
  .blog-index-page .blog-featured-heading h2,
  .blog-index-page .blog-list-heading h2{font-size:20px!important}
  .blog-index-page .blog-list-actions{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .blog-index-page .blog-filter-toggle{
    width:100%!important;
    justify-content:center!important;
  }
  .blog-index-page .blog-featured-image{aspect-ratio:1.55/1!important}
}

/* =========================================================
   ETAPA 66 — DETALHE DO POST + PÁGINAS 404 / 403
   Imagem editorial mais refinada e estados de erro minimalistas
   no mesmo padrão visual das páginas internas da DR HOST.
   ========================================================= */

/* Detalhe do post: imagem deixa de ser uma tira colada nas bordas
   e passa a funcionar como mídia editorial dentro do card. */
.post-featured-media{
  margin:30px 0 0!important;
}
.post-featured-image-wrap{
  position:relative;
  width:100%;
  aspect-ratio:16/7;
  overflow:hidden;
  border:1px solid #e5ebf2;
  border-radius:11px;
  background:#eef3f8;
  box-shadow:0 14px 32px rgba(8,24,40,.06);
}
.post-featured-image-wrap::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(to bottom,transparent 68%,rgba(8,24,40,.08) 100%);
}
.post-featured-image-wrap img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.post-featured-media:hover img{transform:scale(1.015)}
.post-article-meta{margin-top:3px}

/* Páginas de erro */
.error-state-page{
  margin:0!important;
  padding:0!important;
  background:#f7f9fc;
  overflow:hidden;
}
.error-state-hero{
  position:relative;
  min-height:var(--internal-hero-height,420px);
  padding:118px 0 74px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:linear-gradient(132deg,#126fe0 0%,#3080e3 52%,#1a69c8 100%);
  color:#fff;
}
.error-state-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:radial-gradient(rgba(255,255,255,.13) 1px,transparent 1px);
  background-size:28px 28px;
  opacity:.16;
  mask-image:linear-gradient(to right,#000 0,rgba(0,0,0,.75) 55%,transparent 100%);
}
.error-state-orb{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%;pointer-events:none}
.error-state-orb-one{width:430px;height:430px;right:-170px;top:-220px}
.error-state-orb-two{width:230px;height:230px;right:145px;bottom:-175px}
.error-state-hero-inner{
  position:relative;
  z-index:2;
  width:min(calc(100% - 40px),var(--container));
  margin-inline:auto;
}
.error-breadcrumb{justify-content:flex-start!important}
.error-state-hero h1{
  max-width:760px;
  margin:0;
  color:#fff;
  font-size:46px;
  line-height:1.14;
  letter-spacing:-1.35px;
  font-weight:700;
}
.error-state-hero p{
  max-width:580px;
  margin:18px 0 0;
  color:rgba(255,255,255,.84);
  font-size:12.5px;
  line-height:1.82;
}
.error-state-section{
  position:relative;
  z-index:4;
  padding:0 0 90px;
  background:#f7f9fc;
}
.error-state-shell{
  position:relative;
  width:min(calc(100% - 40px),var(--container));
  margin:-64px auto 0;
  padding:0!important;
}
.error-state-card{
  min-height:330px;
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  align-items:center;
  gap:52px;
  padding:48px 58px;
  border:1px solid #e5ebf2;
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 50px rgba(8,24,40,.07);
}
.error-state-visual{
  position:relative;
  min-height:210px;
  display:grid;
  place-items:center;
}
.error-state-number{
  position:absolute;
  inset:auto;
  color:#eff5fb;
  font-size:124px;
  line-height:1;
  letter-spacing:-8px;
  font-weight:800;
  user-select:none;
}
.error-state-icon{
  position:relative;
  z-index:2;
  width:78px;
  height:78px;
  display:grid;
  place-items:center;
  border:1px solid #dce9f7;
  border-radius:18px;
  background:#fff;
  color:var(--primary);
  box-shadow:0 12px 28px rgba(48,128,227,.10);
}
.error-state-icon svg{
  width:40px;
  height:40px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.error-state-copy{max-width:620px}
.error-state-copy .section-tag{margin-bottom:12px}
.error-state-copy h2{
  max-width:590px;
  margin:0;
  color:var(--heading);
  font-size:29px;
  line-height:1.3;
  letter-spacing:-.65px;
}
.error-state-copy>p{
  max-width:570px;
  margin:14px 0 0;
  color:#73808e;
  font-size:12px;
  line-height:1.8;
}
.error-state-actions{
  display:flex;
  align-items:center;
  gap:20px;
  margin-top:27px;
}
.error-support-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#263544;
  font-size:10.5px;
  font-weight:600;
}
.error-support-link:hover{color:var(--primary);transform:translateX(2px)}
.error-support-link span{font-size:14px;line-height:1}

@media (max-width:1080px){
  .post-featured-image-wrap{aspect-ratio:15/7}
  .error-state-card{grid-template-columns:235px minmax(0,1fr);gap:38px;padding:42px 46px}
  .error-state-number{font-size:108px}
}

@media (max-width:900px){
  .post-featured-media{margin-top:26px!important}
  .post-featured-image-wrap{aspect-ratio:16/8}
  .error-state-hero{min-height:var(--internal-hero-height,350px);padding:108px 0 62px}
  .error-state-hero-inner,.error-state-shell{width:min(calc(100% - 44px),760px)}
  .error-state-hero h1{font-size:36px}
  .error-state-shell{margin-top:-52px}
  .error-state-card{grid-template-columns:190px minmax(0,1fr);gap:30px;padding:38px 36px}
  .error-state-visual{min-height:180px}
  .error-state-number{font-size:94px}
  .error-state-icon{width:70px;height:70px;border-radius:16px}
  .error-state-icon svg{width:36px;height:36px}
  .error-state-copy h2{font-size:25px}
}

@media (max-width:640px){
  .post-featured-media{margin-top:20px!important}
  .post-featured-image-wrap{aspect-ratio:1.55/1;border-radius:9px;box-shadow:0 10px 24px rgba(8,24,40,.055)}
  .post-article-meta{margin-top:0}
  .error-state-hero{min-height:var(--internal-hero-height,315px);padding:100px 0 52px}
  .error-state-hero-inner,.error-state-shell{width:calc(100% - 30px)}
  .error-state-hero h1{font-size:31px;line-height:1.22;letter-spacing:-.8px}
  .error-state-hero p{margin-top:13px;font-size:11.5px;line-height:1.72}
  .error-state-shell{margin-top:-42px}
  .error-state-section{padding-bottom:68px}
  .error-state-card{min-height:0;grid-template-columns:1fr;gap:8px;padding:30px 22px 32px;border-radius:12px;text-align:left}
  .error-state-visual{min-height:125px;place-items:start center}
  .error-state-number{top:4px;font-size:80px;letter-spacing:-5px}
  .error-state-icon{width:58px;height:58px;margin-top:15px;border-radius:14px}
  .error-state-icon svg{width:30px;height:30px}
  .error-state-copy h2{font-size:22px;line-height:1.35}
  .error-state-copy>p{font-size:11px;line-height:1.75}
  .error-state-actions{align-items:stretch;flex-direction:column;gap:14px;margin-top:23px}
  .error-state-actions .btn{width:100%}
  .error-support-link{justify-content:center}
}

/* === ETAPA 67: registro por WhatsApp + recolhimento fluido da busca === */
.domain-register-btn.is-selected{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
  pointer-events:none;
}
.domain-result.show{
  transform-origin:top center;
  will-change:opacity,transform;
}

/* =========================================================
   ETAPA 68 — 404 / 403 NO MESMO PADRÃO DAS PÁGINAS INTERNAS
   Hero, largura e box seguem Contato/Blog. Sem card de ícone.
   ========================================================= */
.error-state-page{
  overflow:visible!important;
  background:#f7f9fc!important;
}

.error-state-hero{
  position:relative!important;
  min-height:var(--internal-hero-height,420px)!important;
  height:auto!important;
  padding:118px 0 74px!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  background:linear-gradient(132deg,#126fe0 0%,#3080e3 52%,#1a69c8 100%)!important;
  color:#fff!important;
}
.error-state-hero::before{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px)!important;
  background-size:28px 28px!important;
  opacity:.18!important;
  mask-image:linear-gradient(to right,#000 0,rgba(0,0,0,.75) 58%,transparent 100%)!important;
  pointer-events:none!important;
}
.error-state-hero-inner{
  position:relative!important;
  z-index:2!important;
  width:min(calc(100% - 40px),var(--container))!important;
  max-width:none!important;
  margin-inline:auto!important;
}
.error-state-hero-copy{
  width:100%!important;
  max-width:680px!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
.error-state-hero .error-breadcrumb{
  justify-content:flex-start!important;
  margin-bottom:17px!important;
}
.error-state-hero h1{
  max-width:760px!important;
  margin:0!important;
  color:#fff!important;
  font-size:46px!important;
  line-height:1.14!important;
  letter-spacing:-1.35px!important;
  font-weight:700!important;
}
.error-state-hero p{
  max-width:590px!important;
  margin:18px 0 0!important;
  color:rgba(255,255,255,.84)!important;
  font-size:12.5px!important;
  line-height:1.82!important;
}

/* O próprio bloco branco é o box da página, igual Contato/Blog. */
.error-state-section{
  position:relative!important;
  z-index:5!important;
  width:min(calc(100% - 40px),var(--container))!important;
  max-width:none!important;
  margin:-64px auto 72px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #e5ebf2!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 18px 52px rgba(8,24,40,.07)!important;
}
.error-state-shell{display:contents!important}
.error-state-card{
  min-height:320px!important;
  display:grid!important;
  grid-template-columns:260px minmax(0,1fr)!important;
  align-items:center!important;
  gap:56px!important;
  padding:58px 68px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.error-state-visual{
  position:relative!important;
  min-height:185px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.error-state-number{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  margin:0!important;
  color:#eaf2fb!important;
  font-size:128px!important;
  line-height:.86!important;
  letter-spacing:-9px!important;
  font-weight:800!important;
  user-select:none!important;
}
.error-state-icon{display:none!important}
.error-state-copy{
  max-width:610px!important;
}
.error-state-copy .section-tag{
  margin-bottom:12px!important;
}
.error-state-copy h2{
  max-width:590px!important;
  margin:0!important;
  color:var(--heading)!important;
  font-size:29px!important;
  line-height:1.3!important;
  letter-spacing:-.65px!important;
}
.error-state-copy>p{
  max-width:565px!important;
  margin:14px 0 0!important;
  color:#73808e!important;
  font-size:12px!important;
  line-height:1.8!important;
}
.error-state-actions{
  display:flex!important;
  align-items:center!important;
  gap:20px!important;
  margin-top:27px!important;
}

@media (min-width:901px) and (max-width:1080px){
  .error-state-hero{
    min-height:var(--internal-hero-height,390px)!important;
    padding:112px 0 68px!important;
  }
  .error-state-hero-inner,
  .error-state-section{
    width:min(calc(100% - 44px),965px)!important;
  }
  .error-state-hero h1{font-size:41px!important}
  .error-state-card{
    grid-template-columns:220px minmax(0,1fr)!important;
    gap:42px!important;
    padding:50px 54px!important;
  }
  .error-state-number{font-size:112px!important}
}

@media (max-width:900px){
  .error-state-hero{
    min-height:var(--internal-hero-height,350px)!important;
    padding:108px 0 62px!important;
  }
  .error-state-hero-inner,
  .error-state-section{
    width:min(calc(100% - 44px),760px)!important;
  }
  .error-state-hero-copy{max-width:620px!important}
  .error-state-hero h1{font-size:36px!important}
  .error-state-hero p{margin-top:15px!important}
  .error-state-section{
    margin-top:-52px!important;
    margin-bottom:62px!important;
    border-radius:14px!important;
  }
  .error-state-card{
    min-height:285px!important;
    grid-template-columns:180px minmax(0,1fr)!important;
    gap:32px!important;
    padding:42px 38px!important;
  }
  .error-state-visual{min-height:145px!important}
  .error-state-number{font-size:94px!important;letter-spacing:-6px!important}
  .error-state-copy h2{font-size:25px!important}
}

@media (max-width:640px){
  .error-state-hero{
    min-height:var(--internal-hero-height,315px)!important;
    padding:100px 0 52px!important;
  }
  .error-state-hero-inner,
  .error-state-section{
    width:calc(100% - 30px)!important;
  }
  .error-state-hero .error-breadcrumb{margin-bottom:14px!important}
  .error-state-hero h1{
    font-size:31px!important;
    line-height:1.22!important;
    letter-spacing:-.8px!important;
  }
  .error-state-hero p{
    max-width:520px!important;
    margin-top:13px!important;
    font-size:11.5px!important;
    line-height:1.72!important;
  }
  .error-state-section{
    margin-top:-42px!important;
    margin-bottom:48px!important;
    border-radius:12px!important;
  }
  .error-state-card{
    min-height:0!important;
    grid-template-columns:1fr!important;
    gap:20px!important;
    padding:30px 22px 32px!important;
  }
  .error-state-visual{
    min-height:0!important;
    justify-content:flex-start!important;
  }
  .error-state-number{
    font-size:76px!important;
    letter-spacing:-5px!important;
  }
  .error-state-copy h2{
    font-size:22px!important;
    line-height:1.35!important;
  }
  .error-state-copy>p{
    font-size:11px!important;
    line-height:1.75!important;
  }
  .error-state-actions{
    align-items:stretch!important;
    flex-direction:column!important;
    gap:14px!important;
    margin-top:23px!important;
  }
  .error-state-actions .btn{width:100%!important}
  .error-support-link{justify-content:center!important}
}

/* =========================================================
   ETAPA 70 — PÁGINAS LEGAIS
   Mesmo padrão visual das páginas 403/404, com foco em leitura.
   ========================================================= */
.legal-state-page{
  overflow:visible;
  background:#f7f9fc;
}
.legal-state-hero{
  min-height:var(--internal-hero-height,420px)!important;
}
.legal-state-section{
  position:relative;
  z-index:5;
  width:min(calc(100% - 40px),var(--container));
  margin:-64px auto 72px;
  overflow:hidden;
  border:1px solid #e5ebf2;
  border-radius:16px;
  background:#fff;
  box-shadow:0 18px 52px rgba(8,24,40,.07);
}
.legal-state-card{
  width:min(calc(100% - 96px),940px);
  margin:0 auto;
  padding:60px 0 66px;
}
.legal-document-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  padding-bottom:30px;
  border-bottom:1px solid #e9eef4;
}
.legal-document-head .section-tag{margin-bottom:10px}
.legal-document-head h2{
  margin:0;
  color:var(--heading);
  font-size:29px;
  line-height:1.3;
  letter-spacing:-.65px;
}
.legal-document-head>p{
  flex:0 0 auto;
  margin:0 0 3px;
  color:#8a96a3;
  font-size:10px;
  line-height:1.5;
}
.legal-document-head>p strong{color:#5d6875;font-weight:600}
.legal-prose{
  max-width:820px;
  padding-top:34px;
  color:#687583;
  font-size:12.5px;
  line-height:1.9;
}
.legal-prose>p:first-child{
  margin-top:0;
  color:#556270;
  font-size:13px;
}
.legal-prose p{margin:0 0 20px}
.legal-prose h2{
  margin:38px 0 12px;
  color:var(--heading);
  font-size:19px;
  line-height:1.45;
  letter-spacing:-.25px;
}
.legal-prose h2:first-of-type{margin-top:31px}
.legal-prose ul,
.legal-prose ol{margin:0 0 22px;padding-left:20px}
.legal-prose li{margin:7px 0}
.legal-prose a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.legal-document-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:48px;
  padding-top:26px;
  border-top:1px solid #e9eef4;
}
.legal-document-footer p{
  margin:0;
  color:#7c8895;
  font-size:11px;
}
.legal-document-footer a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--heading);
  font-size:11px;
  font-weight:600;
  transition:color .2s ease;
}
.legal-document-footer a:hover{color:var(--primary)}
.legal-document-footer a span{transition:transform .2s ease}
.legal-document-footer a:hover span{transform:translateX(3px)}

@media (min-width:901px) and (max-width:1080px){
  .legal-state-section{width:min(calc(100% - 44px),965px)}
  .legal-state-card{width:min(calc(100% - 80px),820px);padding:54px 0 60px}
}

@media (max-width:900px){
  .legal-state-section{
    width:min(calc(100% - 44px),760px);
    margin-top:-52px;
    margin-bottom:62px;
    border-radius:14px;
  }
  .legal-state-card{width:calc(100% - 68px);padding:48px 0 54px}
  .legal-document-head{align-items:flex-start;flex-direction:column;gap:10px;padding-bottom:25px}
  .legal-document-head h2{font-size:25px}
  .legal-document-head>p{margin:0}
  .legal-prose{padding-top:28px}
}

@media (max-width:640px){
  .legal-state-section{
    width:calc(100% - 30px);
    margin-top:-42px;
    margin-bottom:48px;
    border-radius:12px;
  }
  .legal-state-card{width:calc(100% - 40px);padding:32px 0 38px}
  .legal-document-head{padding-bottom:21px}
  .legal-document-head h2{font-size:22px;line-height:1.35}
  .legal-document-head>p{font-size:9.5px}
  .legal-prose{padding-top:24px;font-size:11.5px;line-height:1.82}
  .legal-prose>p:first-child{font-size:12px}
  .legal-prose p{margin-bottom:17px}
  .legal-prose h2{margin-top:31px;font-size:17px}
  .legal-document-footer{align-items:flex-start;flex-direction:column;gap:12px;margin-top:38px;padding-top:22px}
}
/* WP branding integration */
/* WP branding integration */
.brand-logo-set{position:relative;display:flex;align-items:center;height:42px}
.brand-logo{max-width:190px;max-height:42px;width:auto;height:auto;object-fit:contain}
/* Desktop/tablet: apenas uma versão pode ficar visível por vez. */
.brand-logo-set .brand-logo{display:none}
.brand-logo-set .brand-logo-desktop.brand-logo-light{display:block}
.site-header.is-scrolled .brand-logo-set .brand-logo-desktop.brand-logo-light{display:none}
.site-header.is-scrolled .brand-logo-set .brand-logo-desktop.brand-logo-dark{display:block}
/* As versões mobile nunca são abertas por regras genéricas do estado scrolled. */
.brand-logo-set .brand-logo-mobile{display:none}
.brand-footer .brand-logo-footer{display:block;max-width:190px;max-height:52px}
.brand-footer:has(.brand-logo-footer) .brand-symbol,.brand-footer:has(.brand-logo-footer) .brand-text{display:none}
@media(max-width:640px){
  .brand-logo-set .brand-logo-desktop{display:none!important}
  .brand-logo-set .brand-logo-mobile.brand-logo-light{display:block}
  .brand-logo-set .brand-logo-mobile.brand-logo-dark{display:none}
  .site-header.is-scrolled .brand-logo-set .brand-logo-mobile.brand-logo-light{display:none}
  .site-header.is-scrolled .brand-logo-set .brand-logo-mobile.brand-logo-dark{display:block}
  .brand-logo{max-width:150px;max-height:38px}
}
/* CMS empty states */
.front-empty-state{max-width:720px;margin:0 auto;padding:42px 24px;text-align:center;border:1px dashed #dbe3ec;border-radius:10px;background:transparent}.front-empty-state .front-empty-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 13px;border-radius:9px;background:transparent;border:1px solid #dbe3ec;color:#9aa8b7;font-size:28px}.front-empty-state strong{display:block;color:var(--heading);font-size:15px}.front-empty-state p{margin:6px 0 0;color:#8793a2;font-size:11px}.testimonial-person .avatar-img{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:0 0 36px}.drhost-turnstile{min-height:65px}
.front-empty-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* Etapa 75 · atendimento com horário real e estados vazios da sidebar */
.support-agent-copy{min-width:0}.support-agent-hours{display:block;margin-top:3px;color:#a0a9b3;font-size:7.5px;line-height:1.35}.support-widget.is-support-offline .support-agent-avatar span{background:#aab3bd;animation:none}.support-widget.is-support-offline .support-agent-copy small{color:#8a97a5}
.sidebar-empty-state{padding:18px 0 3px;border-top:1px solid #edf1f5;color:#8c97a5}.sidebar-empty-state:first-child{border-top:0;padding-top:2px}.sidebar-empty-state strong{display:block;color:#66717f;font-size:10px;font-weight:600}.sidebar-empty-state p{margin:4px 0 0;color:#9aa4b0;font-size:9px;line-height:1.55}

/* =========================================================
   ETAPA 76 — ajustes WP: legais, atendimento e copyright
   ========================================================= */
.footer-bottom-copy strong{color:#c8d4df;font-weight:700}
.drhost-legal-view .site-header:not(.is-scrolled),
body.spa-legal-active .site-header:not(.is-scrolled){background:transparent;color:#fff;box-shadow:none}
.drhost-legal-view .site-header:not(.is-scrolled) .nav-link,
body.spa-legal-active .site-header:not(.is-scrolled) .nav-link{color:rgba(255,255,255,.82)}
.drhost-legal-view .site-header:not(.is-scrolled) .nav-link:hover,
body.spa-legal-active .site-header:not(.is-scrolled) .nav-link:hover{color:#fff}
.drhost-legal-view .site-header:not(.is-scrolled) .header-cta,
body.spa-legal-active .site-header:not(.is-scrolled) .header-cta{border-color:rgba(255,255,255,.42);color:#fff;background:rgba(255,255,255,.08)}
.support-widget .support-agent-avatar span{width:11px;height:11px;right:-1px;bottom:-1px;background:#34d37e;animation:supportOnlinePulse 1.75s ease-in-out infinite}
.support-widget .support-agent-copy small{color:#8a97a5}
.support-agent-hours{display:none!important}
.legal-state-page{margin:0!important;padding:0!important;min-height:0!important}


/* Etapa 79 · estados vazios da sidebar + tooltip copiar link */
.latest-post-list:has(.sidebar-empty-state),
.category-count-list:has(.sidebar-empty-state){
  padding:0;
}
.sidebar-empty-state{
  min-height:132px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:7px;
  margin:0;
  padding:26px 23px 29px;
  border:0;
  background:transparent;
  color:#8f9aa6;
}
.sidebar-empty-state:first-child{
  padding-top:26px;
}
.sidebar-empty-state::before{display:none!important;content:none!important}
.sidebar-empty-state strong{
  display:block;
  color:#3f4d5c;
  font-size:11px;
  line-height:1.45;
  font-weight:600;
}
.sidebar-empty-state p{
  max-width:235px;
  margin:0;
  color:#98a3ae;
  font-size:9.5px;
  line-height:1.7;
}

.post-share-buttons [data-copy-post-link]{
  position:relative;
  overflow:visible;
}
.post-share-buttons [data-copy-post-link]::after{
  content:attr(data-copy-tooltip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 11px);
  z-index:12;
  min-width:max-content;
  padding:7px 9px;
  border-radius:6px;
  background:#172434;
  color:#fff;
  box-shadow:0 8px 20px rgba(8,24,40,.16);
  font-size:8.5px;
  font-weight:600;
  line-height:1;
  letter-spacing:.01em;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,5px);
  transition:opacity .2s ease,transform .2s ease;
}
.post-share-buttons [data-copy-post-link]::before{
  content:'';
  position:absolute;
  left:50%;
  bottom:calc(100% + 6px);
  z-index:11;
  width:8px;
  height:8px;
  background:#172434;
  opacity:0;
  pointer-events:none;
  transform:translateX(-50%) rotate(45deg);
  transition:opacity .2s ease;
}
.post-share-buttons [data-copy-post-link].is-copied::after{
  opacity:1;
  transform:translate(-50%,0);
}
.post-share-buttons [data-copy-post-link].is-copied::before{
  opacity:1;
}

@media (max-width:900px){
  .sidebar-empty-state{
    min-height:120px;
    padding:24px 21px 26px;
  }
}
@media (max-width:640px){
  .sidebar-empty-state{
    min-height:112px;
    padding:22px 20px 24px;
  }
  .sidebar-empty-state p{
    max-width:100%;
    font-size:9px;
  }
  .post-share-buttons [data-copy-post-link]::after{
    left:auto;
    right:-4px;
    transform:translateY(5px);
  }
  .post-share-buttons [data-copy-post-link].is-copied::after{
    transform:translateY(0);
  }
  .post-share-buttons [data-copy-post-link]::before{
    left:auto;
    right:10px;
    transform:rotate(45deg);
  }
}

/* === ETAPA 82: revisão responsiva final / mobile-first sem alterar desktop === */
/* Proteções estruturais que não mudam a composição desktop. */
main,section,.container,.hero-grid,.about-grid,.pricing-grid,.contact-layout,.post-detail-layout,
.blog-index-shell,.blog-content-shell,.footer-main-clean,.acquisition-dialog,.acquisition-form,
.form-grid,.domain-search,.domain-field,.testimonial-card,.blog-card,.price-card{min-width:0}
input,select,textarea,button{max-width:100%}
img{height:auto}

/* Tablet e mobile: menu fechado de verdade por estado, sem max-height preso. */
@media (max-width:900px){
  body.menu-open{overflow:hidden;touch-action:none}
  .menu-toggle{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    padding:9px 10px;
    border:1px solid rgba(255,255,255,.58);
    border-radius:8px;
    background:transparent!important;
    color:currentColor;
    box-shadow:none;
  }
  .site-header.is-scrolled .menu-toggle{border-color:#d9e2ec;color:var(--heading)}
  .menu-toggle:hover,.menu-toggle:focus-visible{background:transparent!important;box-shadow:none}
  .menu-toggle:focus-visible{outline:2px solid rgba(48,128,227,.32);outline-offset:2px}
  .menu-toggle span{width:20px;height:2px;margin:2.5px 0;background:currentColor}
  .menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .mobile-menu{
    display:block;
    position:fixed;
    z-index:999;
    top:var(--header-h);
    left:0;
    right:0;
    max-height:calc(100dvh - var(--header-h));
    overflow-y:auto;
    overscroll-behavior:contain;
    background:#fff;
    color:var(--heading);
    box-shadow:0 18px 36px rgba(8,24,40,.11);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-9px);
    transition:opacity .24s ease,visibility .24s ease,transform .24s ease;
  }
  .mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .mobile-menu-panel{padding-top:10px;padding-bottom:max(20px,env(safe-area-inset-bottom))}
  .mobile-menu a{min-height:46px;display:flex;align-items:center;padding:10px 2px}
  .mobile-menu .mobile-start-btn{min-height:48px;margin-top:14px}

  /* Modal de aquisição: mantém margem da viewport e rolagem só dentro do modal. */
  .acquisition-modal{padding:16px;place-items:center}
  .acquisition-dialog{
    width:min(760px,100%);
    max-height:calc(100dvh - 32px);
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .acquisition-head{padding:28px 30px 21px}
  .acquisition-form{padding:25px 30px 30px}
  .acquisition-actions{background:#fff}

  /* Atendimento compacto em tablet: nunca domina a viewport. */
  .support-widget{right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}
  .support-chat{width:min(340px,calc(100vw - 44px));max-height:min(520px,calc(100dvh - 110px))}
  .support-chat-body{height:220px;max-height:34dvh}

  /* Internas: nenhuma coluna/box pode estourar a viewport. */
  .contact-form-card,.post-article,.post-sidebar,.blog-index-shell,.legal-state-card,.error-state-card{max-width:100%}
  .post-share-buttons{flex-wrap:wrap}
}

@media (max-width:768px){
  /* Botões e controles com área de toque consistente. */
  .btn,.contact-submit,.step-next,.step-back,.domain-register-btn,.blog-filter-toggle,.blog-filter-clear{min-height:46px}
  .form-field input,.form-field select,.domain-input input{font-size:16px}
  .form-field textarea{font-size:16px}

  /* Evita cards apertados em telas intermediárias. */
  .contact-layout,.post-detail-layout{gap:30px}
  .blog-index-grid{gap:18px}
  .footer-main-clean{row-gap:34px}
}

@media (max-width:640px){
  :root{--header-h:70px}
  .container{width:calc(100% - 28px)}
  .section{padding:68px 0}

  /* Menu hamburguer: quadrado contornado, sem fundo. */
  .menu-toggle{width:42px;height:42px;border-radius:8px;padding:8px 9px}
  .menu-toggle span{width:19px}
  .mobile-menu-panel{width:calc(100% - 28px)}

  /* Atendimento: card compacto e com bastante margem lateral. */
  .support-widget{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));gap:10px}
  .support-launcher,.support-launcher-icon{width:52px;height:52px}
  .support-launcher-icon svg{width:21px;height:21px}
  .support-launcher-ring{inset:-5px}
  .support-launcher::before{inset:-9px}
  .support-chat{
    width:min(318px,calc(100vw - 46px));
    max-height:min(470px,calc(100dvh - 92px));
    border-radius:14px;
    transform-origin:bottom right;
  }
  .support-chat-head{min-height:66px;padding:11px 12px;gap:10px}
  .support-agent-avatar{width:40px;height:40px;flex-basis:40px}
  .support-agent-avatar span{width:10px!important;height:10px!important}
  .support-agent-copy strong{font-size:10.5px}
  .support-agent-copy small{font-size:8px}
  .support-close{width:30px;height:30px;font-size:19px}
  .support-chat-body{height:200px;max-height:30dvh;padding:14px 12px 15px;gap:8px}
  .support-bubble{max-width:88%;padding:9px 10px 8px;font-size:9.5px;line-height:1.6}
  .support-chat-footer{padding:11px 12px 12px}
  .support-service-btn{min-height:42px;font-size:9.5px}

  /* Modal step centralizado e realmente adaptável — não vira uma tela inteira. */
  .acquisition-modal{align-items:center;padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))}
  .acquisition-dialog{
    width:100%;
    max-width:560px;
    max-height:calc(100dvh - max(20px,env(safe-area-inset-top)) - max(20px,env(safe-area-inset-bottom)));
    border-radius:15px;
  }
  .acquisition-head{padding:24px 18px 18px}
  .acquisition-head h2{padding-right:40px;font-size:21px;line-height:1.32}
  .acquisition-head p{padding-right:10px;font-size:9px;line-height:1.6}
  .acquisition-progress{gap:4px;margin-top:17px}
  .acquisition-close{right:11px;top:11px;width:34px;height:34px}
  .acquisition-form{padding:20px 17px calc(18px + env(safe-area-inset-bottom))}
  .step-heading{margin-bottom:17px}
  .step-heading h3{font-size:18px}
  .step-heading p{font-size:9px}
  .choice-grid,.modal-plan-grid{gap:10px}
  .choice-grid-two{grid-template-columns:1fr}
  .choice-card{min-height:96px;padding:16px;border-radius:9px}
  .choice-icon{width:36px;height:36px;margin-bottom:9px}
  .compact-choice{min-height:78px}
  .modal-billing{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .modal-billing button{min-height:46px;padding-bottom:8px}
  .modal-plan-card{min-height:0!important;display:flex!important;flex-direction:column;padding:16px 15px!important;border-radius:10px}
  .modal-plan-head,.modal-plan-copy,.modal-plan-card ul,.modal-plan-price{width:100%}
  .modal-plan-copy{margin-top:12px}
  .modal-plan-card ul{margin-top:11px;padding-top:10px}
  .modal-plan-price{margin-top:0;padding-top:12px;text-align:left!important}
  .modal-plan-popular{right:13px;top:12px}
  .modal-plan-popular+.modal-plan-head{padding-top:15px}
  .acquisition-summary>div{grid-template-columns:88px minmax(0,1fr);gap:9px;padding:11px}
  .acquisition-summary strong,.acquisition-summary small{overflow-wrap:anywhere}
  .summary-consent{grid-template-columns:22px minmax(0,1fr);padding:11px}
  .acquisition-actions{
    position:sticky;
    bottom:0;
    z-index:4;
    gap:8px;
    margin:20px -17px -18px;
    padding:11px 17px calc(11px + env(safe-area-inset-bottom));
    border-top:1px solid #edf1f5;
    box-shadow:0 -8px 22px rgba(8,24,40,.05);
  }
  .step-back{flex:0 0 auto;min-width:72px;padding-inline:7px}
  .step-next{min-width:0;flex:1;padding-inline:16px}
  .acquisition-modal.is-success{padding:12px}
  .acquisition-modal.is-success .acquisition-dialog{width:100%;max-width:430px;border-radius:14px}
  .acquisition-success{min-height:250px;padding:38px 24px 32px}
  .acquisition-success-icon{width:62px;height:62px;margin-bottom:17px}
  .acquisition-success h3{font-size:20px}

  /* Formulários e páginas internas. */
  .contact-form-card{padding:25px 18px 23px}
  .contact-form-head h2{font-size:22px}
  .contact-submit{width:100%}
  .contact-consent{grid-template-columns:22px minmax(0,1fr)}
  .blog-filter-bar{grid-template-columns:1fr!important}
  .blog-filter-clear{width:100%}
  .blog-pagination{flex-wrap:wrap;justify-content:center}
  .post-share-row{align-items:flex-start;gap:13px}
  .post-share-buttons{gap:8px}

  /* Footer mobile mais respirado e legível. */
  .footer-main-clean{grid-template-columns:1fr 1fr;gap:32px 22px;padding:66px 0 52px}
  .footer-about,.footer-contact-col{grid-column:1/-1}
  .footer-bottom{padding:21px 0}
}

@media (max-width:520px){
  .footer-main-clean{grid-template-columns:1fr;gap:28px;padding-top:62px}
  .footer-about,.footer-contact-col{grid-column:auto}
  .footer-col h3{margin-bottom:14px}
  .footer-col>a{margin:9px 0}
  .footer-legal{grid-template-columns:1fr}

  .post-sidebar{display:grid;gap:16px}
  .sidebar-widget{margin:0}
}

@media (max-width:420px){
  .container{width:calc(100% - 24px)}
  .mobile-menu-panel{width:calc(100% - 24px)}
  .support-chat{width:min(296px,calc(100vw - 40px))}
  .support-chat-body{height:186px;max-height:28dvh}
  .support-launcher,.support-launcher-icon{width:50px;height:50px}

  .acquisition-modal{padding:8px}
  .acquisition-dialog{max-height:calc(100dvh - 16px);border-radius:13px}
  .acquisition-head{padding:22px 15px 16px}
  .acquisition-form{padding:18px 14px calc(16px + env(safe-area-inset-bottom))}
  .acquisition-actions{margin-left:-14px;margin-right:-14px;margin-bottom:-16px;padding-left:14px;padding-right:14px}
  .acquisition-summary>div{grid-template-columns:1fr;gap:3px}
  .acquisition-summary small{grid-column:1}
  .step-back{min-width:64px;font-size:9.5px}
  .step-next{font-size:11px}

  .domain-option-row{grid-template-columns:1fr!important}
  .domain-register-btn{grid-column:1!important;grid-row:auto!important;width:100%}
  .domain-option-price{text-align:left!important}
}

@media (max-width:360px){
  .container{width:calc(100% - 20px)}
  .mobile-menu-panel{width:calc(100% - 20px)}
  .support-chat{width:calc(100vw - 34px)}
  .support-chat-head{padding-inline:10px}
  .support-chat-body{padding-inline:10px}
  .support-chat-footer{padding-inline:10px}
  .acquisition-head h2{font-size:19px}
  .step-heading h3{font-size:17px}
  .modal-billing{gap:10px}
}

@media (prefers-reduced-motion:reduce){
  .mobile-menu{transition:none}
}
@media (max-width:900px){
  .mobile-menu.is-open{max-height:calc(100dvh - var(--header-h))}
}


/* Cloudflare Turnstile - formulário de contato + modal de contratação */
.drhost-turnstile-shell{
  width:100%;
  margin:15px 0 17px;
  padding:13px 14px;
  border:1px solid #e1e8f0;
  border-radius:8px;
  background:#fff;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.drhost-turnstile-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.drhost-turnstile-heading span{color:var(--heading);font-size:10px;font-weight:600}
.drhost-turnstile-heading small{color:#9aa5b1;font-size:8.5px;font-weight:500}
.drhost-turnstile{width:100%;min-height:65px;overflow:hidden}
.drhost-turnstile>div,.drhost-turnstile iframe{max-width:100%!important}
.drhost-turnstile-loading{margin-top:7px;color:#98a3af;font-size:9px;line-height:1.45}
.drhost-turnstile-shell.is-rendered .drhost-turnstile-loading{display:none}
.drhost-turnstile-shell.is-verified{border-color:#cfdcea;box-shadow:0 5px 18px rgba(8,24,40,.035)}
.drhost-turnstile-shell.is-error{border-color:#e2e7ed}
.drhost-turnstile-shell.is-error .drhost-turnstile-loading{display:block;color:#6e7a87}
.acquisition-step .drhost-turnstile-shell{margin-top:18px;margin-bottom:14px}
@media (max-width:420px){
  .drhost-turnstile-shell{padding:11px 10px;margin:13px 0 15px}
  .drhost-turnstile-heading{align-items:flex-start;flex-direction:column;gap:2px;margin-bottom:8px}
  .drhost-turnstile{min-height:62px}
}

/* Etapa 88 · hardening responsivo final (somente telas menores) */
@media(max-width:900px){
  html,body{max-width:100%;overflow-x:hidden}
  img,svg,video,iframe{max-width:100%;height:auto}
  .container,.contact-content-shell,.blog-page-shell,.single-post-shell{min-width:0}
  .acquisition-dialog,.support-chat,.contact-form-card,.domain-box{max-width:100%}
}
@media(max-width:640px){
  .drhost-turnstile-shell{width:100%;max-width:100%;overflow:hidden}
  .drhost-turnstile{transform-origin:left top}
  .acquisition-summary>div{min-width:0}
  .acquisition-summary strong,.acquisition-summary small{overflow-wrap:anywhere}
}
@media(max-width:360px){
  .container{width:calc(100% - 24px)}
  .support-chat{right:10px;left:auto;width:min(310px,calc(100vw - 20px))}
  .acquisition-modal{padding:8px}
  .acquisition-dialog{border-radius:12px}
}

/* === ETAPA 89 · refinamento exclusivo mobile === */
@media (max-width:640px){
  /* Header mobile mais presente, sem alterar tablet/desktop. */
  :root{--header-h:80px}
  .site-header,.header-inner{height:var(--header-h)}
  .header-inner{gap:18px}
  .brand-logo-set{height:46px}
  .brand-logo{max-width:165px;max-height:42px}
  .brand-symbol{width:38px;height:38px}
  .brand-text{font-size:21px}

  /* Mais respiro nas laterais em toda a experiência mobile. */
  .container{width:calc(100% - 44px)}
  .mobile-menu-panel{width:calc(100% - 44px)}

  /* Hambúrguer / X geométrico: as três linhas usam o mesmo centro. */
  .menu-toggle{
    position:relative;
    display:block;
    width:46px;
    height:46px;
    padding:0;
    border-radius:9px;
  }
  .menu-toggle span{
    position:absolute;
    left:50%;
    width:20px;
    height:2px;
    margin:0;
    border-radius:999px;
    transform:translateX(-50%);
    transform-origin:center;
    transition:top .22s ease,transform .22s ease,opacity .18s ease;
  }
  .menu-toggle span:nth-child(1){top:15px}
  .menu-toggle span:nth-child(2){top:22px}
  .menu-toggle span:nth-child(3){top:29px}
  .menu-toggle.is-open span:nth-child(1),
  .menu-toggle.is-open span:nth-child(3){top:50%}
  .menu-toggle.is-open span:nth-child(1){transform:translate(-50%,-50%) rotate(45deg)}
  .menu-toggle.is-open span:nth-child(2){top:50%;opacity:0;transform:translate(-50%,-50%) scaleX(.35)}
  .menu-toggle.is-open span:nth-child(3){transform:translate(-50%,-50%) rotate(-45deg)}

  /* Feedbacks: recupera presença e altura no celular. */
  .testimonials .section-title.centered{margin-bottom:36px}
  .testimonial-viewport{margin:-22px -14px -30px;padding:22px 14px 30px}
  .testimonial-card{
    min-height:310px;
    padding:29px 25px 24px;
    border-radius:10px;
  }
  .testimonial-card>p{
    margin-bottom:22px;
    padding-right:8px;
    font-size:11.5px;
    line-height:1.85;
  }
  .testimonial-person{margin-top:auto;gap:11px;padding-top:15px}
  .testimonial-person .avatar-img,.avatar-photo{width:44px;height:44px;flex-basis:44px}
  .testimonial-person b{font-size:10.5px;line-height:1.3}
  .testimonial-person span{margin-top:3px;font-size:8.7px;line-height:1.35}
  .quote-mark{font-size:48px}
  .testimonials .slider-dots{margin-top:28px}
}

@media (max-width:420px){
  /* Mantém bom respiro mesmo em aparelhos estreitos. */
  .container{width:calc(100% - 36px)}
  .mobile-menu-panel{width:calc(100% - 36px)}
  .testimonial-card{min-height:300px;padding:27px 22px 22px}
}

@media (max-width:360px){
  .container{width:calc(100% - 32px)}
  .mobile-menu-panel{width:calc(100% - 32px)}
  .testimonial-card{min-height:292px;padding-inline:20px}
}
