/* assets/css/site.css */
@font-face{font-family:RedHat;src:url("https://juanmoura.com/wp-content/themes/juan-moura-conexao/assets/fonts/RedHatDisplay.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap}:root{--deep:#002d54;--mid:#2b78bb;--light:#8ebfea;--ice:#eaf3fa;--white:#fff;--body:RedHat,Arial,sans-serif;}*{box-sizing:border-box;}html{scroll-behavior:smooth;scroll-padding-top:24px;}body{margin:0;background:var(--white);color:var(--deep);font:18px/1.65 var(--body);-webkit-font-smoothing:antialiased;}h1,:is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)),:is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)),p,figure{margin:0;}a{color:inherit;text-underline-offset:5px;}button{font:inherit;cursor:pointer;}button,a{-webkit-tap-highlight-color:transparent;}img{display:block;max-width:100%;}button{border:0;}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--mid);outline-offset:6px;}[hidden]{display:none!important;}.wrap{width:min(1224px,calc(100% - 96px));margin-inline:auto;}.section{padding-block:92px;}.eyebrow{font-size:14px;line-height:1.5;font-weight:750;letter-spacing:1.35px;text-transform:uppercase;margin-bottom:18px;}.display{font:800 clamp(52px,5.2vw,74px)/.98 var(--heading);}.button{display:inline-flex;align-items:center;justify-content:center;line-height:1.5;text-decoration:none;text-align:center;}.button:hover{text-decoration:none;}.text-link{display:inline-block;font-size:16px;font-weight:750;line-height:1.5;padding-block:8px;text-decoration:underline;text-decoration-thickness:1px;}.text-link:hover{text-decoration-thickness:2px;}.skip-link{position:fixed;top:10px;left:16px;background:var(--white);color:var(--blue);padding:14px 20px;z-index:100;transform:translateY(-170%);}.skip-link:focus{transform:none;}.brand{display:inline-block;flex:none;text-decoration:none;}.brand-art{width:182px;height:82px;position:relative;overflow:hidden;display:block;}.brand-art img{width:306px;height:204px;max-width:none;position:absolute;left:-64px;top:-55.5px;}.site-header{color:var(--white);}.header-row{display:flex;justify-content:space-between;align-items:center;gap:40px;min-height:112px;}.site-nav{display:flex;align-items:center;gap:27px;font-size:16px;line-height:1.5;font-weight:600;}.site-nav a{text-decoration:none;white-space:nowrap;padding-block:14px;}.site-nav a:hover{text-decoration:underline;}.site-nav .nav-contact{background:var(--white);color:var(--blue);border-radius:6px;padding:13px 24px;font-weight:750;}.site-nav .nav-contact:hover{background:var(--ice);text-decoration:none;}.menu-toggle{display:none;color:var(--blue);background:var(--white);border-radius:5px;padding:12px 19px;font-size:16px;font-weight:750;}.site-header a:focus-visible,.site-header button:focus-visible,.hero a:focus-visible,.site-footer a:focus-visible{outline-color:var(--white);}.hero{color:var(--white);overflow:hidden;isolation:isolate;position:relative;}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background-size:350px;opacity:.032;pointer-events:none;}.hero h1{font:800 clamp(74px,7.7vw,110px)/.93 var(--heading);margin-top:22px;}.hero h1 span{white-space:nowrap;}.clients{padding-block:27px;background:var(--white);}.client-row{display:grid;grid-template-columns:225px minmax(0,1fr);align-items:center;gap:50px;}.client-row>p{font-size:15px;line-height:1.65;color:var(--blue);}.client-window{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent);}.client-track{display:flex;width:max-content;animation:client-travel 27s linear infinite;}.client-group{display:flex;align-items:center;gap:70px;padding-right:70px;}.client-group a{display:block;flex:none;}.client-art{display:block;width:180px;height:78px;position:relative;overflow:hidden;filter:grayscale(1);}.client-art img{position:absolute;max-width:none;}.client-feito img{width:210px;height:210px;left:-15px;top:-68px;}.client-tamo{width:155px;border-radius:3px;}.client-tamo img{width:226px;height:auto;left:-36px;top:-25px;}.client-apto img{width:124px;height:124px;left:28px;top:-25px;}.client-window:hover .client-track,.client-window:focus-within .client-track{animation-play-state:paused;}.client-group a:focus-visible{outline-offset:-3px;}.client-group a:hover .client-art{filter:none;}@keyframes client-travel{to{transform:translateX(-50%)}}.section-heading{display:grid;grid-template-columns:1.05fr 1fr;gap:90px;align-items:end;margin-bottom:42px;}.section-heading>p,.section-heading>div>p:not(.eyebrow){font-size:20px;line-height:1.7;max-width:480px;}.services .eyebrow{color:var(--blue);}.services .display{color:var(--blue);}.service-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin-bottom:31px;}.service-tab{color:var(--blue);background:transparent;border-bottom:3px solid var(--ice);padding:18px 4px 18px;text-align:left;display:flex;align-items:baseline;gap:13px;font-size:21px;line-height:1.3;font-weight:750;}.service-tab[aria-selected=true]{border-bottom-color:var(--blue);}.service-tab:hover{color:var(--deep);}.service-index{font-size:14px;line-height:1.3;font-weight:550;color:var(--mid);}.service-panels{padding:42px;border-radius:10px;}.service-panel{display:grid;grid-template-columns:.93fr 1.12fr;gap:47px;align-items:center;min-height:380px;}.service-label{font-size:14px;line-height:1.5;font-weight:750;color:var(--blue);margin-bottom:17px;}.service-explanation :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:33px;line-height:1.16;letter-spacing:-1px;max-width:390px;}.service-explanation>p:not(.service-label){font-size:18px;line-height:1.75;margin-top:18px;}.deliverables{padding:0;list-style:none;font-size:15px;line-height:1.7;margin:20px 0;color:var(--blue);}.deliverables li{display:inline;}.deliverables li+li:before{content:" / ";font-weight:400;white-space:pre;}.service-explanation .button{font-size:15px;padding-inline:21px;}.service-visual{min-width:0;}.service-visual figcaption{font-size:12px;line-height:1.6;margin-top:11px;color:var(--blue);}.platforms{margin-top:27px;font-size:15px;line-height:1.75;color:var(--blue);}.platforms strong{font-weight:750;}.jm-service-art{background:var(--blue);color:var(--white);min-height:320px;padding:23px 25px;overflow:hidden;border-radius:6px;}.jm-art-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:13px;line-height:1.5;}.jm-art-caption>span:first-child{font-weight:750;}.jm-art-caption>span:last-child{font-size:11px;white-space:nowrap;}.jm-art-foot{font-size:14px;line-height:1.6;text-align:center;margin-top:24px;}.jm-map{margin:29px auto 0;max-width:470px;}.jm-map-home{width:130px;padding:12px;text-align:center;font-size:19px;font-weight:750;border-radius:3px;margin:auto;}.jm-map-trunk{height:25px;width:1px;margin:auto;}.jm-map-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;position:relative;}.jm-map-branches:before{content:"";height:1px;position:absolute;left:calc(16.666% - 4px);right:calc(16.666% - 4px);top:0;}.jm-map-branches>div{text-align:center;padding-top:19px;position:relative;}.jm-map-branches>div:before{content:"";height:19px;width:1px;position:absolute;left:50%;top:0;}.jm-map-branches span{display:block;background:var(--white);color:var(--blue);font-size:14px;font-weight:750;padding:10px 3px;border-radius:3px;}.jm-map-branches i{height:14px;width:1px;display:block;margin:auto;}.jm-map-branches small{font-size:13px;line-height:1.7;display:block;}.jm-waterfall{margin-top:35px;}.jm-waterfall-scale{display:flex;justify-content:space-between;padding-left:74px;font-size:11px;margin-bottom:23px;gap:10px;}.jm-waterfall-row{display:grid;grid-template-columns:63px minmax(0,1fr);gap:11px;margin-top:19px;align-items:center;font-size:14px;}.jm-waterfall-row>div{height:22px;position:relative;background:repeating-linear-gradient(to right,transparent 0,transparent calc(25% - 1px),#ffffff25 calc(25% - 1px),#ffffff25 25%);}.jm-waterfall-row i{position:absolute;top:3px;height:16px;left:var(--start);width:var(--length);background:var(--white);border-radius:2px;}.jm-page-spread{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;margin-top:24px;}.jm-page-outline{background:var(--white);color:var(--blue);padding:19px;min-height:235px;border-radius:4px;}.jm-page-outline>span{font-size:11px;display:block;margin-bottom:15px;}.jm-page-outline>strong{font-size:22px;line-height:1.2;letter-spacing:-.5px;display:block;margin-bottom:20px;}.jm-page-line{height:5px;background:var(--ice);margin-top:9px;}.jm-line-short{width:77%;}.jm-page-subheading{height:9px;width:70%;background:var(--mid);margin-block:20px 11px;}.jm-page-annotations p{font-size:13px;line-height:1.65;}.jm-page-annotations p+p{margin-top:17px;}.jm-page-annotations strong{font-size:16px;line-height:1.5;display:block;color:var(--white);margin-bottom:3px;}.jm-plan{margin-top:25px;}.jm-plan>div{display:grid;grid-template-columns:1.4fr .85fr;align-items:center;gap:18px;padding-block:13px;}.jm-plan strong{font-size:15px;font-weight:650;line-height:1.5;}.jm-plan>div>span:last-child{font-size:13px;text-align:right;}.jm-plan>.jm-plan-head{font-size:12px;border-bottom:1px solid #ffffff40;padding-top:0;}.jm-plan>.jm-plan-head>span:last-child{font-size:12px;}.case-feature-copy>p:not(.case-metric):not(.eyebrow){font-size:18px;line-height:1.75;color:var(--ice);margin-top:18px;max-width:430px;}.about-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:83px;}.about-visual{flex-direction:column;}.about-visual figure{position:relative;flex:1;overflow:hidden;border-radius:8px 8px 0 0;}.about-visual figure>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:45% 40%;}.about-visual figcaption{position:absolute;bottom:0;left:0;background:var(--deep);color:var(--white);padding:20px 25px;font-size:16px;line-height:1.6;min-width:72%;}.brand-ribbon{height:65px;overflow:hidden;}.brand-ribbon svg{height:65px;width:100%;display:block;}.about .eyebrow{color:var(--blue);}.about .display{max-width:550px;color:var(--blue);}.about .display>span{color:var(--deep);}.about-lead{font-size:23px!important;line-height:1.5!important;font-weight:650;margin-top:28px!important;}.about-copy>p:not(.eyebrow){font-size:18px;line-height:1.8;margin-top:20px;}.about-copy .button{margin-top:28px;}.writing-intro>p{font-size:20px;line-height:1.75;}.writing-intro .button{margin-top:24px;}.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:stretch;}.post{display:flex;flex-direction:column;min-width:0;}.post-cover{display:block;aspect-ratio:1.3;border-radius:7px;overflow:hidden;}.post-cover>img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease;}.post-cover:hover>img{transform:scale(1.03);}.post-meta{font-size:13px;line-height:1.7;color:var(--blue);margin-top:20px;margin-bottom:13px;}.post :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:25px;line-height:1.25;letter-spacing:-.65px;margin-bottom:16px;}.post :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)) a{text-decoration:none;}.post :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)) a:hover{text-decoration:underline;}.post-excerpt{font-size:17px;line-height:1.8;margin-bottom:19px;flex:1;}.post .text-link{align-self:flex-start;font-size:16px;}.site-footer{color:var(--white);}.footer-directory{display:grid;grid-template-columns:1fr .8fr 1.6fr;gap:60px;}.footer-identity .brand{margin-top:-16px;margin-bottom:16px;}.footer-identity>p{font-size:16px;line-height:1.7;color:var(--ice);margin-bottom:18px;}.footer-identity>a:not(.brand){display:table;font-size:15px;line-height:1.7;margin-top:9px;text-decoration:none;overflow-wrap:anywhere;}.footer-identity>a:not(.brand):hover{text-decoration:underline;}.footer-identity>.text-link{margin-top:18px!important;text-decoration:underline!important;}.footer-nav :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)){font-size:18px;font-weight:750;line-height:1.5;margin-bottom:21px;}.footer-nav ul{list-style:none;padding:0;margin:0;}.footer-nav li{font-size:15px;line-height:1.6;break-inside:avoid;margin-bottom:13px;color:var(--ice);}.footer-nav a{display:inline-block;padding-block:2px;text-decoration:none;}.footer-nav a:hover{text-decoration:underline;color:var(--white);}.footer-services ul{column-count:2;column-gap:30px;}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:35px;padding-block:28px;color:var(--light);font-size:13px;line-height:1.6;}.footer-bottom a{color:var(--white);font-size:14px;padding-block:10px;}@media (min-width:1650px){.wrap{width:min(1320px,calc(100% - 120px));}}@media (max-width:1150px){.wrap{width:calc(100% - 72px);}.site-nav{gap:19px;font-size:15px;}.header-row{gap:25px;}.brand-art{width:161px;height:72px;}.brand-art img{width:270px;height:180px;left:-56.5px;top:-49px;}.section-heading{gap:60px;}.client-row{grid-template-columns:200px minmax(0,1fr);gap:30px;}.service-tab{font-size:19px;gap:9px;}.service-tabs{gap:19px;}.service-panels{padding:32px;}.service-panel{gap:32px;}.service-explanation :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:30px;}.jm-service-art{padding-inline:20px;}.jm-map-branches span{font-size:13px;}.jm-page-spread{gap:18px;}.jm-page-outline{padding:15px;}.jm-page-outline>strong{font-size:20px;}.about-grid{gap:55px;}.about-visual figure{min-height:635px;}.footer-directory{gap:40px;}}@media (max-width:1000px){.header-row{flex-wrap:wrap;min-height:98px;padding-block:13px;gap:0;}.menu-toggle{display:block;}.site-nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding-block:18px 15px;}.site-nav.is-open{display:flex;}.site-nav a{font-size:17px;padding-block:14px;min-height:50px;}.site-nav .nav-contact{margin-top:12px;text-align:center;}.hero h1{font-size:77px;letter-spacing:-1px;}.section{padding-block:74px;}.display{font-size:61px;}.section-heading{gap:45px;}.section-heading>p{font-size:19px;}.service-tabs{gap:15px;}.service-tab{font-size:17px;gap:9px;}.service-panels{padding:29px;}.service-panel{grid-template-columns:.95fr 1.05fr;gap:27px;}.service-explanation :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:27px;}.service-explanation>p:not(.service-label){font-size:17px;}.service-label{font-size:13px;}.service-explanation .button{font-size:14px;padding-inline:17px;}.jm-service-art{padding-inline:15px;}.jm-art-caption{gap:10px;font-size:12px;align-items:start;}.jm-art-caption>span:last-child{font-size:10px;}.jm-map-branches{gap:7px;}.jm-map-branches span{font-size:12px;}.jm-map-branches small{font-size:12px;}.jm-art-foot{font-size:13px;}.jm-page-spread{gap:15px;}.jm-page-outline{padding:14px 12px;}.jm-page-outline>strong{font-size:18px;}.jm-page-annotations p{font-size:12px;}.jm-page-annotations strong{font-size:14px;}.jm-plan>div{gap:12px;}.jm-plan strong{font-size:13px;}.jm-plan>div>span:last-child{font-size:12px;}.case-feature-copy>p:not(.case-metric):not(.eyebrow){font-size:17px;}.about-grid{grid-template-columns:.87fr 1.13fr;gap:38px;}.about .display{font-size:42px;}.about-copy>p:not(.eyebrow){font-size:17px;}.about-lead{font-size:21px!important;}.about-visual figure{min-height:670px;}.about-visual figcaption{font-size:15px;padding:16px 19px;}.posts{gap:25px;}.post :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:23px;}.post-excerpt{font-size:16px;}.post-meta{font-size:12px;}.footer-directory{grid-template-columns:.9fr .8fr 1.4fr;gap:30px;}.footer-nav li{font-size:14px;}.footer-services ul{column-gap:20px;}.footer-identity>p{font-size:15px;}.footer-identity>a:not(.brand){font-size:13px;}}@media (max-width:760px){.wrap{width:calc(100% - 48px);}.clients{padding-block:23px;}.client-row{grid-template-columns:1fr;gap:15px;}.client-row>p{font-size:14px;}.client-row>p br{display:none;}.client-group{gap:35px;padding-right:35px;}.client-art{width:155px;}.client-tamo{width:145px;}.client-feito img{left:-26px;}.client-apto img{left:15px;}.section-heading{grid-template-columns:1fr;}.section-heading>p{max-width:600px;}.service-tabs{grid-template-columns:1fr 1fr;}.service-tab{padding-block:18px;}.service-index{font-size:13px;}.service-panel{grid-template-columns:1fr;}.service-explanation :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){max-width:440px;}.service-label{font-size:14px;}.service-visual{width:100%;}.jm-service-art{padding:23px 25px;min-height:325px;}.jm-art-caption{font-size:14px;}.jm-art-caption>span:last-child{font-size:11px;}.jm-map{max-width:470px;}.jm-map-branches{gap:17px;}.jm-map-branches span{font-size:15px;}.jm-map-branches small{font-size:14px;}.jm-art-foot{font-size:14px;}.jm-waterfall-row{grid-template-columns:75px 1fr;font-size:16px;gap:15px;}.jm-waterfall-scale{padding-left:90px;font-size:12px;}.jm-page-spread{gap:28px;}.jm-page-outline{padding:22px;}.jm-page-outline>strong{font-size:24px;}.jm-page-annotations p{font-size:14px;}.jm-page-annotations strong{font-size:17px;}.jm-plan strong{font-size:17px;}.jm-plan>div>span:last-child{font-size:15px;}.case-feature-copy>p:not(.case-metric):not(.eyebrow){font-size:18px;max-width:580px;}.about-visual{justify-self:center;}.about-visual figcaption{font-size:16px;min-width:70%;padding:18px 24px;}.about .display{max-width:600px;}.about-lead{font-size:23px!important;}.writing-intro>p{max-width:580px;}.writing-intro .button{margin-top:23px;}.post:first-child{grid-template-columns:1fr 1fr;align-items:start;}.post:first-child .post-cover{grid-row:1/5;}.post:first-child .post-meta{margin-top:0;}.post:first-child .text-link{justify-self:start;}.footer-directory{grid-template-columns:1fr 1fr;gap:40px 35px;}.footer-services{grid-column:1/-1;}.footer-services ul{column-count:2;column-gap:35px;}.footer-nav li{font-size:15px;}.footer-identity>p{font-size:16px;}.footer-identity>a:not(.brand){font-size:15px;}.footer-bottom{font-size:12px;margin-top:26px;}}@media (max-width:480px){.wrap{width:calc(100% - 40px);}.header-row{min-height:91px;padding-block:11px;}.brand-art{width:151px;height:68px;}.brand-art img{width:253px;height:168.67px;left:-53px;top:-45.9px;}.menu-toggle{font-size:15px;padding:11px 17px;}.hero .eyebrow{font-size:12px;letter-spacing:.9px;margin-bottom:18px;}.hero h1{margin-top:0;}.clients{padding-block:23px;}.client-row{gap:11px;}.client-art{width:140px;height:70px;}.client-tamo{width:135px;}.client-group{gap:30px;padding-right:30px;}.client-feito img{width:190px;height:190px;left:-25px;top:-61px;}.client-tamo img{width:208px;left:-36px;top:-22px;}.client-apto img{width:112px;height:112px;left:14px;top:-22px;}.section{padding-block:52px;}.eyebrow{font-size:12px;letter-spacing:1.1px;margin-bottom:16px;}.section-heading{gap:22px;margin-bottom:27px;}.section-heading>p{font-size:18px;line-height:1.75;}.service-tabs{gap:3px 17px;margin-bottom:25px;}.service-tab{font-size:17px;gap:9px;padding-block:16px;}.service-index{font-size:11px;}.service-panels{padding:24px 20px;border-radius:8px;}.service-panel{gap:25px;}.service-explanation :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:28px;line-height:1.2;letter-spacing:-.7px;}.service-label{font-size:12px;margin-bottom:15px;}.service-explanation>p:not(.service-label){font-size:17px;line-height:1.8;}.deliverables{font-size:14px;line-height:1.8;margin-block:18px 22px;}.service-explanation .button{font-size:14px;min-height:52px;padding:13px 15px;}.jm-service-art{min-height:286px;padding:20px 14px;}.jm-art-caption{font-size:12px;gap:10px;}.jm-art-caption>span:last-child{font-size:9px;}.jm-art-caption>span:first-child{max-width:150px;}.jm-map{margin-top:27px;}.jm-map-home{font-size:17px;width:120px;padding:11px;}.jm-map-branches{gap:6px;}.jm-map-branches span{font-size:11px;padding:10px 1px;}.jm-map-branches small{font-size:11px;}.jm-art-foot{font-size:12px;line-height:1.7;margin-top:22px;}.service-visual figcaption{font-size:11px;line-height:1.7;}.jm-waterfall-row{grid-template-columns:48px 1fr;gap:8px;font-size:11px;margin-top:19px;}.jm-waterfall-scale{padding-left:56px;font-size:10px;gap:8px;}.jm-page-spread{gap:13px;}.jm-page-outline{padding:15px 10px;min-height:209px;}.jm-page-outline>span{font-size:9px;}.jm-page-outline>strong{font-size:17px;margin-bottom:16px;}.jm-page-annotations p{font-size:11px;line-height:1.55;}.jm-page-annotations strong{font-size:12px;}.jm-page-annotations p+p{margin-top:15px;}.jm-plan>div{gap:9px;padding-block:12px;grid-template-columns:1.35fr .8fr;}.jm-plan strong{font-size:12px;}.jm-plan>div>span:last-child{font-size:11px;}.jm-plan>.jm-plan-head,.jm-plan>.jm-plan-head>span:last-child{font-size:10px;}.platforms{font-size:13px;margin-top:22px;}.platforms strong{display:block;margin-bottom:4px;}.case-feature-copy>p:not(.case-metric):not(.eyebrow){font-size:17px;line-height:1.8;}.about-grid{gap:32px;}.about-visual figure{min-height:355px;aspect-ratio:1;}.about-visual figcaption{font-size:14px;padding:16px 20px;}.brand-ribbon,.brand-ribbon svg{height:48px;}.about-lead{font-size:21px!important;line-height:1.55!important;margin-top:24px!important;}.about-copy>p:not(.eyebrow){font-size:18px;line-height:1.8;margin-top:20px;}.about-copy .button{font-size:15px;margin-top:25px;}.writing-intro .button{font-size:15px;}.posts{grid-template-columns:1fr;gap:38px;}.post:first-child{display:flex;grid-column:auto;gap:0;}.post:first-child .post-cover,.post-cover{aspect-ratio:1.3;min-height:0;height:auto;}.post:first-child .post-meta,.post-meta{margin-top:19px;font-size:12px;}.post :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:25px;line-height:1.3;}.post-excerpt{font-size:17px;line-height:1.8;}.post .text-link{font-size:15px;}.site-footer{padding-top:40px;}.footer-directory{grid-template-columns:1fr;gap:34px;}.footer-identity .brand{margin-top:-12px;margin-bottom:17px;}.footer-identity>p{font-size:16px;line-height:1.75;}.footer-identity>a:not(.brand){font-size:15px;}.footer-nav :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)){font-size:18px;margin-bottom:18px;}.footer-nav li{font-size:15px;line-height:1.65;margin-bottom:11px;}.footer-quick ul{column-count:2;column-gap:20px;}.footer-services{grid-column:auto;}.footer-services ul{column-count:1;}.footer-bottom{display:block;margin-top:18px;padding-block:21px 24px;font-size:12px;line-height:1.7;}.footer-bottom a{display:inline-block;font-size:13px;margin-top:9px;}}@media (max-width:350px){.wrap{width:calc(100% - 32px);}.service-panels{padding:22px 16px;}.service-index{font-size:10px;}.service-explanation :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:26px;}.service-explanation .button{font-size:13px;padding-inline:13px;}.jm-art-caption{font-size:11px;}.jm-art-caption>span:last-child{font-size:8px;}.jm-map-branches span{font-size:10px;}.jm-map-branches small{font-size:10px;}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}.client-track{animation:none;}.button,.post-cover>img{transition:none;}.client-group[aria-hidden=true]{display:none;}}:root{--heading:RedHat,Arial,sans-serif;}.display{font-weight:700;font-size:clamp(44px,4.45vw,64px);line-height:1.07;letter-spacing:-2.3px;}.hero h1{font-weight:750;font-size:clamp(68px,6.12vw,88px);line-height:1.02;letter-spacing:-3.4px;}.about .display{font-size:45px;line-height:1.12;letter-spacing:-1.9px;}.service-explanation :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-weight:700;}.post :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-weight:700;}@media (min-width:1650px){.hero h1{font-size:96px;}.display{font-size:68px;}.about .display{font-size:50px;}}@media (max-width:1150px){.hero h1{font-size:76px;}.display{font-size:58px;}.about .display{font-size:40px;}}@media (max-width:1000px) and (min-width:761px){.hero h1{font-size:clamp(48px,6.05vw,66px);letter-spacing:-2.4px;}.display{font-size:51px;}.about .display{font-size:36px;}}@media (max-width:760px){.display{font-size:54px;}.about .display{font-size:43px;}}@media (max-width:480px){.hero h1{font-size:clamp(39px,11.8vw,56px);letter-spacing:-1.9px;line-height:1.05;}.display{font-size:44px;letter-spacing:-1.6px;line-height:1.1;}.about .display{font-size:37px;line-height:1.15;letter-spacing:-1.5px;}.hero h1 span{white-space:nowrap;}}@media (max-width:350px){.hero h1{font-size:11.8vw;letter-spacing:-1.3px;}.display{font-size:41px;}.about .display{font-size:34px;}}.about-grid>*{min-width:0;}.about-visual figure{width:100%;}.project-copy>p:not(.project-client){font-size:18px;line-height:1.75;max-width:505px;}.services .display{font-size:54px;line-height:1.1;}.about-grid{align-items:start;}.about-visual{display:block;align-self:start;}.about-visual figure{height:495px;min-height:0;aspect-ratio:auto;}.about-visual figcaption strong{font-size:18px;line-height:1.4;display:block;font-weight:700;}.about-visual figcaption span{display:block;font-size:15px;line-height:1.6;margin-top:3px;}.about-visual blockquote{margin:28px 0 0;font-size:23px;line-height:1.5;letter-spacing:-.4px;font-weight:550;color:var(--blue);}.about-platforms{font-size:15px;line-height:1.8;margin-top:23px;color:var(--blue);}.about-platforms strong{display:block;font-weight:750;margin-bottom:7px;}.about-practice{margin-top:55px;}.about-practice>:is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:27px;line-height:1.3;letter-spacing:-.6px;font-weight:700;margin-bottom:27px;}.about-practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:43px;}.about-practice-grid :is(h4:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h4)){font-size:21px;line-height:1.4;color:var(--blue);margin:0 0 12px;font-weight:700;letter-spacing:-.4px;}.about-practice-grid p{font-size:18px;line-height:1.8;}@media (max-width:1150px){.project-copy>p:not(.project-client){font-size:17px;}.services .display{font-size:48px;}.about-visual figure{height:450px;}.about-practice-grid{gap:30px;}}@media (max-width:1000px){.project-copy>p:not(.project-client){font-size:16px;}.services .display{font-size:43px;}.about-visual figure{height:410px;}.about-visual blockquote{font-size:21px;}.about-practice-grid :is(h4:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h4)){font-size:20px;}.about-practice-grid p{font-size:17px;}}@media (max-width:800px){.project-copy>p:not(.project-client){font-size:18px;}.about-practice-grid{grid-template-columns:1fr;gap:26px;}.about-practice-grid :is(h4:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h4)){font-size:22px;}.about-practice-grid p{font-size:18px;}}@media (max-width:550px){.project-copy>p:not(.project-client){font-size:18px;}.services .display{font-size:43px;}.about-visual figcaption strong{font-size:17px;}.about-visual figcaption span{font-size:14px;}.about-practice>:is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:25px;}.about-practice-grid :is(h4:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h4)){font-size:21px;}}@media (max-width:350px){.services .display{font-size:39px;}}.service-tab>span:last-child{min-width:0;}@media (max-width:350px){.service-tab{font-size:15px;gap:6px;}}#cases .wrap{margin-inline:auto;}@media (max-width:900px){#cases .wrap{width:calc(100% - 48px);}}#cases .wrap{width:min(1180px,calc(100% - 80px));}@media (max-width:1050px){#cases .wrap{width:calc(100% - 64px);}}@media (max-width:650px){#cases .wrap{width:calc(100% - 40px);}}#cases.human-section{padding-block:96px;}#cases .human-heading{font-size:clamp(40px,4vw,55px);line-height:1.12;font-weight:700;letter-spacing:-1.9px;}#cases .human-button{display:inline-flex;align-items:center;justify-content:center;text-align:center;font:650 16px/1.5 var(--body);text-decoration:none;max-width:100%;cursor:pointer;}#cases .human-button:hover{box-shadow:none;}#cases .human-work-title{display:flex;justify-content:space-between;align-items:end;gap:55px;margin-bottom:55px;}#cases .human-simple-link{font-size:17px;line-height:1.5;text-decoration:underline;font-weight:600;white-space:nowrap;}#cases .human-feature{display:grid;grid-template-columns:1.18fr 1fr;gap:65px;align-items:center;}#cases .human-feature figure{margin:0;overflow:hidden;align-self:stretch;min-height:395px;}#cases .human-feature img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0;}#cases .human-context{font-size:15px;line-height:1.65;font-weight:600;}#cases .human-feature :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:45px;letter-spacing:-1.6px;line-height:1.15;font-weight:700;margin-block:12px 20px;}#cases .human-feature-copy>p:not(.human-context){font-size:19px;line-height:1.75;max-width:430px;}#cases .human-result{margin-top:22px;}#cases .human-result strong{font-size:70px;font-weight:700;line-height:1.1;letter-spacing:-2.8px;display:block;}#cases .human-result span{font-size:17px;line-height:1.6;display:block;margin-top:5px;}#cases .human-feature-copy .human-button{margin-top:26px;}#cases .human-other-work{margin-top:68px;display:grid;grid-template-columns:1fr 1fr;gap:65px;}#cases .human-project{display:grid;grid-template-columns:130px 1fr;gap:24px;align-items:start;}#cases .human-client-image{height:100px;width:130px;position:relative;overflow:hidden;background:white;}#cases .human-feito img{width:175px;height:175px;position:absolute;left:-22px;top:-38px;max-width:none;}#cases .human-apto img{width:105px;height:105px;object-fit:cover;position:absolute;left:12px;top:-2px;}#cases .human-project :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:28px;line-height:1.2;font-weight:700;letter-spacing:-.6px;}#cases .human-project-copy>p{font-size:17px;line-height:1.7;margin-top:12px;}#cases .human-project-copy>.human-project-result{font-size:23px;line-height:1.35;font-weight:600;letter-spacing:-.4px;margin-top:20px;}#cases .human-project .human-button{padding:13px 17px;margin-top:23px;}#cases .human-case-note{margin-top:40px;font-size:13px;line-height:1.8;max-width:750px;}@media (max-width:1050px){#cases.human-section{padding-block:80px;}#cases .human-feature{gap:38px;}#cases .human-feature :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:40px;}#cases .human-feature figure{min-height:410px;}#cases .human-other-work{gap:35px;}#cases .human-project{grid-template-columns:1fr;gap:20px;}#cases .human-heading{font-size:46px;}}@media (max-width:760px){#cases .human-feature{grid-template-columns:1fr;}#cases .human-feature img{height:100%;width:100%;}#cases .human-feature-copy{max-width:580px;}}@media (max-width:650px){#cases.human-section{padding-block:60px;}#cases .human-heading{font-size:39px;letter-spacing:-1.2px;line-height:1.12;}#cases .human-button{text-align:left;}#cases .human-work-title{display:block;margin-bottom:32px;}#cases .human-simple-link{font-size:16px;display:inline-block;margin-top:24px;}#cases .human-context{font-size:14px;}#cases .human-feature :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:38px;margin-block:12px 18px;}#cases .human-feature-copy>p:not(.human-context){font-size:18px;line-height:1.8;}#cases .human-result strong{font-size:63px;}#cases .human-result span{font-size:17px;}#cases .human-feature-copy .human-button{font-size:15px;margin-top:23px;}#cases .human-other-work{grid-template-columns:1fr;gap:46px;margin-top:48px;}#cases .human-project{grid-template-columns:1fr;gap:19px;}#cases .human-project :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:30px;}#cases .human-project-copy>p{font-size:18px;}#cases .human-project-copy>.human-project-result{font-size:25px;line-height:1.35;}#cases .human-case-note{font-size:13px;line-height:1.8;margin-top:34px;}}.site-header .header-row{min-height:100px;gap:40px;padding-block:12px;}.site-header .brand-art{width:164px;height:74px;}.site-header .brand-art img{width:276px;height:184px;left:-57.7px;top:-50px;}.site-header .site-nav{gap:30px;font-size:16px;font-weight:550;}.site-header .site-nav a{padding-block:12px;text-underline-offset:7px;text-decoration-thickness:1px;}.site-header .site-nav .nav-contact{padding:13px 24px;border-radius:4px;font-weight:700;min-height:50px;}.site-header .menu-toggle{font-size:16px;font-weight:650;}.site-footer{padding-top:70px;}.site-footer .footer-directory{display:grid;grid-template-columns:minmax(160px,1fr) minmax(150px,.9fr) minmax(230px,1.3fr) minmax(225px,1.1fr);gap:44px;align-items:start;}.site-footer .footer-directory>*{min-width:0;}.site-footer .footer-identity .brand{margin:0 0 23px;}.site-footer .footer-identity .brand-art{width:174px;height:78px;}.site-footer .footer-identity .brand-art img{width:292px;height:194.67px;left:-61px;top:-53px;}.site-footer .footer-identity>p{font-size:16px;line-height:1.7;max-width:220px;margin:0;}.site-footer .footer-nav :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)),.site-footer .footer-contact :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)){font-size:18px;line-height:1.4;font-weight:700;letter-spacing:-.2px;margin:0 0 24px;color:var(--white);}.site-footer .footer-nav ul{margin:0;padding:0;list-style:none;column-count:1;}.site-footer .footer-nav li{font-size:16px;line-height:1.55;margin:0 0 13px;}.site-footer .footer-nav a{padding-block:3px;text-decoration:none;text-underline-offset:5px;}.site-footer .footer-nav a:hover{color:var(--white);text-decoration:underline;}.site-footer .footer-contact a{display:table;max-width:100%;font-size:16px;line-height:1.65;padding-block:3px;margin:0 0 15px;text-decoration:none;overflow-wrap:anywhere;}.site-footer .footer-contact a:hover{text-decoration:underline;color:var(--white);}.site-footer .footer-contact .footer-linkedin{display:inline-block;color:var(--white);font-weight:650;text-decoration:underline;text-underline-offset:5px;margin-top:9px;}.site-footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:46px;padding-block:22px 30px;font-size:14px;line-height:1.7;}.site-footer .footer-bottom a{font-size:14px;color:var(--white);text-decoration:underline;padding-block:10px;}@media (max-width:1150px){.site-header .header-row{gap:30px;}.site-header .site-nav{gap:23px;font-size:15px;}.site-footer .footer-directory{grid-template-columns:minmax(145px,.9fr) minmax(140px,.85fr) minmax(205px,1.25fr) minmax(205px,1.05fr);gap:28px;}.site-footer .footer-nav li,.site-footer .footer-contact a{font-size:15px;}}@media (max-width:1000px){.site-header .header-row{gap:0;min-height:94px;padding-block:12px;}.site-header .site-nav{flex-basis:100%;gap:0;padding:20px 0 12px;}.site-header .site-nav a{font-size:18px;padding:13px 0;min-height:52px;}.site-header .site-nav .nav-contact{font-size:17px;margin-top:16px;padding:14px 24px;align-self:flex-start;min-width:160px;}.site-footer{padding-top:58px;}.site-footer .footer-directory{grid-template-columns:1fr 1fr 1.2fr;gap:46px 38px;}.site-footer .footer-identity{grid-column:1/-1;display:flex;align-items:center;gap:40px;}.site-footer .footer-identity .brand{margin:0;flex:none;}.site-footer .footer-identity>p{max-width:none;font-size:17px;}.site-footer .footer-contact{grid-column:2;grid-row:2;}.site-footer .footer-services{grid-column:3;grid-row:2;}.site-footer .footer-nav :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)),.site-footer .footer-contact :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)){margin-bottom:20px;}.site-footer .footer-nav li,.site-footer .footer-contact a{font-size:16px;}}@media (max-width:760px){.site-footer .footer-directory{grid-template-columns:1fr 1.2fr;}.site-footer .footer-identity>p{font-size:16px;}.site-footer .footer-contact{grid-column:1;grid-row:3;}.site-footer .footer-services{grid-column:2;grid-row:2/span 2;}.site-footer .footer-bottom{align-items:flex-start;}}@media (max-width:550px){.site-header .header-row{min-height:90px;padding-block:10px;}.site-header .brand-art{width:151px;height:68px;}.site-header .brand-art img{width:253px;height:168.67px;left:-53px;top:-45.9px;}.site-header .site-nav{padding-top:17px;}.site-header .menu-toggle{font-size:15px;min-height:46px;padding:11px 18px;}.site-footer{padding-top:48px;}.site-footer .footer-directory{grid-template-columns:minmax(0,1fr);gap:34px;}.site-footer .footer-identity,.site-footer .footer-quick,.site-footer .footer-services,.site-footer .footer-contact{grid-column:auto;grid-row:auto;}.site-footer .footer-identity .brand{margin-bottom:16px;}.site-footer .footer-nav :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)),.site-footer .footer-contact :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)){font-size:20px;margin-bottom:17px;}.site-footer .footer-quick ul{column-count:2;column-gap:22px;}.site-footer .footer-nav li{font-size:16px;margin-bottom:11px;}.site-footer .footer-contact a{font-size:17px;margin-bottom:12px;}.site-footer .footer-bottom{display:block;margin-top:26px;padding-block:12px 25px;font-size:13px;}.site-footer .footer-bottom>a{display:inline-block;font-size:14px;margin-top:6px;}}:root{--blue:#004A8A;--chrome-blue:#1767AA;--cta:#5BDF66;--cta-hover:#4BD15A;--cta-active:#3FC650;}.site-header,.site-footer{background:var(--chrome-blue);}.hero{background:var(--blue);}.button{font-weight:700;min-height:56px;font-size:17px;padding:16px 25px;border-radius:4px;transition:background-color .15s ease,color .15s ease;}#cases .human-button{padding:16px 25px;border-radius:4px;transition:background-color .15s ease,color .15s ease;}.button-dark,.button-light,#cases .human-button{background:var(--cta);color:var(--deep);}.button-dark:hover,.button-light:hover,#cases .human-button:hover{background:var(--cta-hover);color:var(--deep);}.button:active,#cases .human-button:active{background:var(--cta-active);color:var(--deep);}.button:focus-visible,#cases .human-button:focus-visible{outline:3px solid var(--blue);outline-offset:5px;}.hero .button:focus-visible{outline-color:var(--white);}.site-header .site-nav .nav-contact{background:var(--cta);color:var(--deep);}.site-header .site-nav .nav-contact:hover{background:var(--cta-hover);color:var(--deep);text-decoration:none;}.site-header .site-nav .nav-contact:active{background:var(--cta-active);}.site-header .menu-toggle{background:transparent;color:var(--white);width:48px;height:48px;min-height:48px;padding:10px;border:0;border-radius:0;align-items:center;justify-content:center;}.site-header .menu-toggle:hover{background:transparent;color:var(--white);text-decoration:none;}.menu-toggle svg{display:block;width:28px;height:28px;pointer-events:none;}.menu-toggle .menu-icon-close,.menu-toggle[aria-expanded=true] .menu-icon-open{display:none;}.menu-toggle[aria-expanded=true] .menu-icon-close{display:block;}@media (max-width:1000px){.site-header .menu-toggle{display:inline-flex;}}.hero h1 span,.hero .eyebrow{color:var(--white);}.about-visual .brand-ribbon path:nth-child(3){fill:var(--blue);}.service-panels{background:var(--white);}.writing{background:var(--mid);color:var(--white);}.writing .eyebrow,.writing .display,.writing .post-meta,.writing .post .text-link{color:var(--white);}.writing a:focus-visible{outline-color:var(--white);}#cases.human-work{background:var(--blue);color:var(--white);}#cases .human-heading,#cases .human-simple-link,#cases .human-context,#cases .human-result,#cases .human-feature-copy>p:not(.human-context),#cases .human-project-copy>p,#cases .human-project-copy>.human-project-result,#cases .human-case-note{color:var(--white);}#cases a:focus-visible,#cases .human-button:focus-visible{outline-color:var(--white);}.post-cover{background:var(--white);}.service-tab{border-bottom-color:transparent;}.service-tab:hover{border-bottom-color:var(--mid);}.jm-map-home{background:var(--white);color:var(--deep);}.jm-map-trunk,.jm-map-branches:before,.jm-map-branches>div:before,.jm-map-branches i{background:var(--white);}.jm-waterfall-row:nth-child(3) i,.jm-waterfall-row:nth-child(5) i{background:var(--white);}.jm-art-caption>span:last-child,.jm-art-foot,.jm-map-branches small,.jm-waterfall-scale,.jm-page-annotations p,.jm-plan>.jm-plan-head{color:var(--white);}.writing .button,#cases .human-button,.site-header .site-nav .nav-contact{border:0;}#cases .human-button{font-size:17px;font-weight:750;min-height:58px;}#cases .human-project .human-button{font-size:16px;min-height:54px;}.site-footer .footer-identity>p,.site-footer .footer-nav li,.site-footer .footer-contact a,.site-footer .footer-bottom{color:var(--white);}.site-footer .footer-bottom{padding-right:76px;}.site-footer{position:relative;isolation:isolate;overflow:hidden;}.site-footer>.wrap{position:relative;z-index:1;}.site-footer .footer-atmosphere{position:absolute;inset:-160px;z-index:0;pointer-events:none;background-image:url("https://juanmoura.com/wp-content/themes/juan-moura-conexao/assets/images/puzzle-weave.svg");background-size:240px 240px;transform:rotate(-12deg);opacity:.28;-webkit-mask-image:linear-gradient(110deg,transparent 15%,#0005 50%,#000);mask-image:linear-gradient(110deg,transparent 15%,#0005 50%,#000);}.site-footer .footer-contact a.footer-contact-link{display:flex;align-items:center;gap:10px;}.site-footer .footer-contact-link svg{display:block;flex:0 0 18px;width:18px;height:18px;fill:currentColor;}.site-footer .footer-contact-link span{min-width:0;}.back-to-top{position:fixed;right:32px;bottom:24px;z-index:40;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;border-radius:50%;background:var(--deep);color:var(--white);text-decoration:none;box-shadow:0 2px 8px #002d5426;}.back-to-top svg{display:block;width:22px;height:22px;}.back-to-top:hover{background:var(--blue);}.back-to-top:focus-visible{outline:3px solid var(--mid);outline-offset:4px;}.whatsapp-float{position:fixed;right:24px;bottom:86px;z-index:41;display:flex;align-items:center;justify-content:center;width:64px;height:64px;border:0;border-radius:50%;background:#25D366;text-decoration:none;box-shadow:0 3px 12px #002d5433;transform-origin:50% 75%;}.whatsapp-float svg{display:block;width:34px;height:34px;fill:currentColor;pointer-events:none;}.whatsapp-float:hover{background:#20C560;animation:none;}.whatsapp-float:focus-visible{animation:none;outline:3px solid var(--deep);outline-offset:4px;}@keyframes whatsapp-nudge{0%,85%,94%,100%{transform:translateX(0) rotate(0)}86%{transform:translateX(-1px) rotate(-9deg)}87.5%{transform:translateX(1px) rotate(9deg)}89%{transform:translateX(-1px) rotate(-7deg)}90.5%{transform:translateX(1px) rotate(7deg)}92%{transform:translateX(0) rotate(-3deg)}}@media (max-width:650px){.button,#cases .human-button{font-size:16px;line-height:1.5;padding:15px 21px;min-height:54px;}#cases .human-project .human-button{font-size:15px;min-height:52px;padding:14px 18px;}.back-to-top{width:48px;height:48px;right:24px;bottom:18px;}.whatsapp-float{width:60px;height:60px;right:18px;bottom:80px;}.whatsapp-float svg{width:32px;height:32px;}}@media (max-width:760px){.hero .eyebrow{font-size:12px;line-height:1.5;letter-spacing:.7px;margin:0;}.hero h1{font-size:clamp(36px,10.2vw,52px);line-height:1.08;letter-spacing:-1.4px;margin-top:14px;}.section{padding-block:52px;}.section-heading{gap:22px;margin-bottom:28px;}.services .display,.writing .display{font-size:clamp(32px,8.8vw,42px);line-height:1.15;letter-spacing:-1.1px;}.section-heading>p,.writing-intro>p{font-size:18px;line-height:1.65;}.service-tabs{gap:8px 18px;margin-bottom:26px;}.service-tab{font-size:16px;line-height:1.4;padding:14px 2px;min-height:67px;gap:8px;}.service-index{display:none;}.service-panels{padding:0;border-radius:0;}.service-panel{gap:26px;min-height:0;}.service-explanation :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:28px;line-height:1.2;}.service-explanation>p:not(.service-label){font-size:18px;line-height:1.7;}.service-explanation .button{font-size:16px;min-height:54px;padding:14px 18px;}.platforms{font-size:15px;line-height:1.65;margin-top:24px;}#cases.human-section{padding-block:52px;}#cases .human-heading{font-size:clamp(32px,8.8vw,42px);line-height:1.15;letter-spacing:-1.1px;}#cases .human-work-title{margin-bottom:28px;}#cases .human-simple-link{font-size:16px;margin-top:18px;}#cases .human-feature{gap:24px;}#cases .human-feature figure{aspect-ratio:1.65;min-height:0;}#cases .human-feature :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:32px;line-height:1.15;margin-block:9px 15px;}#cases .human-feature-copy>p:not(.human-context){font-size:18px;line-height:1.65;}#cases .human-result{display:flex;align-items:center;gap:16px;margin-top:19px;}#cases .human-result strong{font-size:52px;line-height:1;letter-spacing:-2px;}#cases .human-result span{font-size:15px;line-height:1.45;max-width:120px;margin:0;}#cases .human-feature-copy .human-button{margin-top:23px;}#cases .human-other-work{margin-top:38px;gap:36px;}#cases .human-project{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px 16px;align-items:center;}#cases .human-project-copy{display:contents;}#cases .human-client-image{width:96px;height:64px;grid-column:1;grid-row:1;}#cases .human-feito img{width:130px;height:130px;left:-17px;top:-31px;}#cases .human-apto img{width:68px;height:68px;left:14px;top:-2px;}#cases .human-project :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){grid-column:2;grid-row:1;font-size:25px;line-height:1.2;letter-spacing:-.5px;}#cases .human-project-copy>p{grid-column:1/-1;font-size:18px;line-height:1.65;margin:0;}#cases .human-project-copy>.human-project-result{font-size:21px;line-height:1.4;}#cases .human-project .human-button{grid-column:1/-1;justify-self:start;font-size:15px;line-height:1.5;min-height:52px;padding:14px 18px;margin-top:4px;}#cases .human-case-note{font-size:13px;line-height:1.65;margin-top:28px;}.about-grid{gap:20px;grid-template-columns:minmax(0,1fr);}.about-copy{display:contents;}.about-copy>.eyebrow{grid-row:1;margin:0;}.about-copy>.display{grid-row:2;font-size:clamp(31px,8.5vw,40px);line-height:1.15;letter-spacing:-1px;margin:0;}.about-copy>.about-lead{grid-row:3;font-size:20px!important;line-height:1.6!important;margin:0!important;}.about-visual{grid-row:4;margin-block:4px 8px;width:100%;max-width:480px;}.about-visual figure{height:auto;min-height:0;aspect-ratio:1.2;}.about-visual figure>img{object-position:center 42%;}.about-visual blockquote{font-size:20px;line-height:1.5;margin-top:20px;}.about-platforms{font-size:15px;line-height:1.65;margin-top:18px;}.brand-ribbon,.brand-ribbon svg{height:34px;}.about-copy>p:not(.eyebrow){font-size:18px;line-height:1.7;margin:0;}.about-copy>.button{justify-self:start;font-size:16px;margin-top:4px;}.about-practice{margin-top:36px;}.about-practice>:is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:25px;line-height:1.25;margin-bottom:24px;}.about-practice-grid{gap:24px;}.about-practice-grid :is(h4:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h4)){font-size:21px;margin-bottom:9px;}.about-practice-grid p{font-size:18px;line-height:1.7;}.writing{background:var(--white);color:var(--deep);}.writing .eyebrow,.writing .display,.writing .post-meta,.writing .post .text-link{color:var(--blue);}.writing a:focus-visible{outline-color:var(--blue);}.posts{grid-template-columns:minmax(0,1fr);gap:34px;}.post:first-child{display:flex;grid-column:auto;gap:0;}.post-cover,.post:first-child .post-cover{aspect-ratio:1.6;height:auto;min-height:0;}.post-meta,.post:first-child .post-meta{font-size:13px;line-height:1.6;margin-block:16px 10px;}.post :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:24px;line-height:1.3;letter-spacing:-.5px;margin-bottom:15px;}.post-excerpt{font-size:18px;line-height:1.7;margin-bottom:18px;}.site-footer{padding-top:42px;}.site-footer .footer-directory{display:flex;flex-direction:column;gap:30px;}.site-footer .footer-directory>*{width:100%;}.site-footer .footer-identity{order:1;display:block;}.site-footer .footer-contact{order:2;}.site-footer .footer-quick{order:3;}.site-footer .footer-services{order:4;}.site-footer .footer-identity .brand{margin-bottom:16px;}.site-footer .footer-nav :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)),.site-footer .footer-contact :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)){font-size:19px;margin-bottom:16px;}.site-footer .footer-nav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;column-count:auto;}.site-footer .footer-nav,.site-footer .footer-contact{padding-right:78px;}.site-footer .footer-services ul{grid-template-columns:minmax(0,1fr);}.site-footer .footer-nav li{font-size:15px;line-height:1.55;margin:0;min-width:0;}.site-footer .footer-nav a{display:block;padding-block:3px;}.site-footer .footer-contact a{font-size:16px;margin-bottom:9px;}.site-footer .footer-contact a.footer-contact-link{font-size:15px;}.site-footer .footer-contact .footer-linkedin{margin-top:4px;}.site-footer .footer-bottom{display:block;margin-top:28px;padding-block:12px 24px;font-size:13px;}}.hero-personal{background:var(--blue);}.hero-personal:before{display:none;}.hero-personal .hero-atmosphere{position:absolute;inset:-160px;z-index:0;pointer-events:none;background-image:url("https://juanmoura.com/wp-content/themes/juan-moura-conexao/assets/images/puzzle-weave.svg");background-size:240px 240px;transform:rotate(-12deg);opacity:.28;-webkit-mask-image:linear-gradient(100deg,#0005,transparent 28%,#0009 60%,#000);mask-image:linear-gradient(100deg,#0005,transparent 28%,#0009 60%,#000);}.hero-personal .hero-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);gap:48px;align-items:end;min-height:610px;}.hero-personal .hero-layout>*{min-width:0;}.hero-personal .hero-intro{align-self:center;padding-block:65px 72px;}.hero-personal .hero-kicker{font-size:15px;line-height:1.6;font-weight:550;letter-spacing:.05px;color:var(--white);margin:0;}.hero-personal h1{font-family:var(--heading);font-size:clamp(56px,5vw,72px);font-weight:700;line-height:1.08;letter-spacing:-2.3px;margin:22px 0 0;color:var(--white);}.hero-personal h1 span{display:block;color:inherit;white-space:normal;text-wrap:balance;}.hero-personal .hero-description{font-size:20px;line-height:1.65;max-width:510px;margin:26px 0 0;color:var(--white);}.hero-personal .hero-links{display:flex;align-items:center;flex-wrap:wrap;gap:16px 26px;margin-top:32px;}.hero-personal .hero-links .button{font-size:17px;font-weight:700;min-height:58px;padding:16px 25px;border:0;}.hero-personal .hero-project-link{display:inline-flex;align-items:center;min-height:44px;font-size:16px;font-weight:600;line-height:1.5;color:var(--white);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;}.hero-personal .hero-project-link:hover{text-decoration-thickness:2px;}.hero-personal .hero-photo{position:relative;isolation:isolate;display:flex;align-items:flex-end;justify-content:center;align-self:end;justify-self:center;width:100%;height:auto;margin:0;}.hero-personal .hero-photo:before{content:"";position:absolute;inset:-12% -32% -13% -34%;z-index:-1;pointer-events:none;opacity:.6;background:radial-gradient(ellipse at 54% 58%,rgba(43,120,187,.64) 0%,rgba(43,120,187,.29) 35%,rgba(43,120,187,0) 69%);}.hero-personal .hero-photo>img{position:static;display:block;flex:none;width:calc(100% + 46px);height:auto;max-width:none;object-fit:contain;transform:translateX(9px);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 4%,#000 100%);mask-image:linear-gradient(to right,transparent 0%,#000 4%,#000 100%);}@media (max-width:1150px) and (min-width:761px){.hero-personal .hero-layout{grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);gap:28px;min-height:560px;}.hero-personal .hero-intro{padding-block:52px 60px;}.hero-personal .hero-kicker{font-size:14px;max-width:360px;}.hero-personal h1{font-size:clamp(48px,5.3vw,60px);letter-spacing:-1.8px;}.hero-personal .hero-description{font-size:18px;margin-top:23px;}.hero-personal .hero-links{gap:10px 20px;margin-top:28px;}.hero-personal .hero-links .button{font-size:16px;min-height:56px;padding:15px 20px;}.hero-personal .hero-project-link{font-size:15px;}.hero-personal .hero-photo>img{width:calc(100% + 70px);transform:translateX(7px);}}@media (max-width:760px){.hero-personal .hero-layout{grid-template-columns:minmax(0,1fr);gap:0;min-height:0;}.hero-personal .hero-intro{padding:32px 0 0;}.hero-personal .hero-kicker{font-size:13px;line-height:1.6;max-width:330px;letter-spacing:0;}.hero-personal h1{font-size:clamp(36px,10.7vw,52px);font-weight:700;line-height:1.1;letter-spacing:-1.25px;margin-top:17px;max-width:600px;}.hero-personal h1 span{text-wrap:balance;}.hero-personal .hero-description{font-size:18px;line-height:1.6;margin-top:21px;max-width:510px;}.hero-personal .hero-links{gap:8px 22px;margin-top:24px;}.hero-personal .hero-links .button{font-size:16px;line-height:1.5;min-height:54px;padding:14px 18px;}.hero-personal .hero-project-link{font-size:15px;min-height:44px;}.hero-personal .hero-photo{width:min(430px,calc(100% + 40px));margin-top:24px;}.hero-personal .hero-photo:before{inset:-10% -26% -9%;background:radial-gradient(ellipse at 50% 58%,rgba(43,120,187,.60) 0%,rgba(43,120,187,.23) 39%,rgba(43,120,187,0) 70%);}.hero-personal .hero-photo>img{width:100%;max-width:100%;transform:none;}.hero-personal .hero-atmosphere{opacity:.22;-webkit-mask-image:linear-gradient(to bottom,#0003,transparent 40%,#0008 65%,#000);mask-image:linear-gradient(to bottom,#0003,transparent 40%,#0008 65%,#000);}}@media (max-width:480px){.hero-personal .hero-links{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;}.hero-personal .hero-links .button{width:100%;}.hero-personal .hero-project-link{justify-self:start;}.hero-personal .hero-photo{width:min(360px,calc(100% + 40px));}}@media (max-width:350px){.hero-personal .hero-kicker{font-size:12px;}.hero-personal h1{font-size:35px;letter-spacing:-1px;}.hero-personal .hero-links .button{font-size:15px;padding-inline:12px;}}.site-nav .jm-menu{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0;}.site-nav .jm-menu li{position:relative;list-style:none;}.site-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;margin:0;padding:15px;list-style:none;background:var(--chrome-blue);z-index:60;}.site-nav li:hover>.sub-menu,.site-nav li:focus-within>.sub-menu{display:block;}.site-nav .sub-menu a{display:block;white-space:normal;}.admin-bar .site-header{scroll-margin-top:32px;}.jm-document{padding-block:72px 100px;min-height:55vh;}.jm-document h1{font-size:clamp(34px,4vw,58px);line-height:1.15;letter-spacing:-1px;}.jm-entry-header{max-width:860px;margin:0 auto 40px;}.jm-entry-meta{font-size:16px;margin-bottom:16px;}.entry-content{max-width:860px;margin-inline:auto;}.entry-content:has(.elementor){max-width:none;}.entry-content p,.entry-content ul,.entry-content ol,.entry-content blockquote{margin-bottom:24px;}.entry-content :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)){font-size:clamp(28px,3vw,38px);line-height:1.25;margin:42px 0 22px;}.entry-content :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:26px;line-height:1.3;margin:32px 0 18px;}.entry-content img{height:auto;}.jm-archive{margin-top:36px;}.jm-document .post-cover{background:var(--blue);}.jm-document .post-cover:empty{display:none;}.jm-document .post :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:25px;line-height:1.25;}.jm-document .post-excerpt{margin-top:14px;}.jm-document .text-link{color:var(--blue);}.jm-document input[type=search]{padding:14px;max-width:100%;font:inherit;}.jm-document .navigation{margin-top:36px;}.jm-document .page-numbers{display:inline-block;padding:6px 12px;}.jm-document .button{margin-top:24px;}body.jm-conexao{margin:0;font-family:var(--body);font-size:18px;line-height:1.65;background:var(--white);color:var(--deep);}@media (max-width:760px){.site-nav .jm-menu{flex-direction:column;align-items:stretch;width:100%;gap:0;}.site-nav .sub-menu{position:static;padding:0 0 0 16px;display:block;}.site-nav .jm-menu a{display:block;}.jm-document{padding-block:42px 65px;}.jm-document .posts{grid-template-columns:minmax(0,1fr);}.entry-content :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)){margin-top:32px;}}.whatsapp-float{color:var(--deep);}.whatsapp-float:hover{color:var(--deep);}.client-track.jm-motion-stopped,.whatsapp-float.jm-motion-stopped{animation-play-state:paused;}.client-window{overflow-x:auto;scrollbar-width:none;}.client-window::-webkit-scrollbar{display:none;}.client-track.jm-motion-stopped{animation:none;transform:none;}.client-track.jm-motion-stopped .client-group[aria-hidden=true]{display:none;}.whatsapp-float{animation:whatsapp-nudge 1.8s ease-in-out 1;}@media (prefers-reduced-motion:reduce){.whatsapp-float{animation:none;}}.client-track{animation-iteration-count:.148;animation-fill-mode:forwards;}
/* assets/css/header.css */
@font-face{font-family:JMManrope;src:url('https://juanmoura.com/wp-content/themes/juan-moura-conexao/assets/fonts/Manrope.woff2') format('woff2');font-weight:400 800;font-display:swap}
.jm-conexao{--font-manrope:JMManrope;--indigo:#004A8A;--ink:#002D54;--violet:#1767AA}
.hbox-site-header {
  position: fixed;
  z-index: 50;
  top: 18px;
  left: 50%;
  display: grid;
  grid-template-columns: 160px 1fr 160px;
  align-items: center;
  width: min(1180px, calc(100% - 40px));
  min-height: 64px;
  padding: 8px 10px 8px 18px;
  transform: translateX(-50%);
  border-radius: 20px;
  background: rgb(255 255 255 / 86%);
  box-shadow: 0 14px 40px rgb(17 18 39 / 7%);
  backdrop-filter: blur(18px);
}

.brand-crop {
  position: relative;
  display: block;
  width: 132px;
  height: 46px;
  overflow: hidden;
}



.desktop-nav {
  display: flex;
  justify-content: center;
  gap: clamp(20px, 2.5vw, 38px);
  color: #4c4d60;
  font-size: 0.88rem;
  font-weight: 550;
}

.desktop-nav a,
.button-text {
  transition: color 180ms ease;
}

.desktop-nav a:hover,
.button-text:hover {
  color: var(--violet);
}

.header-cta,
.button-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: white;
  font-weight: 650;
  background: var(--ink);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    background 180ms ease;
}

.header-cta {
  justify-self: end;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 14px;
  font-size: 0.84rem;
}

.header-cta svg,
.button-primary svg {
  width: 16px;
  height: 16px;
  transition: transform 180ms ease;
}

.header-cta:hover,
.button-primary:hover {
  transform: translateY(-2px);
  background: #1b1c31;
  box-shadow: 0 12px 28px rgb(11 11 26 / 18%);
}

.header-cta:hover svg,
.button-primary:hover svg {
  transform: translate(2px, -2px);
}

.hbox-site-header.is-scrolled {
  top: 10px;
  box-shadow: 0 16px 44px rgb(17 18 39 / 11%);
}

.header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.mobile-menu {
  display: none;
  position: relative;
}

.mobile-menu summary {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 12px;
  cursor: pointer;
  list-style: none;
  background: var(--ink);
  color: white;
}

.mobile-menu summary::-webkit-details-marker {
  display: none;
}

.mobile-menu summary svg {
  width: 19px;
}

.mobile-menu nav {
  position: absolute;
  top: 54px;
  right: 0;
  display: grid;
  width: min(280px, calc(100vw - 34px));
  padding: 14px;
  border-radius: 18px;
  background: white;
  box-shadow: 0 22px 60px rgb(11 11 26 / 18%);
}

.mobile-menu nav a {
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 0.9rem;
  font-weight: 650;
}

.mobile-menu nav a:hover {
  background: #f5f7fa;
  color:var(--indigo);
}
/* Header navigation: compact product navigation with an audience index. */
.hbox-site-header {
  isolation: isolate;
  grid-template-columns: 176px minmax(0, 1fr) 184px;
  width: min(1230px, calc(100% - 36px));
  min-height: 72px;
  padding: 8px 10px 8px 20px;
  border-radius: 18px;
  background: rgb(255 255 255 / 94%);
  box-shadow: 0 16px 48px rgb(24 25 59 / 9%);
  backdrop-filter: blur(20px) saturate(140%);
  transition:
    top 240ms ease,
    background 240ms ease,
    box-shadow 240ms ease;
}

.hbox-site-header.is-scrolled {
  top: 10px;
  background: rgb(255 255 255 / 97%);
  box-shadow: 0 18px 54px rgb(24 25 59 / 12%);
}

.hbox-site-header .brand-crop {
  width: 140px;
  height: 48px;
}

.hbox-navigation {
  display: flex;
  width: auto;
  max-width: none;
  justify-content: center;
  gap: 0;
}

.hbox-navigation-list {
  display: flex;
  gap: 4px;
  padding: 0;
  background: transparent;
}

.header-nav-link,
.header-nav-trigger {
  position: relative;
  display: inline-flex !important;
  min-height: 42px !important;
  align-items: center;
  padding: 0 14px !important;
  border-radius: 6px !important;
  color: #4a4b5f !important;
  background: transparent !important;
  font-family: var(--font-manrope), sans-serif;
  font-size: 0.8rem !important;
  font-weight: 650 !important;
  letter-spacing: -0.015em;
  box-shadow: none !important;
  transition:
    color 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease !important;
}

.header-nav-link::after,
.header-nav-trigger::after {
  position: absolute;
  right: 14px;
  bottom: 4px;
  left: 14px;
  height: 2px;
  border-radius: 999px;
  background: var(--indigo);
  content: '';
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 180ms ease;
}

.header-nav-trigger svg {
  width: 13px;
  height: 13px;
  margin-left: 6px;
  color: #858698;
}

.header-nav-link:hover,
.header-nav-link:focus-visible,
.header-nav-trigger:hover,
.header-nav-trigger:focus-visible,
.header-nav-trigger[data-open],
.header-nav-trigger[data-popup-open],
.header-nav-trigger[data-current='true'],
.header-nav-link[data-active] {
  color: var(--ink) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.header-nav-link:hover::after,
.header-nav-link:focus-visible::after,
.header-nav-link[data-active]::after,
.header-nav-trigger:hover::after,
.header-nav-trigger:focus-visible::after,
.header-nav-trigger[data-open]::after,
.header-nav-trigger[data-popup-open]::after,
.header-nav-trigger[data-current='true']::after {
  transform: scaleX(1);
}

.header-nav-link:focus-visible,
.header-nav-trigger:focus-visible {
  outline: 2px solid rgb(0 74 138 / 40%) !important;
  outline-offset: 1px !important;
}

.hbox-audience-menu {
  width: min(700px, calc(100vw - 44px));
  padding: 10px !important;
  overflow: hidden;
  border-radius: 18px;
  color: var(--ink);
  background: rgb(255 255 255 / 98%);
  box-shadow:
    0 28px 76px rgb(20 21 53 / 16%),
    0 8px 20px rgb(20 21 53 / 7%);
}

[data-slot='navigation-menu-popup'] {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

.hbox-audience-menu-grid {
  display: grid;
  grid-template-columns: minmax(220px, 0.72fr) minmax(370px, 1.28fr);
  gap: 10px;
}

.hbox-audience-overview {
  position: relative;
  display: flex !important;
  min-height: 330px;
  flex-direction: column;
  align-items: flex-start !important;
  justify-content: space-between;
  padding: 24px !important;
  overflow: hidden;
  border-radius: 8px !important;
  color: white !important;
  cursor: pointer;
  background:
    radial-gradient(circle at 92% 8%, rgb(56 165 255 / 27%), transparent 31%),
    linear-gradient(145deg, #111126, #171a36 62%, #174e8f) !important;
  box-shadow: none !important;
}

.hbox-audience-overview-logo {
  width: 132px;
  height: 46px;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 8px;
  background: white;
  box-shadow: 0 12px 28px rgb(4 7 28 / 18%);
  transform: none;
}

.hbox-audience-overview-copy {
  position: relative;
  z-index: 2;
  display: block;
  margin-top: auto;
}

.hbox-audience-overview-copy small,
.hbox-audience-overview-copy strong,
.hbox-audience-overview-copy > span {
  display: block;
}

.hbox-audience-overview-copy small {
  color: #b8d5eb;
  font-size: 0.64rem;
  font-weight: 720;
}

.hbox-audience-overview-copy strong {
  max-width: 190px;
  margin-top: 11px;
  font-family: var(--font-manrope), sans-serif;
  font-size: 1.55rem;
  font-weight: 620;
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.hbox-audience-overview-copy > span {
  max-width: 205px;
  margin-top: 13px;
  color: #c7c9d8;
  font-size: 0.7rem;
  line-height: 1.48;
}

.hbox-audience-overview-link {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 22px;
  color: white;
  font-size: 0.69rem;
  font-weight: 700;
}

.hbox-audience-overview-link svg {
  width: 14px;
  height: 14px;
  transition: transform 200ms ease;
}

.hbox-audience-overview:hover .hbox-audience-overview-link svg,
.hbox-audience-overview:focus-visible .hbox-audience-overview-link svg {
  transform: translate(2px, -2px);
}

.hbox-audience-links {
  display: grid;
  grid-template-columns: 1fr;
  align-content: stretch;
  gap: 0;
  padding: 3px 4px;
}

.hbox-audience-link {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 15px;
  gap: 15px;
  align-items: center !important;
  min-height: 64px;
  padding: 10px 12px !important;
  border-radius: 0 !important;
  color: #2f3044 !important;
  background: transparent !important;
  box-shadow: inset 0 -1px #ececf2;
}

.hbox-audience-link:hover,
.hbox-audience-link:focus-visible,
.hbox-audience-link[data-active] {
  color: var(--indigo) !important;
  background: #f5f7fa !important;
  box-shadow: none;
}

.hbox-audience-link:focus-visible {
  outline: 0 !important;
  box-shadow: inset 0 0 0 2px rgb(0 74 138 / 34%) !important;
}

.hbox-audience-link-copy {
  min-width: 0;
}

.hbox-audience-link-copy strong,
.hbox-audience-link-copy small {
  display: block;
}

.hbox-audience-link-copy strong {
  font-family: var(--font-manrope), sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.25;
}

.hbox-audience-link-copy small {
  margin-top: 5px;
  color: #77788c;
  font-size: 0.63rem;
  line-height: 1.42;
}

.hbox-audience-link > svg {
  width: 14px;
  height: 14px;
  color: #9697a7;
  transition: transform 200ms ease;
}

.hbox-audience-link:hover > svg,
.hbox-audience-link:focus-visible > svg {
  color: var(--indigo);
  transform: translate(2px, -2px);
}

.header-cta {
  min-width: 166px;
  min-height: 50px;
  padding: 0 19px;
  border: 0;
  border-radius: 12px;
  background: var(--indigo);
  box-shadow: 0 10px 24px rgb(0 74 138 / 24%);
}

.header-cta:hover {
  background: #004A8A;
  box-shadow: 0 13px 28px rgb(0 74 138 / 30%);
}

@media (max-width: 1120px) {
  .hbox-site-header {
    grid-template-columns: 154px minmax(0, 1fr) 166px;
    width: calc(100% - 28px);
    padding-left: 15px;
  }

  .hbox-site-header .brand-crop {
    transform: scale(0.92);
    transform-origin: left center;
  }

  .header-nav-link,
  .header-nav-trigger {
    padding-inline: 11px !important;
  }

  .header-cta {
    min-width: 154px;
    padding-inline: 15px;
  }
}

@media (max-width: 860px) {
  .hbox-site-header {
    grid-template-columns: 1fr auto;
    width: calc(100% - 24px);
    min-height: 64px;
    padding: 6px 7px 6px 13px;
    border-radius: 16px;
  }

  .hbox-navigation,
  .header-cta {
    display: none;
  }

  .hbox-site-header .brand-crop {
    transform: scale(0.9);
    transform-origin: left center;
  }

  .mobile-menu {
    display: block;
  }

  .mobile-menu > summary {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    padding: 0;
    border-radius: 11px;
    color: white;
    background: var(--indigo);
    box-shadow: 0 9px 22px rgb(0 74 138 / 22%);
  }

  .mobile-menu-close-icon {
    display: none;
  }

  .mobile-menu[open] .mobile-menu-open-icon {
    display: none;
  }

  .mobile-menu[open] .mobile-menu-close-icon {
    display: block;
  }

  .mobile-menu > nav {
    position: fixed;
    top: 84px;
    right: 12px;
    left: 12px;
    display: grid;
    width: auto;
    max-height: calc(100svh - 100px);
    padding: 10px;
    overflow-y: auto;
    border-radius: 16px;
    background: rgb(255 255 255 / 98%);
    box-shadow: 0 28px 80px rgb(16 17 45 / 22%);
    backdrop-filter: blur(20px);
  }

  .mobile-nav-main-link {
    display: flex;
    min-height: 53px;
    align-items: center;
    padding: 0 13px !important;
    border-bottom: 1px solid #ebecf2;
    border-radius: 0 !important;
    color: #303145;
    font-family: var(--font-manrope), sans-serif;
    font-size: 0.92rem !important;
  }

  .mobile-audience-group {
    border-bottom: 1px solid #ebecf2;
  }

  .mobile-audience-group > summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18px;
    width: 100%;
    height: auto;
    min-height: 53px;
    align-items: center;
    justify-items: stretch;
    padding: 0 13px;
    border-radius: 0;
    color: #303145;
    background: transparent;
    font-family: var(--font-manrope), sans-serif;
    font-size: 0.92rem;
    font-weight: 650;
    text-align: left;
    box-shadow: none;
  }

  .mobile-audience-group > summary span {
    justify-self: start;
    text-align: left;
  }

  .mobile-audience-group > summary svg {
    width: 16px;
    justify-self: end;
    color: #818294;
    transition: transform 200ms ease;
  }

  .mobile-audience-group[open] > summary svg {
    transform: rotate(180deg);
  }

  .mobile-audience-links {
    display: grid;
    gap: 2px;
    margin: 0 3px 10px;
    padding: 7px;
    border-radius: 12px;
    background: #f5f6fa;
  }

  .mobile-audience-links a {
    display: grid;
    min-height: 0;
    padding: 11px 10px !important;
    border-radius: 0 !important;
  }

  .mobile-audience-links a:hover,
  .mobile-audience-links a:focus-visible {
    color: var(--indigo);
    background: white;
  }

  .mobile-audience-links strong,
  .mobile-audience-links small {
    display: block;
  }

  .mobile-audience-links strong {
    font-family: var(--font-manrope), sans-serif;
    font-size: 0.78rem;
  }

  .mobile-audience-links small {
    margin-top: 3px;
    color: #77788c;
    font-size: 0.65rem;
    line-height: 1.4;
  }

  .mobile-audience-overview {
    grid-template-columns: minmax(0, 1fr) 16px !important;
    align-items: center;
    color: var(--indigo);
    font-size: 0.74rem !important;
    font-weight: 720 !important;
  }

  .mobile-audience-overview svg {
    width: 14px;
  }

  .mobile-nav-contact {
    display: flex;
    min-height: 52px;
    align-items: center;
    justify-content: space-between;
    margin-top: 8px;
    padding: 0 15px !important;
    border-radius: 12px !important;
    color: white;
    background: var(--indigo);
    font-family: var(--font-manrope), sans-serif;
    font-size: 0.8rem !important;
  }

  .mobile-nav-contact svg {
    width: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .header-nav-link,
  .header-nav-trigger,
  .hbox-audience-link,
  .hbox-audience-link svg,
  .hbox-audience-overview-link svg,
  .mobile-audience-group > summary svg {
    transition: none !important;
  }
}

/* Strategic global footer */
.hbox-site-header{color:#002D54;font:16px/1.65 Arial,sans-serif;z-index:1000}
.hbox-site-header a{text-decoration:none}.hbox-site-header summary{list-style:none;cursor:pointer}
.hbox-site-header summary::-webkit-details-marker{display:none}
.hbox-site-header .brand-crop{display:flex;align-items:center;overflow:visible}
.hbox-site-header .brand-art{width:140px;height:56px}
.hbox-site-header .brand-art img{width:209px;height:139.33px;left:-43.7px;top:-37.9px;filter:brightness(0) saturate(100%) invert(21%) sepia(72%) saturate(1850%) hue-rotate(187deg) brightness(88%) contrast(103%)}
.hbox-navigation-list{align-items:center;list-style:none;margin:0}
.hbox-audience-dropdown{position:static}
.hbox-audience-dropdown>.hbox-audience-menu{display:none;position:absolute;left:50%;top:calc(100% + 12px);transform:translateX(-50%);max-height:calc(100svh - 130px);overflow:auto}
.hbox-audience-dropdown[open]>.hbox-audience-menu{display:block}
.hbox-audience-dropdown[open]>.header-nav-trigger::after{transform:scaleX(1)}
.hbox-audience-links{grid-template-columns:1fr 1fr;gap:0 12px}
.hbox-audience-link{min-height:56px}
.hbox-site-header .header-cta,.hbox-site-header .mobile-nav-contact{color:#002D54;background:#5BDF66;box-shadow:0 10px 24px rgb(0 45 84 / 12%)}
.hbox-site-header .header-cta:hover,.hbox-site-header .mobile-nav-contact:hover{background:#4BD15A}
.hbox-site-header .header-nav-link:focus-visible,.hbox-site-header summary:focus-visible{outline-color:#1767AA!important}
.hbox-site-header .mobile-menu:not([open])>nav{display:none}
.hbox-site-header .mobile-menu-close-icon{display:none}
.admin-bar .hbox-site-header{top:50px}.admin-bar .hbox-site-header.is-scrolled{top:42px}
body:not(.jm-blog) main>.hero:first-child{padding-top:120px}
body:not(.jm-blog) main.jm-document{padding-top:160px}
@media(max-width:860px){.hbox-site-header .hbox-navigation,.hbox-site-header .header-cta{display:none}.hbox-site-header .mobile-menu{display:block}.hbox-site-header .brand-crop{transform:none}.hbox-site-header .mobile-menu[open] .mobile-menu-close-icon{display:block}.hbox-site-header .mobile-menu[open] .mobile-menu-open-icon{display:none}}
@media(max-width:782px){.admin-bar .hbox-site-header{top:64px}.admin-bar .hbox-site-header.is-scrolled{top:56px}}
@media(max-width:600px){.admin-bar .hbox-site-header.is-scrolled{top:10px}body:not(.jm-blog) main>.hero:first-child{padding-top:112px}}

/* Juan's original white mark on his own blue; never recolor the logo. */
.hbox-site-header,.hbox-site-header.is-scrolled{color:#fff;background:#004A8A;box-shadow:0 16px 48px rgb(0 45 84 / 18%)}
.hbox-site-header .brand-art img{filter:none}
.hbox-site-header .header-nav-link,.hbox-site-header .header-nav-trigger,.hbox-site-header .header-nav-link:hover,.hbox-site-header .header-nav-trigger:hover,.hbox-site-header .header-nav-link[data-active]{color:#fff!important}
.hbox-site-header .header-nav-link::after,.hbox-site-header .header-nav-trigger::after{background:#fff}
.hbox-site-header .header-nav-trigger svg{color:#fff}
.hbox-site-header .header-nav-link:focus-visible,.hbox-site-header summary:focus-visible{outline-color:#fff!important}
.hbox-site-header .mobile-menu>summary{background:#1767AA;box-shadow:none}
.hbox-site-header .hbox-audience-menu{color:#002D54}
.hbox-site-header .mobile-menu>nav{color:#002D54}
.hbox-site-header .mobile-menu nav summary:focus-visible{outline-color:#1767AA!important}

/* Approved refinement: neutral floating shell; original white logo in a blue inset. */
.hbox-site-header,.hbox-site-header.is-scrolled{
  color:#002D54;
  background:rgb(255 255 255 / calc(.97 - var(--jm-header-scroll, 0) * .29));
  box-shadow:0 calc(16px - var(--jm-header-scroll, 0) * 12px) calc(48px - var(--jm-header-scroll, 0) * 32px) rgb(0 45 84 / calc(.10 - var(--jm-header-scroll, 0) * .075));
  -webkit-backdrop-filter:blur(12px) saturate(110%);
  backdrop-filter:blur(12px) saturate(110%);
  min-height:76px;
}
/* Keep controls legible without fading the logo, links or CTA. */
.hbox-site-header:has(:focus-visible),.hbox-site-header:has(details[open]){--jm-header-scroll:0!important}
@media(hover:hover) and (pointer:fine){.hbox-site-header:hover{--jm-header-scroll:0!important}}
.hbox-site-header .header-cta{box-shadow:0 5px 16px rgb(0 45 84 / calc(.12 - var(--jm-header-scroll, 0) * .085))}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .hbox-site-header,.hbox-site-header.is-scrolled{background:rgb(255 255 255 / 94%)}
}
@media(prefers-reduced-motion:reduce){.hbox-site-header{transition:none}}
.hbox-site-header .brand-crop{width:154px;height:60px;padding:3px 14px;background:#004A8A;border-radius:10px;transform:none;display:flex;align-items:center}
.hbox-site-header .brand-art{width:126px;height:54px}
.hbox-site-header .brand-art img{width:200px;height:133.333px;left:-41.83px;top:-36.27px;filter:none}
.hbox-site-header .header-nav-link,.hbox-site-header .header-nav-trigger,.hbox-site-header .header-nav-link:hover,.hbox-site-header .header-nav-trigger:hover,.hbox-site-header .header-nav-link[data-active]{color:#002D54!important}
.hbox-site-header .header-nav-link::after,.hbox-site-header .header-nav-trigger::after{background:#004A8A}
.hbox-site-header .header-nav-trigger svg{color:#1767AA}
.hbox-site-header .header-nav-link:focus-visible,.hbox-site-header summary:focus-visible{outline-color:#1767AA!important}
.hbox-site-header .mobile-menu>summary{background:#004A8A;color:#fff}
.hbox-site-header .mobile-menu>summary svg{width:24px;height:24px}
@media(max-width:860px){.hbox-site-header{padding:6px 9px;min-height:70px}.hbox-site-header .brand-crop{height:56px;padding-block:1px}}

/* Original symbol + pixels only: crop the original image, never redraw it. */
.hbox-site-header .brand-crop{width:66px;height:60px;padding:4.9px 13.7px}
.hbox-site-header .brand-art{width:38.6px;height:50.2px;flex:none}
.hbox-site-header .brand-art img{width:190.1px;height:126.733px;left:-39.76px;top:-34.48px;filter:none}
@media(max-width:860px){.hbox-site-header .brand-crop{height:56px;padding-block:2.9px}}

/* A smaller fixed header after scrolling; keep all tap targets at least 44px. */
.hbox-site-header.is-scrolled{min-height:64px;padding-block:6px;border-radius:14px}
.hbox-site-header.is-scrolled .brand-crop{width:54px;height:48px;padding:4.5px 10px;border-radius:8px}
.hbox-site-header.is-scrolled .brand-crop .brand-art{width:34px;height:39px}
.hbox-site-header.is-scrolled .brand-crop .brand-art img{width:34px!important;height:39px!important}
.hbox-site-header.is-scrolled .header-cta{min-height:44px;padding-inline:16px;border-radius:10px}
@media(max-width:860px){
  .hbox-site-header.is-scrolled{min-height:56px;padding:4px 8px;border-radius:12px}
  .hbox-site-header.is-scrolled .brand-crop{width:48px;height:44px;padding:5px 9px}
  .hbox-site-header.is-scrolled .brand-crop .brand-art{width:30px!important;height:34px!important}
  .hbox-site-header.is-scrolled .brand-crop .brand-art img{width:30px!important;height:34px!important}
  .hbox-site-header.is-scrolled .mobile-menu>summary{width:44px;height:44px;border-radius:9px}
  .hbox-site-header.is-scrolled .mobile-menu>summary svg{width:22px;height:22px}
  .hbox-site-header.is-scrolled .mobile-menu>nav{top:calc(100% + 10px);max-height:calc(100svh - 92px)}
}
@media(prefers-reduced-motion:no-preference){
  .hbox-site-header{transition:top 240ms ease,background 240ms ease,box-shadow 240ms ease,min-height 180ms ease,padding 180ms ease,border-radius 180ms ease}
  .hbox-site-header .brand-crop{transition:width 180ms ease,height 180ms ease,padding 180ms ease,border-radius 180ms ease}
  .hbox-site-header .brand-crop .brand-art,.hbox-site-header .brand-crop .brand-art img{transition:width 180ms ease,height 180ms ease}
}

/* assets/css/article.css */
@font-face{font-family:JMInter;src:url('https://juanmoura.com/wp-content/themes/juan-moura-conexao/assets/fonts/Inter.woff2') format('woff2');font-weight:400 800;font-display:swap}
body.jm-blog {
  --type-display: clamp(3rem, 4vw, 4.5rem);
  --type-section: clamp(2.35rem, 3.25vw, 3.5rem);
  --type-section-compact: clamp(2rem, 2.65vw, 2.75rem);
  --type-subsection: clamp(1.65rem, 2.15vw, 2.2rem);
  --type-leading-display: 1.09;
  --type-leading-heading: 1.13;
  --type-leading-body: 1.65;
  --type-tracking-display: -0.04em;
  --type-tracking-heading: -0.032em;
  --type-measure-display: 1120px;
  --type-measure-heading: 1000px;
  --type-measure-body: 72ch;
  --background: #ffffff;
  --foreground: #002D54;
  --primary: #004A8A;
  --primary-foreground: #ffffff;
  --secondary: #f3f5f7;
  --secondary-foreground: #002D54;
  --muted: #f3f5f7;
  --muted-foreground: #48586b;
  --border: #dce3e9;
  --ring: #1767AA;
  --violet: #1767AA;
  --indigo: #004A8A;
  --blue: #004A8A;
  --azure: #2B78BB;
  --ink: #002D54;
  --ink-soft: #48586b;
  --paper: #f3f5f7;
  --gradient: #1767AA;
}

body.jm-blog{--font-inter:JMInter;--font-manrope:JMManrope;--font-display:JMManrope;font-family:JMInter,Arial,sans-serif;font-size:17px;line-height:1.75;background:#fff;color:#002D54;overflow-x:clip}
.jm-blog a{text-decoration:none}.jm-blog h1,.jm-blog :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)),.jm-blog :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){color:inherit}.jm-blog figure{margin:0}
.section-wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.section-index{display:inline-flex;align-items:center;gap:9px;margin:0;color:var(--indigo);font-family:JMManrope,sans-serif;font-size:.8rem;font-weight:650;letter-spacing:-.01em}
.section-index::before{flex:none;width:8px;height:8px;border-radius:2.5px;background:var(--gradient);box-shadow:0 4px 12px rgb(0 74 138 / 20%);content:''}
.blog-page-theme,
.blog-category-theme,
.blog-article-theme {
  --blog-max: 1240px;
  background: #fff;
}

.blog-hero {
  position: relative;
  max-width: var(--blog-max);
  margin: 0 auto;
  padding: 176px 40px 72px;
}

.blog-hero::before {
  position: absolute;
  z-index: 0;
  top: 70px;
  right: -180px;
  width: 560px;
  height: 440px;
  border-radius: 50%;
  background: radial-gradient(circle, rgb(23 103 170 / 9%), transparent 70%);
  content: '';
  pointer-events: none;
}

.blog-hero-copy {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.7fr);
  gap: 50px;
  align-items: end;
}

.blog-hero-copy .section-index {
  grid-column: 1 / -1;
  margin-bottom: -22px;
}

.blog-hero h1 {
  max-width: 790px;
  margin: 0;
  font-family: var(--font-manrope), sans-serif;
  font-size: clamp(3.2rem, 6.3vw, 6.15rem);
  font-weight: 650;
  line-height: 0.95;
  letter-spacing: -0.068em;
}

.blog-hero-copy > p:last-child {
  max-width: 430px;
  margin: 0 0 6px;
  color: var(--ink-soft);
  font-size: 1.06rem;
  line-height: 1.72;
}

.blog-category-nav {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 52px;
  padding-top: 24px;
  border-top: 1px solid var(--border);
}

.blog-category-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 15px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: #4d4e63;
  font-size: 0.8rem;
  font-weight: 650;
  transition: 180ms ease;
}

.blog-category-nav a:hover {
  border-color: rgb(0 74 138 / 35%);
  color: var(--indigo);
  background: #f5f7fa;
  transform: translateY(-1px);
}

.blog-category-nav .blog-category-nav-all {
  gap: 7px;
  margin-left: auto;
  border-color: transparent;
  color: var(--ink);
}

.blog-category-nav-all svg {
  width: 14px;
}

.blog-featured {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(360px, 0.84fr);
  gap: clamp(38px, 5vw, 72px);
  align-items: center;
  max-width: var(--blog-max);
  padding-top: 24px;
  padding-bottom: 120px;
}

.blog-featured-image {
  position: relative;
  min-height: 560px;
  overflow: hidden;
  border-radius: 28px;
  background: var(--paper);
  box-shadow: 0 28px 74px rgb(34 31 91 / 12%);
}

.blog-featured-image img,
.blog-card-image img {
  object-fit: cover;
  transition: transform 600ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.blog-featured-image:hover img,
.blog-card-image:hover img {
  transform: scale(1.025);
}

.blog-featured-meta,
.blog-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  color: #737489;
  font-size: 0.73rem;
  font-weight: 650;
}

.blog-featured-meta a,
.blog-card-meta a {
  color: var(--indigo);
}

.blog-featured-meta > span:last-child {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 0 9px;
  border-radius: 999px;
  color: #004A8A;
  background: #f1f4f8;
}

.blog-featured-copy :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) {
  margin: 24px 0 0;
  font-family: var(--font-manrope), sans-serif;
  font-size: clamp(2.35rem, 4vw, 4.15rem);
  font-weight: 650;
  line-height: 1.01;
  letter-spacing: -0.058em;
}

.blog-featured-copy > p {
  max-width: 540px;
  margin: 25px 0 0;
  color: var(--ink-soft);
  font-size: 1rem;
  line-height: 1.75;
}

.blog-featured-byline {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 28px;
}

.blog-author-mark {
  position: relative;
  display: block;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid rgb(0 74 138 / 14%);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 8px 20px rgb(0 74 138 / 14%);
}

.blog-author-mark img {
  object-fit: cover;
}

.blog-featured-byline strong,
.blog-featured-byline small {
  display: block;
}

.blog-featured-byline strong {
  color: #252638;
  font-size: 0.78rem;
}

.blog-featured-byline small {
  margin-top: 2px;
  color: #78798c;
  font-size: 0.68rem;
}

.blog-featured-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 31px;
  padding-bottom: 5px;
  border-bottom: 1px solid rgb(11 11 26 / 22%);
  color: var(--ink);
  font-size: 0.86rem;
  font-weight: 700;
}

.blog-featured-link svg {
  width: 16px;
  transition: transform 180ms ease;
}

.blog-featured-link:hover svg {
  transform: translate(2px, -2px);
}

.blog-latest {
  max-width: var(--blog-max);
  padding-top: 110px;
  padding-bottom: 120px;
  border-top: 1px solid var(--border);
}

.blog-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.45fr);
  gap: 64px;
  align-items: end;
  margin-bottom: 56px;
}

.blog-section-heading :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)),
.blog-topics :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) {
  max-width: 740px;
  margin: 18px 0 0;
  font-family: var(--font-manrope), sans-serif;
  font-size: clamp(2.4rem, 4.5vw, 4.7rem);
  font-weight: 650;
  line-height: 1;
  letter-spacing: -0.06em;
}

.blog-section-heading > p {
  margin: 0 0 6px;
  color: #626378;
  line-height: 1.7;
}

.blog-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 62px 28px;
}

.blog-card {
  min-width: 0;
}

.blog-card-image {
  position: relative;
  display: block;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: 22px;
  background: var(--paper);
}

.blog-card-body {
  padding: 24px 4px 0;
}

.blog-card :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) {
  margin: 15px 0 0;
  font-family: var(--font-manrope), sans-serif;
  font-size: clamp(1.55rem, 2.4vw, 2.18rem);
  font-weight: 650;
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.blog-card :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) a {
  transition: color 180ms ease;
}

.blog-card :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) a:hover {
  color: var(--indigo);
}

.blog-card-body > p {
  margin: 16px 0 0;
  color: #626378;
  font-size: 0.91rem;
  line-height: 1.7;
}

.blog-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
  color: #7c7d8d;
  font-size: 0.72rem;
}

.blog-card-footer a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--ink);
  font-weight: 700;
}

.blog-card-footer svg {
  width: 14px;
}

.blog-topics {
  max-width: var(--blog-max);
  padding-top: 118px;
  padding-bottom: 126px;
  border-top: 1px solid var(--border);
}

.blog-topic-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 58px;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.blog-topic-grid > a {
  position: relative;
  min-height: 330px;
  padding: 32px 30px 28px;
  transition: background 200ms ease;
}

.blog-topic-grid > a + a {
  border-left: 1px solid var(--border);
}

.blog-topic-grid > a:hover {
  background: #f8f9fb;
}

.blog-topic-grid > a > span {
  color: var(--indigo);
  font-family: var(--font-manrope), sans-serif;
  font-size: 0.7rem;
  font-weight: 750;
}

.blog-topic-grid :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)) {
  margin: 70px 0 0;
  font-family: var(--font-manrope), sans-serif;
  font-size: 1.75rem;
  letter-spacing: -0.04em;
}

.blog-topic-grid p {
  margin: 14px 0 0;
  color: #68697c;
  font-size: 0.87rem;
  line-height: 1.68;
}

.blog-topic-grid small {
  position: absolute;
  right: 30px;
  bottom: 27px;
  left: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #7a7b8c;
  font-size: 0.72rem;
}

.blog-topic-grid small svg {
  width: 16px;
  color: var(--ink);
}

.blog-cta {
  position: relative;
  display: grid;
  max-width: 1180px;
  min-height: 500px;
  margin: 0 auto 120px;
  padding: 84px clamp(30px, 7vw, 92px);
  place-items: start;
  overflow: hidden;
  border-radius: 32px;
  color: white;
  background: #004A8A;
}

.blog-cta::after {
  position: absolute;
  top: -140px;
  right: -70px;
  width: 620px;
  height: 620px;
  border: 1px solid rgb(255 255 255 / 12%);
  border-radius: 36%;
  background: radial-gradient(circle at 50% 50%, rgb(23 103 170 / 58%), transparent 66%);
  content: '';
  transform: rotate(24deg);
}

.blog-cta > * {
  position: relative;
  z-index: 1;
  max-width: 680px;
}

.blog-cta .section-index {
  color: #a8d5ff;
}

.blog-cta :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) {
  margin: 28px 0 0;
  font-family: var(--font-manrope), sans-serif;
  font-size: clamp(2.5rem, 5.2vw, 5.35rem);
  font-weight: 650;
  line-height: 0.98;
  letter-spacing: -0.064em;
}

.blog-cta > p:not(.section-index) {
  margin: 25px 0 0;
  color: #c7c8d7;
  line-height: 1.72;
}

.blog-cta .button-light {
  margin-top: 34px;
}

@media (max-width: 1000px) {
  .blog-featured {
    grid-template-columns: 1fr;
  }

  .blog-featured-image {
    min-height: 500px;
  }

  .blog-featured-copy {
    max-width: 720px;
  }
}

@media (max-width: 760px) {
  .blog-hero {
    padding: 142px 20px 54px;
  }

  .blog-hero-copy,
  .blog-section-heading {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .blog-hero-copy .section-index {
    grid-column: 1;
    margin-bottom: 0;
  }

  .blog-hero h1 {
    font-size: clamp(3rem, 14vw, 4.6rem);
  }

  .blog-category-nav {
    margin-top: 36px;
  }

  .blog-category-nav .blog-category-nav-all {
    width: 100%;
    margin-left: 0;
    padding-left: 0;
  }

  .blog-featured,
  .blog-latest,
  .blog-topics {
    padding-right: 20px;
    padding-left: 20px;
  }

  .blog-featured {
    padding-bottom: 82px;
  }

  .blog-featured-image {
    min-height: 0;
    aspect-ratio: 3 / 2;
    border-radius: 20px;
  }

  .blog-card-grid,
  .blog-topic-grid {
    grid-template-columns: 1fr;
  }

  .blog-topic-grid > a + a {
    border-top: 1px solid var(--border);
    border-left: 0;
  }

  .blog-cta {
    min-height: 540px;
    margin: 0 20px 80px;
    padding: 62px 25px;
    border-radius: 24px;
  }
}

@media (max-width: 480px) {
  .blog-featured-copy :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) {
    font-size: 2.25rem;
  }

  .blog-card-grid {
    gap: 48px;
  }

  .blog-featured-byline {
    align-items: flex-start;
  }

  .blog-topic-grid > a {
    min-height: 310px;
  }
}

/* Blog archives */
.blog-breadcrumbs {
  color: #77788c;
}

.blog-breadcrumbs ol {
  gap: 6px;
}

.blog-breadcrumbs li {
  font-size: 0.72rem;
}

.blog-breadcrumbs [data-slot='breadcrumb-page'] {
  display: block;
  max-width: 430px;
  overflow: hidden;
  color: #4f5063;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.blog-archive-hero {
  max-width: var(--blog-max);
  padding-top: 150px;
  padding-bottom: 78px;
}

.blog-archive-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.55fr);
  gap: clamp(50px, 8vw, 118px);
  align-items: end;
  margin-top: 66px;
}

.blog-archive-heading h1 {
  max-width: 820px;
  margin: 22px 0 0;
  font-family: var(--font-manrope), sans-serif;
  font-size: clamp(3.2rem, 6.2vw, 6rem);
  font-weight: 650;
  line-height: 0.96;
  letter-spacing: -0.067em;
}

.blog-archive-heading > p,
.blog-archive-intro > p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 1rem;
  line-height: 1.76;
}

.blog-archive-intro > span {
  display: inline-block;
  margin-top: 22px;
  color: #77788c;
  font-size: 0.72rem;
  font-weight: 650;
}

.blog-archive-content {
  max-width: var(--blog-max);
  padding-top: 86px;
  padding-bottom: 130px;
  border-top: 1px solid var(--border);
}

.blog-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 68px;
  padding-bottom: 5px;
  border-bottom: 1px solid rgb(11 11 26 / 24%);
  font-size: 0.82rem;
  font-weight: 700;
}

.blog-back-link svg {
  width: 15px;
}

.category-directory {
  max-width: var(--blog-max);
  padding-top: 30px;
  padding-bottom: 130px;
}

.category-directory-row {
  display: grid;
  grid-template-columns: minmax(270px, 0.62fr) 52px minmax(280px, 0.72fr) minmax(270px, 0.64fr);
  gap: clamp(20px, 3vw, 44px);
  align-items: center;
  padding: 44px 0;
  border-top: 1px solid var(--border);
}

.category-directory-row:last-child {
  border-bottom: 1px solid var(--border);
}

.category-directory-image {
  position: relative;
  display: block;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: 20px;
  background: var(--paper);
}

.category-directory-image img {
  object-fit: cover;
  transition: transform 500ms ease;
}

.category-directory-image:hover img {
  transform: scale(1.03);
}

.category-directory-index {
  align-self: start;
  padding-top: 4px;
  color: var(--indigo);
  font-family: var(--font-manrope), sans-serif;
  font-size: 0.7rem;
  font-weight: 750;
}

.category-directory-copy > p:first-child {
  margin: 0;
  color: #7b7c8e;
  font-size: 0.68rem;
  font-weight: 650;
}

.category-directory-copy :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) {
  margin: 11px 0 0;
  font-family: var(--font-manrope), sans-serif;
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  line-height: 1.04;
  letter-spacing: -0.05em;
}

.category-directory-copy > p:not(:first-child) {
  margin: 17px 0 0;
  color: #626378;
  font-size: 0.85rem;
  line-height: 1.7;
}

.category-directory-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 22px;
  color: var(--ink);
  font-size: 0.75rem;
  font-weight: 700;
}

.category-directory-link svg {
  width: 14px;
}

.category-directory-articles {
  margin: 0;
  padding: 0;
  color: #4f5063;
  font-size: 0.79rem;
  line-height: 1.45;
  list-style: none;
}

.category-directory-articles li {
  padding: 13px 0;
  border-top: 1px solid var(--border);
}

.category-directory-articles li:last-child {
  border-bottom: 1px solid var(--border);
}

.category-directory-articles a:hover {
  color: var(--indigo);
}

/* Article */
.blog-article-header {
  max-width: var(--blog-max);
  padding-top: 148px;
  padding-bottom: 64px;
}

.blog-article-heading {
  max-width: 1120px;
  margin: 62px auto 0;
  text-align: center;
}

.blog-article-category {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  color: #004A8A;
  background: #f1f4f8;
  font-size: 0.7rem;
  font-weight: 700;
}

.blog-article-heading h1 {
  margin: 27px 0 0;
  font-family: var(--font-manrope), sans-serif;
  font-size: clamp(3.1rem, 6.25vw, 6.25rem);
  font-weight: 650;
  line-height: 0.96;
  letter-spacing: -0.067em;
}

.blog-article-heading > p {
  max-width: 800px;
  margin: 30px auto 0;
  color: var(--ink-soft);
  font-size: clamp(1rem, 1.45vw, 1.16rem);
  line-height: 1.72;
}

.blog-article-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px 18px;
  max-width: 880px;
  margin: 36px auto 0;
}

.blog-article-meta > span:not(.blog-author-mark):not(.blog-article-meta-divider) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: #303145;
  font-size: 0.74rem;
}

.blog-article-meta small {
  color: #7c7d8f;
  font-size: 0.65rem;
}

.blog-article-meta-divider {
  width: 1px;
  height: 32px;
  margin: 0 4px;
  background: var(--border);
}

.blog-article-cover {
  position: relative;
  max-width: 1200px;
  min-height: 690px;
  overflow: hidden;
  border-radius: 30px;
  background: var(--paper);
  box-shadow: 0 32px 84px rgb(32 30 87 / 12%);
}

.blog-article-cover img {
  object-fit: cover;
}

.blog-article-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 720px) minmax(0, 1fr);
  gap: clamp(34px, 5vw, 78px);
  align-items: start;
  max-width: var(--blog-max);
  padding-top: 98px;
  padding-bottom: 130px;
}

.blog-table-of-contents {
  position: sticky;
  top: 116px;
}

.blog-table-of-contents > p {
  margin: 0 0 19px;
  color: var(--ink);
  font-family: var(--font-manrope), sans-serif;
  font-size: 0.76rem;
  font-weight: 750;
}

.blog-table-of-contents ol {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--border);
  list-style: none;
}

.blog-table-of-contents li {
  border-bottom: 1px solid var(--border);
}

.blog-table-of-contents a {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 8px;
  padding: 12px 2px;
  color: #67687b;
  font-size: 0.69rem;
  line-height: 1.42;
  transition: color 180ms ease;
}

.blog-table-of-contents a span {
  color: #a0a1af;
  font-size: 0.61rem;
  font-weight: 700;
}

.blog-table-of-contents a:hover {
  color: var(--indigo);
}

.blog-article-body {
  grid-column: 2;
  min-width: 0;
}

.blog-article-lead {
  margin: 0 0 72px;
  padding-bottom: 43px;
  border-bottom: 1px solid var(--border);
  color: var(--ink);
  font-family: var(--font-manrope), sans-serif;
  font-size: clamp(1.45rem, 2.25vw, 2rem);
  font-weight: 540;
  line-height: 1.35;
  letter-spacing: -0.032em;
}

.blog-article-body > section {
  scroll-margin-top: 120px;
}

.blog-article-body > section + section {
  margin-top: 68px;
  padding-top: 68px;
  border-top: 1px solid var(--border);
}

.blog-article-body :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) {
  margin: 0 0 27px;
  font-family: var(--font-manrope), sans-serif;
  font-size: clamp(2rem, 3.4vw, 3.15rem);
  font-weight: 650;
  line-height: 1.04;
  letter-spacing: -0.052em;
}

.blog-article-body section > p {
  margin: 0;
  color: #3e3f52;
  font-size: 1.02rem;
  line-height: 1.86;
}

.blog-article-body section > p + p {
  margin-top: 22px;
}

.blog-article-body ul {
  display: grid;
  gap: 13px;
  margin: 30px 0 0;
  padding: 24px 26px;
  border-radius: 18px;
  background: #f7f8fa;
  list-style: none;
}

.blog-article-body li {
  position: relative;
  padding-left: 23px;
  color: #454659;
  font-size: 0.93rem;
  line-height: 1.65;
}

.blog-article-body li::before {
  position: absolute;
  top: 0.66em;
  left: 1px;
  width: 8px;
  height: 8px;
  border-radius: 3px;
  background: var(--gradient);
  content: '';
}

.blog-article-body blockquote {
  margin: 34px 0 0;
  padding: 28px 30px;
  border-left: 3px solid var(--violet);
  border-radius: 0 18px 18px 0;
  background: linear-gradient(110deg, #f1f4f8, #f5f9ff);
}

.blog-article-body blockquote span {
  color: var(--indigo);
  font-size: 0.67rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.blog-article-body blockquote p {
  margin: 10px 0 0;
  color: #2e2f45;
  font-family: var(--font-manrope), sans-serif;
  font-size: 1.08rem;
  font-weight: 560;
  line-height: 1.55;
}

.blog-author-card {
  position: relative;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 26px;
  margin-top: 84px;
  padding: 34px;
  overflow: hidden;
  border: 1px solid rgb(0 74 138 / 14%);
  border-radius: 26px;
  background:
    radial-gradient(circle at 100% 0%, rgb(43 120 187 / 13%), transparent 34%),
    linear-gradient(135deg, #fff 0%, #fafbfc 58%, #f5f7fa 100%);
  box-shadow: 0 24px 60px rgb(34 37 83 / 8%);
}

.blog-author-card .blog-author-mark {
  width: 76px;
  height: 76px;
  border-radius: 21px;
  box-shadow: 0 16px 34px rgb(0 74 138 / 18%);
}

.blog-author-card-copy {
  position: relative;
  z-index: 1;
}

.blog-author-card small {
  color: var(--indigo);
  font-size: 0.67rem;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.blog-author-card :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) {
  margin: 8px 0 0;
  font-family: var(--font-manrope), sans-serif;
  font-size: 1.55rem;
  letter-spacing: -0.035em;
}

.blog-author-card p {
  max-width: 610px;
  margin: 14px 0 0;
  color: #56586f;
  font-size: 0.9rem;
  line-height: 1.72;
}

.blog-author-card .blog-author-card-role {
  margin-top: 3px;
  color: #74768a;
  font-size: 0.76rem;
  line-height: 1.5;
}

.blog-author-expertise {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.blog-author-expertise span {
  padding: 7px 10px;
  border: 1px solid rgb(0 74 138 / 12%);
  border-radius: 999px;
  color: #56516f;
  background: rgb(255 255 255 / 76%);
  font-size: 0.68rem;
  font-weight: 650;
}

.blog-author-about-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 22px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgb(0 74 138 / 28%);
  color: var(--indigo);
  font-size: 0.74rem;
  font-weight: 750;
}

.blog-author-about-link svg {
  width: 13px;
}

.blog-related {
  max-width: var(--blog-max);
  padding-top: 110px;
  padding-bottom: 130px;
  border-top: 1px solid var(--border);
}

.blog-related > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 50px;
}

.blog-related :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) {
  margin: 17px 0 0;
  font-family: var(--font-manrope), sans-serif;
  font-size: clamp(2.25rem, 4vw, 4rem);
  letter-spacing: -0.057em;
}

.blog-related > header > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 5px;
  border-bottom: 1px solid rgb(11 11 26 / 22%);
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}

.blog-related > header svg {
  width: 14px;
}

.blog-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.blog-card--compact :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) {
  font-size: clamp(1.35rem, 2vw, 1.72rem);
}

.blog-card--compact .blog-card-body > p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

@media (max-width: 1040px) {
  .category-directory-row {
    grid-template-columns: minmax(250px, 0.7fr) 42px minmax(0, 1fr);
  }

  .category-directory-articles {
    display: none;
  }

  .blog-article-cover {
    min-height: 0;
    aspect-ratio: 3 / 2;
  }

  .blog-article-layout {
    grid-template-columns: 190px minmax(0, 1fr);
  }
}

@media (max-width: 820px) {
  .blog-archive-heading {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .blog-archive-heading h1 {
    font-size: clamp(3rem, 13vw, 5rem);
  }

  .blog-article-layout {
    grid-template-columns: 1fr;
    gap: 58px;
  }

  .blog-table-of-contents {
    position: static;
  }

  .blog-table-of-contents ol {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .blog-table-of-contents li:nth-child(odd) {
    border-right: 1px solid var(--border);
  }

  .blog-table-of-contents a {
    padding: 14px 12px;
  }

  .blog-article-body {
    grid-column: 1;
  }

  .blog-related-grid {
    grid-template-columns: 1fr 1fr;
  }

  .blog-related-grid .blog-card:last-child {
    display: none;
  }
}

@media (max-width: 760px) {
  .blog-archive-hero,
  .blog-archive-content,
  .category-directory,
  .blog-article-header,
  .blog-article-layout,
  .blog-related {
    padding-right: 20px;
    padding-left: 20px;
  }

  .blog-archive-hero,
  .blog-article-header {
    padding-top: 132px;
  }

  .blog-archive-heading,
  .blog-article-heading {
    margin-top: 46px;
  }

  .category-directory-row {
    grid-template-columns: 34px 1fr;
    gap: 20px;
  }

  .category-directory-image {
    grid-column: 1 / -1;
  }

  .category-directory-index {
    grid-column: 1;
  }

  .category-directory-copy {
    grid-column: 2;
  }

  .blog-article-heading {
    text-align: left;
  }

  .blog-article-heading h1 {
    font-size: clamp(3rem, 13vw, 4.75rem);
  }

  .blog-article-heading > p {
    margin-left: 0;
  }

  .blog-article-meta {
    justify-content: flex-start;
  }

  .blog-article-cover {
    margin-right: 20px;
    margin-left: 20px;
    padding: 0;
    border-radius: 21px;
  }

  .blog-article-layout {
    padding-top: 68px;
    padding-bottom: 90px;
  }

  .blog-related {
    padding-top: 80px;
    padding-bottom: 95px;
  }

  .blog-related > header {
    align-items: flex-start;
  }
}

@media (max-width: 560px) {
  .blog-breadcrumbs [data-slot='breadcrumb-page'] {
    max-width: 160px;
  }

  .blog-article-meta-divider {
    display: none;
  }

  .blog-article-meta > span:nth-last-child(-n + 2) {
    width: calc(50% - 12px);
    padding-top: 10px;
    border-top: 1px solid var(--border);
  }

  .blog-table-of-contents ol,
  .blog-related-grid {
    grid-template-columns: 1fr;
  }

  .blog-table-of-contents li:nth-child(odd) {
    border-right: 0;
  }

  .blog-related-grid .blog-card:last-child {
    display: block;
  }

  .blog-related > header {
    display: grid;
  }

  .blog-author-card {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .blog-author-card .blog-author-mark {
    width: 64px;
    height: 64px;
    border-radius: 18px;
  }
}
/* Responsive consolidation */
/* HBox typography v2: same final scale and wrapping contract as the source. */
.jm-blog main :is(h1,:is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2))){text-wrap:pretty}
.jm-blog main h1{font-size:var(--type-display)!important;line-height:var(--type-leading-display)!important;letter-spacing:var(--type-tracking-display)!important}
:is(.blog-section-heading,.blog-topics,.blog-cta) :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)){max-width:1000px;font-size:var(--type-section)!important;line-height:var(--type-leading-heading)!important;letter-spacing:var(--type-tracking-heading)!important}
:is(.blog-featured-copy,.blog-related>header) :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)){font-size:var(--type-section-compact)!important;line-height:var(--type-leading-heading)!important;letter-spacing:var(--type-tracking-heading)!important}
.blog-article-body :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)){font-size:var(--type-subsection)!important;line-height:1.2!important;letter-spacing:-.025em!important}
.blog-featured-image img,.blog-card-image img,.blog-article-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.blog-author-mark img{width:100%;height:100%;object-fit:cover;object-position:center 28%}
.blog-author-mark{flex:none;display:block;overflow:hidden}
.blog-breadcrumbs ol{display:flex;align-items:center;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.blog-breadcrumbs li{display:inline-flex;align-items:center;gap:6px;padding:0;background:none;border:0;box-shadow:none}
.blog-breadcrumbs li+li::before{content:'›';color:#a0a1af;margin-right:5px}
.blog-breadcrumbs li:last-child{max-width:430px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.blog-article-body .entry-content{max-width:none;margin:0}
.blog-article-body .entry-content>p{margin:0 0 22px;color:#3e3f52;font-size:1.02rem;line-height:1.86}
.blog-article-body .entry-content>p:first-child{margin:0 0 72px;padding-bottom:43px;border-bottom:1px solid var(--border);font:540 clamp(1.45rem,2.25vw,2rem)/1.35 JMManrope,sans-serif;letter-spacing:-.032em;color:var(--ink)}
.blog-article-body .entry-content :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)){margin:68px 0 27px;padding-top:68px;border-top:1px solid var(--border);scroll-margin-top:120px}
.blog-article-body :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){margin:32px 0 18px;font:650 1.4rem/1.3 JMManrope,sans-serif;letter-spacing:-.025em;scroll-margin-top:120px}
.blog-article-body :is(h4:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h4)){margin:28px 0 18px;font:700 1.1rem/1.4 JMManrope,sans-serif;scroll-margin-top:120px}
.blog-article-body .entry-content a{color:#004A8A;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.blog-article-body .entry-content img{height:auto;border-radius:14px;margin:28px auto;max-width:100%}
.blog-article-body .entry-content table{display:block;overflow-x:auto;border-collapse:collapse;max-width:100%;font-size:.9rem;margin:28px 0}
.blog-article-body td,.blog-article-body th{padding:12px;border:1px solid var(--border);text-align:left}
.blog-article-body .entry-content ol{display:block;list-style:decimal;margin:26px 0;padding:24px 26px 24px 48px;background:#f7f8fa;border-radius:18px;counter-reset:none}
.blog-article-body .entry-content ol li{display:list-item;position:static;counter-increment:none;padding:0 0 0 3px;background:none;border:0;box-shadow:none;margin:0 0 12px}
.blog-article-body .entry-content ol li::before{content:none!important}
.blog-article-body .entry-content pre{overflow:auto;max-width:100%;padding:22px;background:#f7f8fa;font-size:.85rem}
.blog-table-of-contents ol{display:block!important;counter-reset:none!important;background:none!important;border-radius:0!important}
.blog-table-of-contents li{display:block!important;margin:0!important;padding:0!important;background:none!important;box-shadow:none!important;border-radius:0!important;counter-increment:none!important}
.blog-table-of-contents li::before,.blog-breadcrumbs li::after{content:none!important}
.blog-table-of-contents a[aria-current=location]{color:#004A8A;font-weight:700}
.jm-blog .blog-card :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){margin:15px 0 0;font:650 clamp(1.55rem,2.4vw,2.18rem)/1.08 JMManrope,sans-serif;letter-spacing:-.045em}
.jm-blog .blog-card--compact :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:clamp(1.35rem,2vw,1.72rem)}
.blog-card :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)) a:hover{color:var(--indigo)}
.jm-blog .blog-author-card :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)){font-size:1.55rem!important;line-height:1.2!important}
.blog-author-card .blog-author-mark{border-radius:21px}
.blog-cta .button-light{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 22px;border-radius:12px;background:#5BDF66;color:#002D54;font-size:.86rem;font-weight:700}
.blog-cta .button-light:hover{background:#4BD15A}.blog-cta svg{width:16px;height:16px}
.blog-cta>p:not(.section-index){color:#fff}.blog-cta .section-index{color:#fff}
.blog-pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:50px;font-size:.85rem}.blog-pagination .page-numbers{padding:10px 15px;border:1px solid var(--border);border-radius:8px}.blog-pagination .current{color:white;background:#004A8A}





.admin-bar .hbox-site-header+.blog-page-theme{padding-top:0}
@media(max-width:760px){.section-wrap{width:100%;margin-inline:auto}.blog-article-cover{width:calc(100% - 40px)}.blog-breadcrumbs li:last-child{max-width:160px}.blog-topic-grid> a{padding-bottom:60px}.blog-hero::before{right:-280px}.blog-article-meta{gap:14px 18px}.blog-article-meta>span{max-width:100%}}
@media(max-width:680px){body.jm-blog{--type-display:clamp(2.5rem,10vw,3.1rem);--type-section:clamp(2rem,8vw,2.55rem);--type-section-compact:clamp(1.75rem,7vw,2.2rem);--type-subsection:clamp(1.6rem,6.5vw,2rem);--type-leading-display:1.11;--type-leading-heading:1.16}}
@media(max-width:430px){}
@media(prefers-reduced-motion:reduce){.jm-blog *{transition:none!important;scroll-behavior:auto!important}}

/* Keep legacy article list decorators away from navigation semantics. */
.jm-blog .blog-breadcrumbs ol{counter-reset:none;line-height:1.5;margin:0;padding:0;gap:6px;list-style:none}
.jm-blog .blog-breadcrumbs ol>li{position:static;min-height:0;margin:0;padding:0;counter-increment:none;background:none;border:0;border-radius:0}
.jm-blog .blog-breadcrumbs ol>li::before{content:none!important}
.jm-blog .blog-breadcrumbs ol>li+li::before{content:'›'!important;position:static;display:inline;width:auto;height:auto;min-width:0;margin-right:5px;padding:0;background:none;border:0;border-radius:0;color:#a0a1af;font-size:12px;font-weight:400}
.jm-blog .blog-breadcrumbs ol>li:last-child{display:flex;min-width:0}
.blog-hero{overflow:clip}.blog-topic-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
@media(max-width:760px){.blog-topic-grid{grid-template-columns:1fr}}

/* The approved global footer is identical on every route. */
.jm-blog .site-footer{font:18px/1.65 var(--body);color:#fff}

/* Editorial pages use the same blue, flat imagery and readable type as the site. */
.jm-blog main .section-index{font-size:14px;line-height:1.5;letter-spacing:0;color:#004A8A}
.jm-blog main .section-index::before{content:none}
.jm-blog main :is(.blog-featured-image,.blog-card-image,.blog-article-cover,.category-directory-image){border:0;border-radius:0;box-shadow:none;background:#f3f5f7}
.jm-blog main :is(.blog-featured-image,.blog-card-image,.category-directory-image) img{transition:none;transform:none}
.jm-blog main :is(.blog-featured-image,.blog-card-image,.category-directory-image):hover img{transform:none}
.jm-blog main :is(.blog-card,.blog-featured-copy,.blog-card-body){box-shadow:none;border:0;border-radius:0}
.jm-blog main :is(.blog-hero,.blog-archive-hero){width:100%;max-width:none;margin:0;padding:156px max(32px,calc((100% - 1180px)/2)) 66px;background:#004A8A;color:#fff}
.jm-blog main .blog-hero::before{content:none}
.jm-blog main .blog-hero-copy{gap:30px 60px;align-items:end}
.jm-blog main .blog-hero-copy .section-index{margin-bottom:0}
.jm-blog main :is(.blog-hero,.blog-archive-hero) .section-index{color:#fff}
.jm-blog main .blog-hero h1{max-width:18ch}
.jm-blog main .blog-hero-copy>p:last-child{margin:0;max-width:42ch;color:#fff;font-size:18px;line-height:1.75}
.jm-blog main .blog-category-nav{gap:6px 30px;margin-top:38px;padding:0;border:0}
.jm-blog main .blog-category-nav a{min-height:44px;padding:6px 0;border:0;border-radius:0;background:transparent;color:#fff;font-size:15px;font-weight:600;transform:none}
.jm-blog main .blog-category-nav a:hover{text-decoration:underline;text-underline-offset:6px}
.jm-blog main .blog-category-nav-all{margin-left:auto}
.jm-blog main .blog-hero a:focus-visible,.jm-blog main .blog-archive-hero a:focus-visible{outline:3px solid #5BDF66;outline-offset:5px}
.jm-blog main .blog-archive-hero .blog-breadcrumbs,.jm-blog main .blog-archive-hero .blog-breadcrumbs a,.jm-blog main .blog-archive-intro>p,.jm-blog main .blog-archive-intro>span{color:#fff}
.jm-blog main .blog-archive-heading{margin-top:42px;gap:35px 75px}
.jm-blog main .blog-archive-heading h1{margin-top:16px}
.jm-blog main .blog-featured{padding-block:74px 88px}
.jm-blog main .blog-featured-image{min-height:0;aspect-ratio:16/10}
.jm-blog main .blog-featured-meta{font-size:14px;gap:12px 20px;color:#48586b}
.jm-blog main .blog-featured-meta>span:last-child{padding:0;border:0;border-radius:0;background:transparent;color:#48586b}
.jm-blog main .blog-featured-copy :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)){margin-top:20px}
.jm-blog main .blog-featured-copy>p{font-size:18px;line-height:1.75;margin-top:24px;color:#48586b}
.jm-blog main .blog-featured-byline strong{font-size:15px;color:#002D54}
.jm-blog main .blog-featured-byline small{font-size:13px;color:#48586b;line-height:1.6}
.jm-blog main .blog-author-mark{width:48px;height:48px;border:0;border-radius:50%;background:#f3f5f7;box-shadow:none}
.jm-blog main .blog-author-mark img{border:0;border-radius:0;box-shadow:none}
.jm-blog main :is(.blog-featured-link,.blog-card-footer a,.category-directory-link,.blog-back-link){border:0;padding-block:8px;font-size:16px;color:#004A8A;text-decoration:underline;text-underline-offset:5px;min-height:44px}
.jm-blog main :is(.blog-latest,.blog-archive-content){padding-block:76px 90px;border:0}
.jm-blog main .blog-section-heading{gap:30px 70px;margin-bottom:40px}
.jm-blog main .blog-section-heading :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)){margin-top:16px}
.jm-blog main .blog-section-heading>p{font-size:18px;color:#48586b}
.jm-blog main .blog-card-grid{gap:58px 40px}
.jm-blog main .blog-card-image{aspect-ratio:16/9}
.jm-blog main .blog-card-body{padding:23px 0 0}
.jm-blog main .blog-card-meta{font-size:14px;font-weight:500;color:#48586b}
.jm-blog main .blog-card :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:clamp(25px,2.3vw,32px);line-height:1.25;letter-spacing:-.025em}
.jm-blog main .blog-card-body>p{font-size:17px;line-height:1.8;color:#48586b}
.jm-blog main .blog-card-footer{margin-top:17px;padding:0;border:0;font-size:14px;color:#48586b;align-items:center}
.jm-blog main .blog-topics{width:100%;max-width:none;padding:76px max(32px,calc((100% - 1180px)/2)) 84px;border:0;background:#f3f5f7}
.jm-blog main .blog-topic-grid{gap:35px;margin-top:42px;border:0}
.jm-blog main .blog-topic-grid>a{min-height:245px;padding:0 0 42px;border:0;background:transparent}
.jm-blog main .blog-topic-grid>a>span{font-size:14px}
.jm-blog main .blog-topic-grid :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){margin-top:28px;font-size:27px;line-height:1.3}
.jm-blog main .blog-topic-grid p{font-size:17px;line-height:1.75;color:#48586b}
.jm-blog main .blog-topic-grid small{right:0;bottom:0;left:0;justify-content:flex-start;color:#004A8A;font-size:14px}
.jm-blog main .blog-cta{width:100%;max-width:none;min-height:0;margin:0;padding:80px max(32px,calc((100% - 1180px)/2)) 86px;border:0;border-radius:0;box-shadow:none;background:#004A8A}
.jm-blog main .blog-cta::after{content:none}
.jm-blog main .blog-cta :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)){margin-top:22px;max-width:770px}
.jm-blog main .blog-cta>p:not(.section-index){font-size:18px;max-width:62ch;color:#fff}
.jm-blog main .blog-cta .section-index{color:#fff}
.jm-blog main .blog-cta .button-light{min-height:54px;border:0;border-radius:4px;background:#5BDF66;color:#002D54;font-size:16px;padding:14px 24px}

/* Article reading: headings and whitespace establish sections; no floating panels. */
.jm-blog main .blog-article-header{padding-bottom:45px}
.jm-blog main .blog-article-category{padding:0;min-height:30px;border:0;border-radius:0;background:transparent;font-size:14px}
.jm-blog main .blog-article-meta{gap:15px 22px;max-width:1000px}
.jm-blog main .blog-article-meta>span:not(.blog-author-mark):not(.blog-article-meta-divider){font-size:14px;color:#002D54}
.jm-blog main .blog-article-meta small{font-size:13px;line-height:1.6;color:#48586b}
.jm-blog main .blog-article-meta-divider{display:none}
.jm-blog main .blog-article-cover{min-height:0;aspect-ratio:16/9}
.jm-blog main .blog-article-layout{padding-block:70px 80px}
.jm-blog main .blog-table-of-contents>p{font-size:15px}
.jm-blog main .blog-table-of-contents ol,.jm-blog main .blog-table-of-contents li{border:0}
.jm-blog main .blog-table-of-contents a{font-size:14px;padding:11px 0;grid-template-columns:22px 1fr;line-height:1.55;color:#48586b}
.jm-blog main .blog-table-of-contents a span{font-size:12px;color:#48586b}
.jm-blog main .blog-table-of-contents a[aria-current=location]{color:#004A8A;text-decoration:underline;text-underline-offset:4px}
.jm-blog main .blog-article-body .entry-content>p:first-child{margin-bottom:32px;padding-bottom:0;border:0;font:400 19px/1.8 JMInter,Arial,sans-serif;letter-spacing:0;color:#002D54}
.jm-blog main .blog-article-body .entry-content>p{font-size:18px;line-height:1.85;color:#48586b}
.jm-blog main .blog-article-body .entry-content :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)){margin-top:54px;padding-top:0;border:0}
.jm-blog main .blog-article-body>section+section{margin-top:54px;padding-top:0;border:0}
.jm-blog main .blog-article-body .entry-content :is(ul,ol){display:block;background:transparent;padding:0 0 0 25px;margin:24px 0;border:0;border-radius:0;list-style-position:outside}
.jm-blog main .blog-article-body .entry-content ul{list-style-type:disc}
.jm-blog main .blog-article-body .entry-content li{display:list-item;padding:0 0 0 4px;margin:0 0 12px;font-size:18px;line-height:1.8;color:#48586b}
.jm-blog main .blog-article-body .entry-content li::before{content:none}
.jm-blog main .blog-article-body blockquote{padding:26px 30px;margin-block:32px;border:0;border-radius:0;background:#f3f5f7;box-shadow:none}
.jm-blog main .blog-article-body .entry-content img{border-radius:0;box-shadow:none}
.jm-blog main .blog-article-body .entry-content hr{display:none}
.jm-blog main .blog-author-card{grid-template-columns:112px minmax(0,1fr);gap:28px;margin-top:62px;padding:32px;border:0;border-radius:16px;background:#f3f5f7;box-shadow:none;overflow:visible}
.jm-blog main .blog-author-card .blog-author-mark{width:112px;height:132px;border:0;border-radius:10px;box-shadow:none}
.jm-blog main .blog-author-card small{font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:#004A8A}
.jm-blog main .blog-author-card :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)){margin-top:9px;font-size:28px!important}
.jm-blog main .blog-author-card p{font-size:16px;line-height:1.8;color:#48586b}
.jm-blog main .blog-author-card .blog-author-card-role{font-size:14px;color:#48586b}
.jm-blog main .blog-author-expertise{gap:5px 20px;margin-top:16px}
.jm-blog main .blog-author-expertise span{padding:0;border:0;border-radius:0;background:transparent;color:#004A8A;font-size:13px;font-weight:600}
.jm-blog main .blog-author-about-link{min-height:48px;margin-top:23px;padding:12px 19px;border:0;border-radius:4px;background:#5BDF66;color:#002D54;font-size:15px;line-height:1.6;text-decoration:none}
.jm-blog main .blog-author-about-link:hover{background:#4BD15A}
.jm-blog main .blog-related{width:100%;max-width:none;padding:75px max(32px,calc((100% - 1180px)/2)) 88px;border:0;background:#f3f5f7}
.jm-blog main .blog-related>header{margin-bottom:36px;gap:25px}
.jm-blog main .blog-related>header>a{min-height:44px;padding-block:9px;border:0;font-size:16px;color:#004A8A;text-decoration:underline;text-underline-offset:5px}
.jm-blog main .blog-related-grid{gap:34px}
.jm-blog main .blog-related-grid .blog-card:last-child{display:block}
.jm-blog main .blog-related .blog-card :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:26px;line-height:1.3}

/* One pagination treatment across article indexes and cases. */
.jm-blog main .blog-pagination{gap:8px;margin-top:48px;font-size:16px;align-items:center}
.jm-blog main .blog-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:9px 15px;border:0;border-radius:4px;background:#f3f5f7;color:#004A8A;font-weight:600}
.jm-blog main .blog-pagination .current{background:#004A8A;color:#fff}
.jm-blog main .blog-pagination a:hover{background:#1767AA;color:#fff}
.jm-blog main .blog-pagination .dots{background:transparent;color:#48586b}
.jm-blog main .blog-pagination :is(.prev,.next){padding-inline:19px}
.jm-blog main .blog-pagination a:focus-visible{outline:3px solid #1767AA;outline-offset:4px}
@media(max-width:1000px){.jm-blog main .blog-featured-image{aspect-ratio:16/9}.jm-blog main .blog-hero-copy{gap:24px 35px}.jm-blog main .blog-featured{gap:30px}}
@media(max-width:760px){
 .jm-blog main :is(.blog-hero,.blog-archive-hero){padding:132px 20px 45px}
 .jm-blog main .blog-hero-copy{gap:23px}
 .jm-blog main .blog-hero-copy>p:last-child{font-size:17px}
 .jm-blog main .blog-category-nav{margin-top:25px;gap:2px 24px}
 .jm-blog main .blog-category-nav .blog-category-nav-all{width:auto;margin-left:0}
 .jm-blog main .blog-archive-heading{margin-top:30px}
 .jm-blog main :is(.blog-featured,.blog-latest,.blog-archive-content){padding:50px 20px 58px}
 .jm-blog main .blog-card-grid{gap:42px}
 .jm-blog main :is(.blog-topics,.blog-cta,.blog-related){padding:55px 20px 62px}
 .jm-blog main .blog-section-heading{gap:20px;margin-bottom:30px}
 .jm-blog main .blog-section-heading>p,.jm-blog main .blog-featured-copy>p{font-size:17px}
 .jm-blog main .blog-topic-grid{gap:35px;margin-top:34px}
 .jm-blog main .blog-topic-grid>a{min-height:0;padding:0 0 36px}
 .jm-blog main .blog-topic-grid :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){margin-top:16px}
 .jm-blog main .blog-article-header{padding-bottom:30px}
 .jm-blog main .blog-article-meta{gap:15px 18px}
 .jm-blog main .blog-article-meta>span:nth-last-child(-n+2){border:0;padding-top:0}
 .jm-blog main .blog-article-layout{padding:42px 20px 55px;gap:35px}
 .jm-blog main .blog-article-body .entry-content>p,.jm-blog main .blog-article-body .entry-content li{font-size:17px}
 .jm-blog main .blog-article-body .entry-content>p:first-child{font-size:18px;margin-bottom:26px}
 .jm-blog main .blog-article-body .entry-content :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)){margin-top:42px}
 .jm-blog main .blog-author-card{padding:24px;gap:21px;margin-top:45px;grid-template-columns:88px minmax(0,1fr)}
 .jm-blog main .blog-author-card .blog-author-mark{width:88px;height:105px}
 .jm-blog main .blog-author-card :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)){font-size:25px!important}
 .jm-blog main .blog-related-grid{gap:38px}
 .jm-blog main .blog-related .blog-card :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)){font-size:25px}
 .jm-blog main .blog-related>header>a{white-space:normal}
}
@media(max-width:560px){.jm-blog main .blog-author-card{grid-template-columns:minmax(0,1fr)}.jm-blog main .blog-author-card .blog-author-mark{width:104px;height:120px}.jm-blog main .blog-article-meta>span:not(.blog-author-mark):not(.blog-article-meta-divider){font-size:13px}.jm-blog main .blog-article-meta small{font-size:12px}}

/* assets/css/brand.css */
/* Native marks supplied by Juan; reset the old puzzle-logo crop only. */
.hbox-site-header .brand-crop{width:70px;height:64px;padding:7px 13px;background:#004a8a;flex-shrink:0}
.hbox-site-header .brand-crop .brand-art{display:block;width:44px;height:50px;overflow:visible;position:relative;flex:none}
.hbox-site-header .brand-crop .brand-art img{display:block;position:static;inset:auto;width:44px!important;height:50px!important;max-width:none;object-fit:contain;transform:none;filter:none}
.site-footer .footer-identity .brand{width:230px;height:76px;max-width:100%;display:block;padding:0;background:none;border:0}
.site-footer .footer-identity .brand-art{display:block;width:230px;height:76px;max-width:100%;overflow:visible;position:relative}
.site-footer .footer-identity .brand-art img{display:block;position:static;inset:auto;width:230px!important;height:76px!important;max-width:100%;object-fit:contain;transform:none;filter:none}
@media(max-width:860px){.hbox-site-header .brand-crop{width:62px;height:56px;padding:6px 12px}.hbox-site-header .brand-crop .brand-art,.hbox-site-header .brand-crop .brand-art img{width:38px!important;height:44px!important}}

/* assets/css/frontend-quality.css */
/* Keyboard focus and motion preferences; the approved visual design stays intact. */
.hbox-site-header a:focus-visible,.hbox-site-header summary:focus-visible{outline:3px solid #1767aa!important;outline-offset:4px}
.jm-conexao input:focus-visible,.jm-conexao textarea:focus-visible,.jm-conexao select:focus-visible{outline:3px solid #1767aa!important;outline-offset:3px}
.skip-link{z-index:100001;color:#002d54}
.jm-field-hint{display:block;margin-top:7px;font-size:.78rem;line-height:1.5;color:#4b5f70}
#conteudo:focus{outline:none}
.jm-lab[data-tool=serp] .lab-view-switch button{color:#637485}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.screen-reader-text:not(:focus){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;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}

/* Keep the floating contact control distinct from the site's text links. */
body.jm-conexao a.whatsapp-float,body.jm-conexao a.whatsapp-float:visited{background:#25d366!important;color:#fff!important}
body.jm-conexao a.whatsapp-float:hover,body.jm-conexao a.whatsapp-float:focus-visible{background:#20c560!important;color:#fff!important}
body.jm-conexao a.whatsapp-float svg,body.jm-conexao a.whatsapp-float svg path{fill:#fff!important}
body.jm-conexao a.whatsapp-float{animation:jm-whatsapp-nudge 1.6s ease-in-out 3}
body.jm-conexao a.whatsapp-float:hover,body.jm-conexao a.whatsapp-float:focus-visible{animation:none}
@keyframes jm-whatsapp-nudge{0%,55%,100%{transform:translateY(0) rotate(0)}12%,32%{transform:translateY(-2px) rotate(-2deg)}22%,42%{transform:translateY(-1px) rotate(2deg)}}
@media(prefers-reduced-motion:reduce){body.jm-conexao a.whatsapp-float{animation:none!important}}

/* assets/css/mobile.css */
@media screen and (max-width: 767px) {
/* Phone composition. This stylesheet is also enqueued with a phone-only media attribute. */
@media screen and (max-width:767px) {
  html { scroll-padding-top:0; }
  body.jm-conexao { font-size:17px; line-height:1.75; }
  body.jm-conexao main { overflow-wrap:break-word; }
  body.jm-conexao main :is(section[id],:is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2))[id],:is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3))[id],[id="ferramenta"],[id="mensagem"]) { scroll-margin-top:80px; }
  .wrap,.svc-wrap,.audit-wrap,.about-wrap,.contact-wrap,.lab-wrap { width:calc(100% - 40px); }
  main :is(input,textarea,select) { font-size:16px; }
  main :is(p,li,dd) { text-wrap:pretty; }
  main img { max-width:100%; }
  main :is(.button,.svc-button,.audit-button,.about-button,.contact-button,.lab-button,.human-button) { min-height:50px; font-size:16px; line-height:1.5; padding:13px 20px; }

  /* A quiet, compact band; the white symbol is the same brand asset as desktop. */
  body.jm-conexao .hbox-site-header { top:0; left:0; right:0; transform:none; width:100%; max-width:none; min-height:64px; height:64px; padding:6px 20px; margin:0; grid-template-columns:1fr auto; border:0; border-radius:0; background:#1767aa; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
  body.jm-conexao .hbox-site-header.is-scrolled { top:0; width:100%; min-height:56px; height:56px; padding:4px 20px; border:0; border-radius:0; background:rgb(0 74 138 / .93); box-shadow:0 2px 8px rgb(0 45 84 / .08); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
  body.jm-conexao .hbox-site-header .brand-crop,body.jm-conexao .hbox-site-header.is-scrolled .brand-crop { display:flex; align-items:center; justify-content:flex-start; width:52px; height:50px; padding:4px 0; border:0; border-radius:0; background:transparent; }
  body.jm-conexao .hbox-site-header .brand-art,body.jm-conexao .hbox-site-header .brand-art img,body.jm-conexao .hbox-site-header.is-scrolled .brand-art,body.jm-conexao .hbox-site-header.is-scrolled .brand-art img { display:block; position:static; width:34px!important; height:39px!important; max-width:none; object-fit:contain; transform:none; }
  body.jm-conexao .hbox-site-header.is-scrolled .brand-art,body.jm-conexao .hbox-site-header.is-scrolled .brand-art img { width:30px!important; height:35px!important; }
  body.jm-conexao .hbox-site-header .header-actions { gap:0; }
  body.jm-conexao .hbox-site-header .mobile-menu>summary { width:44px; height:44px; min-height:44px; padding:10px; color:#fff; background:transparent; border:0; border-radius:4px; }
  body.jm-conexao .hbox-site-header .mobile-menu>summary svg { width:25px; height:25px; }
  body.jm-conexao .hbox-site-header .mobile-menu>nav { position:fixed; top:64px; left:0; right:0; width:100%; max-height:calc(100dvh - 64px); padding:12px 20px 24px; border:0; border-radius:0 0 10px 10px; background:#fff; color:#002d54; box-shadow:0 12px 24px rgb(0 45 84 / .15); overflow-y:auto; overscroll-behavior:contain; }
  body.jm-conexao .hbox-site-header.is-scrolled .mobile-menu>nav { top:56px; max-height:calc(100dvh - 56px); }
  body.jm-conexao .hbox-site-header .mobile-menu nav :is(a,summary) { min-height:46px; font-size:16px; line-height:1.5; }
  body.jm-conexao .hbox-site-header .mobile-audience-links a { font-size:15px; padding-block:11px; }
  body.jm-conexao .hbox-site-header .mobile-menu nav .mobile-nav-contact { justify-content:center; margin-top:12px; background:#5bdf66; color:#002d54; border:0; border-radius:6px; box-shadow:none; }
  body.jm-conexao .hbox-site-header :is(a,summary):focus-visible { outline-color:#5bdf66!important; }
  body.admin-bar .hbox-site-header,body.admin-bar .hbox-site-header.is-scrolled { top:46px; }
  body.admin-bar .hbox-site-header .mobile-menu>nav { top:110px; max-height:calc(100dvh - 110px); }
  body.admin-bar .hbox-site-header.is-scrolled .mobile-menu>nav { top:102px; max-height:calc(100dvh - 102px); }

  /* Home: a complete introduction and portrait, rather than a desktop stack. */
  body.jm-conexao:not(.jm-blog) main>.hero.hero-personal:first-child { padding-top:94px; }
  .hero-personal .hero-layout { gap:0; min-height:0; }
  .hero-personal .hero-intro { padding:0; }
  .hero-personal .hero-kicker { font-size:12px; line-height:1.65; max-width:none; }
  .hero-personal h1 { font-size:clamp(32px,9.2vw,40px); line-height:1.12; letter-spacing:-1.25px; margin-top:16px; }
  .hero-personal h1 span { text-wrap:initial; }
  .hero-personal .hero-description { font-size:16.5px; line-height:1.7; margin-top:19px; max-width:38ch; }
  .hero-personal .hero-links { display:grid; gap:5px; margin-top:23px; }
  .hero-personal .hero-links .button { width:100%; min-height:52px; font-size:15px; padding:13px 14px; }
  .hero-personal .hero-project-link { min-height:44px; font-size:14px; }
  .hero-personal .hero-photo { width:100%; height:300px; margin:13px auto 0; overflow:hidden; align-items:flex-start; }
  .hero-personal .hero-photo>img { width:330px; max-width:none; height:330px; object-fit:contain; transform:none; }
  .hero-personal .hero-atmosphere { background-size:180px 180px; opacity:.23; }
  .hero-personal .hero-photo:before { inset:-10% -15% -10%; }
  .clients { padding-block:23px; }
  .client-row { gap:17px; }
  .client-row>p { font-size:13px; line-height:1.6; }
  .client-window { width:100%; max-width:100%; }
  .section { padding-block:48px; }
  .section-heading { gap:17px; margin-bottom:25px; }
  .services .display,.writing .display,.about-copy>.display,#cases .human-heading { font-size:30px; line-height:1.2; letter-spacing:-1px; }
  .section-heading>p,.writing-intro>p { font-size:16.5px; line-height:1.75; }
  .service-tabs { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; margin-bottom:27px; }
  .service-tab { min-height:74px; padding:13px 0; font-size:14px; line-height:1.5; border-bottom:2px solid #dce3e9; align-items:center; }
  .service-tab[aria-selected=true] { border-bottom-color:#004a8a; color:#004a8a; font-weight:750; }
  .service-panel { grid-template-columns:minmax(0,1fr); gap:25px; }
  .service-explanation :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)) { font-size:26px; line-height:1.25; }
  .service-explanation>p:not(.service-label) { font-size:16.5px; line-height:1.75; }
  .service-explanation .deliverables { font-size:14px; line-height:1.7; margin-block:20px; }
  .service-explanation .button { width:100%; font-size:15px; }
  .service-visual { min-width:0; margin:0; }
  .jm-service-art { padding:23px 17px; min-height:0; }
  .jm-map-branches { gap:8px; }
  .jm-map-branches>div { min-width:0; }
  .jm-map-branches :is(strong,span) { font-size:12px; }
  .jm-map-branches small { font-size:10px; }
  .jm-art-caption { font-size:11px; }
  .platforms { font-size:14px; }
  #cases.human-section { padding-block:49px; }
  #cases .human-work-title { gap:15px; margin-bottom:25px; }
  #cases .human-heading br { display:none; }
  #cases .human-simple-link { font-size:15px; margin-top:0; min-height:44px; display:inline-flex; align-items:center; }
  #cases .human-feature { gap:23px; }
  #cases .human-feature figure { aspect-ratio:16/10; }
  #cases .human-feature :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)) { font-size:29px; }
  #cases .human-feature-copy>p:not(.human-context),#cases .human-project-copy>p { font-size:16.5px; line-height:1.75; }
  #cases .human-result strong { font-size:48px; }
  #cases .human-result span { font-size:14px; }
  #cases .human-feature-copy .human-button { display:flex; width:100%; min-height:51px; font-size:15px; margin-top:23px; }
  #cases .human-other-work { gap:34px; margin-top:40px; }
  #cases .human-project { grid-template-columns:105px minmax(0,1fr); gap:13px 17px; }
  #cases .human-client-image { width:105px; height:70px; }
  #cases .human-project :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)) { font-size:23px; }
  #cases .human-project .human-button { justify-self:stretch; width:100%; font-size:15px; }
  .about-copy>.about-lead { font-size:18px!important; line-height:1.7!important; }
  .about-copy>p:not(.eyebrow),.about-practice-grid p { font-size:16.5px; line-height:1.8; }
  .about-visual figure { aspect-ratio:1.35; }
  .about-visual blockquote { font-size:20px; line-height:1.55; }
  .about-practice-grid { gap:28px; }
  .about-practice-grid :is(h4:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h4)) { font-size:20px; }
  .writing .posts { gap:36px; }
  .writing .post-cover,.writing .post:first-child .post-cover { aspect-ratio:16/9; }
  .writing .post :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)) { font-size:23px; line-height:1.35; }
  .writing .post-excerpt { font-size:16px; line-height:1.75; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
  .writing .post .text-link { display:inline-flex; align-items:center; min-height:44px; font-size:15px; }

  /* Service pages: editorial rhythm, readable diagrams and deliberate crops. */
  .jm-services .svc-wrap,.audit-page .audit-wrap { width:calc(100% - 40px); }
  .jm-services .svc-space,.audit-page .audit-space { padding-block:49px; }
  .jm-services .svc-hero,.audit-page .audit-hero { padding-top:91px; padding-bottom:45px; }
  .svc-breadcrumbs,.audit-breadcrumbs { font-size:12px; line-height:1.6; margin-bottom:0; }
  .svc-breadcrumbs ol,.audit-breadcrumbs ol { gap:6px; }
  .svc-hero-grid,.audit-hero-grid { grid-template-columns:minmax(0,1fr); gap:28px; margin-top:27px; }
  .jm-services h1,.audit-page h1 { font-size:clamp(31px,8.4vw,38px); line-height:1.16; letter-spacing:-1.2px; text-wrap:balance; }
  .jm-services .svc-lead,.audit-page .audit-hero-copy .audit-lead { font-size:16.5px; line-height:1.75; margin-top:19px; }
  .jm-services .svc-eyebrow,.audit-page .audit-eyebrow { font-size:12px; line-height:1.6; margin-bottom:16px; }
  .svc-actions,.audit-page .audit-actions { display:flex; flex-wrap:wrap; gap:7px 20px; margin-top:23px; }
  .svc-actions>.svc-button,.audit-actions>.audit-button { width:100%; min-height:51px; font-size:15px; }
  .svc-actions .svc-text-link,.audit-page .audit-text-link { display:inline-flex; align-items:center; min-height:44px; font-size:14px; }
  .jm-services .svc-hero .svc-hero-photo img,.audit-page .audit-hero-photo img { height:auto!important; aspect-ratio:3/2; object-fit:cover; border-radius:10px; }
  .svc-hero-photo,.audit-hero-photo { margin:0; }
  .svc-hero-labels,.audit-hero-scope { font-size:12px; gap:10px; margin-top:20px; }
  .jm-services :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)),.audit-page :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) { font-size:29px; line-height:1.23; letter-spacing:-.9px; }
  .jm-services :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)),.audit-page :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)) { font-size:21px; line-height:1.4; }
  .jm-services :is(p,li,dd),.audit-page :is(p,li,dd) { font-size:16.5px; line-height:1.8; }
  .svc-intro,.svc-feature-heading,.svc-section-heading,.audit-context,.audit-section-intro { gap:26px; }
  .svc-intro-points { gap:24px; }
  .svc-scope-item { padding-block:23px; }
  .svc-catalog-route { gap:10px; }
  .svc-catalog-stage { padding:19px 14px; }
  .svc-tree-leaves { grid-template-columns:minmax(0,1fr); gap:0; padding-left:21px; margin-left:19px; border-left:1px solid currentColor; }
  .svc-tree-leaves>div { text-align:left; padding:18px 0; border:0; }
  .svc-tree-leaves:before,.svc-tree-leaves:after { display:none; }
  .svc-tree-leaves :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)) { font-size:19px; }
  .svc-tree-leaves p { font-size:15px; }
  .svc-tree-root,.svc-tree-category { padding:21px 20px; }
  .svc-price-grid { gap:25px; }
  .svc-price-plan { padding:26px 22px; border-radius:8px; }
  .svc-price-plan :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)) { font-size:23px; }
  .svc-price-plan .svc-button { width:100%; font-size:15px; }
  .svc-price-plan li { font-size:15px; }
  .svc-price>small { font-size:15px; }
  .audit-page .audit-analysis-topics { padding:0 19px; border-radius:8px; }
  .audit-page .audit-analysis-item { padding-block:22px; gap:11px; }
  .audit-page .audit-analysis-item :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)) { font-size:18px; line-height:1.4; }
  .audit-page .audit-analysis-item p { font-size:15.5px; line-height:1.75; }
  .svc-faq summary,.audit-faq-list summary { font-size:17px; line-height:1.6; min-height:48px; display:flex; align-items:center; }
  .svc-faq details>p,.audit-faq-list details>p { font-size:16px; }
  .svc-contact-form,.audit-contact-form { border-radius:10px; padding:24px 18px; }
  .svc-contact-form .ff-el-group,.audit-contact-form .ff-el-group { margin-bottom:20px; }
  .svc-contact-form :is(input,textarea,select),.audit-contact-form :is(input,textarea,select) { font-size:16px; min-height:50px; }
  .svc-directory-hero { padding:100px 0 46px; }
  .svc-directory-hero h1 { font-size:35px; }
  .svc-directory-jumps { display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:20px; }
  .svc-directory-jumps a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; }
  .svc-directory-group :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) { font-size:29px; }
  .svc-directory-links>div { padding-block:26px; }
  .svc-directory-links :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)) { font-size:23px; }

  /* Keep the approved hiring identity, with a shorter visual introduction. */
  :is(.audit-page,.jm-services) :is(.jm-contracting-audit,.jm-contracting-editorial) { padding-block:48px; }
  :is(.jm-contracting-audit,.jm-contracting-editorial) .jm-ca-layout { width:calc(100% - 40px); gap:20px; }
  :is(.jm-contracting-audit,.jm-contracting-editorial) #contratacao-title { font-size:30px; line-height:1.2; }
  :is(.jm-contracting-audit,.jm-contracting-editorial) .jm-ca-intro { font-size:16px; line-height:1.8; margin:19px 0 23px; }
  :is(.jm-contracting-audit,.jm-contracting-editorial) .jm-ca-image { border-radius:9px; }
  :is(.jm-contracting-audit,.jm-contracting-editorial) .jm-ca-image img { aspect-ratio:16/9; object-position:center 45%; }
  :is(.jm-contracting-audit,.jm-contracting-editorial) .jm-ca-stage summary { grid-template-columns:46px minmax(0,1fr) 18px; gap:13px; min-height:85px; padding-block:15px; }
  :is(.jm-contracting-audit,.jm-contracting-editorial) .jm-ca-icon { width:46px; height:46px; }
  :is(.jm-contracting-audit,.jm-contracting-editorial) .jm-ca-stage-label strong { font-size:22px; }
  :is(.jm-contracting-audit,.jm-contracting-editorial) .jm-ca-stage-label>span { font-size:13px; line-height:1.55; }
  :is(.jm-contracting-audit,.jm-contracting-editorial) .jm-ca-answer { padding:3px 0 23px; font-size:16px; line-height:1.8; }
  :is(.jm-contracting-audit,.jm-contracting-editorial) .jm-ca-answer :is(p,dd,dt) { font-size:inherit; line-height:inherit; }
  :is(.jm-contracting-audit,.jm-contracting-editorial) a.jm-contracting-button { width:100%; margin:20px 0 0; min-height:52px; padding:13px 18px; font-size:15px; }

  /* Articles and archives use the same type scale and blue as the rest of the site. */
  body.jm-blog { --type-display:clamp(29px,8vw,36px); --type-section:29px; --type-section-compact:27px; --type-subsection:27px; --type-leading-display:1.2; --type-leading-heading:1.25; --type-tracking-display:-.035em; --type-tracking-heading:-.025em; }
  .jm-blog main :is(.blog-hero,.blog-archive-hero) { padding:100px 20px 38px; }
  .jm-blog main .blog-hero h1,.jm-blog main .blog-archive-hero h1 { font-size:36px; line-height:1.17; letter-spacing:-1.2px; }
  .jm-blog main .blog-hero-copy { gap:18px; }
  .jm-blog main .blog-hero-copy>p:last-child { font-size:16.5px; line-height:1.75; }
  .jm-blog main .blog-category-nav { display:flex; flex-wrap:nowrap; gap:22px; overflow-x:auto; margin:23px -20px 0; padding:0 20px; scrollbar-width:thin; }
  .jm-blog main .blog-category-nav a { flex:none; min-height:44px; display:inline-flex; align-items:center; font-size:14px; }
  .jm-blog main :is(.blog-featured,.blog-latest,.blog-archive-content) { padding:40px 20px 49px; }
  .jm-blog main .blog-featured { gap:25px; }
  .jm-blog main .blog-featured-image { aspect-ratio:16/9; min-height:0; border-radius:9px; }
  .jm-blog main .blog-featured-copy :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) { font-size:27px; line-height:1.27; }
  .jm-blog main .blog-featured-copy>p { font-size:16px; line-height:1.75; }
  .jm-blog main .blog-featured-meta { font-size:12px; }
  .jm-blog main .blog-card-grid { gap:35px; }
  .jm-blog main .blog-card-image { aspect-ratio:16/9; border-radius:9px; }
  .jm-blog main .blog-card :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)),.jm-blog main .blog-related .blog-card :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)) { font-size:23px; line-height:1.35; letter-spacing:-.5px; }
  .jm-blog main .blog-card-body>p { font-size:16px; line-height:1.75; }
  .jm-blog main .blog-card-footer { min-height:44px; font-size:14px; }
  .jm-blog main :is(.blog-topics,.blog-cta,.blog-related) { padding:48px 20px 54px; }
  .jm-blog main .blog-section-heading :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)),.jm-blog main .blog-related>header :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) { font-size:29px; line-height:1.25; }
  .jm-blog main .blog-related>header { align-items:start; gap:13px; margin-bottom:26px; }
  .jm-blog main .blog-related>header>a { min-height:44px; font-size:14px; }
  .jm-blog main .blog-pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; margin-top:35px; }
  .jm-blog main .blog-pagination .page-numbers { min-width:44px; min-height:46px; padding:10px 13px; font-size:14px; }
  .jm-blog main .blog-pagination :is(.prev,.next) { padding-inline:15px; }
  .jm-blog main .blog-article-header { width:100%; padding:94px 20px 27px; }
  .jm-blog main .blog-breadcrumbs { font-size:12px; line-height:1.7; margin-bottom:24px; }
  .jm-blog main .blog-article-heading { margin-top:0; }
  .jm-blog main .blog-article-category { display:inline-block; font-size:12px; margin-bottom:15px; }
  .jm-blog main .blog-article-heading h1 { font-size:clamp(29px,8vw,36px); line-height:1.2; letter-spacing:-1.1px; margin-top:0; }
  .jm-blog main .blog-article-heading>p { font-size:16px; line-height:1.75; margin-top:20px; }
  .jm-blog main .blog-article-meta { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:19px 15px; margin-top:24px; }
  .jm-blog main .blog-article-meta>.blog-author-mark { position:absolute; left:0; top:0; width:44px; height:48px; border-radius:6px; }
  .jm-blog main .blog-article-meta>span:first-of-type { grid-column:1/-1; grid-row:1; min-height:48px; padding-left:56px; justify-content:center; }
  .jm-blog main .blog-article-meta>.blog-article-meta-divider { display:none; }
  .jm-blog main .blog-article-meta>span:not(.blog-article-meta-divider):not(:first-of-type) { grid-column:auto; display:flex; flex-wrap:wrap; gap:4px 9px; font-size:13px; line-height:1.5; width:auto; }
  .jm-blog main .blog-article-meta small { font-size:12px; line-height:1.55; }
  .jm-blog main .blog-article-meta strong { font-size:14px; }
  .jm-blog main .blog-article-cover { width:calc(100% - 40px); margin-inline:auto; border-radius:9px; overflow:hidden; }
  .jm-blog main .blog-article-cover img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
  .jm-blog main .blog-article-layout { padding:26px 20px 48px; gap:31px; grid-template-columns:minmax(0,1fr); }
  .jm-blog main .blog-table-of-contents { position:static; width:100%; padding:0; max-height:none; background:transparent; border:0; }
  .jm-mobile-toc { background:#f3f5f7; border:0; border-radius:7px; padding:0 17px; }
  .jm-mobile-toc>summary { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:17px 0; min-height:56px; cursor:pointer; list-style:none; font:650 16px/1.5 JMManrope,Arial,sans-serif; color:#004a8a; }
  .jm-mobile-toc>summary::-webkit-details-marker { display:none; }
  .jm-mobile-toc>summary:after { content:'+'; font:400 25px/1 JMInter,Arial,sans-serif; }
  .jm-mobile-toc[open]>summary:after { content:'−'; }
  .jm-mobile-toc>summary small { margin-left:auto; font:400 12px/1.5 JMInter,Arial,sans-serif; color:#48586b; }
  .jm-blog main .jm-mobile-toc nav { padding-bottom:13px; }
  .jm-blog main .jm-mobile-toc ol { display:block!important; margin:0; }
  .jm-blog main .jm-mobile-toc a { min-height:44px; padding-block:12px; font-size:14px; line-height:1.6; }
  .jm-blog main .jm-mobile-toc li { border:0; }
  .jm-blog main .blog-article-body { min-width:0; }
  .jm-blog main .blog-article-body .entry-content>p,.jm-blog main .blog-article-body .entry-content li { font-size:17px; line-height:1.85; }
  .jm-blog main .blog-article-body .entry-content>p:first-child { font-size:17px; line-height:1.85; }
  .jm-blog main .blog-article-body .entry-content :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) { font-size:27px; line-height:1.3; letter-spacing:-.7px; margin:39px 0 19px; }
  .jm-blog main .blog-article-body .entry-content :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)) { font-size:22px; line-height:1.4; margin:30px 0 16px; }
  .jm-blog main .blog-article-body .entry-content :is(ul,ol) { padding-left:23px; }
  .jm-blog main .blog-article-body .entry-content li+li { margin-top:10px; }
  .jm-blog main .blog-article-body .entry-content blockquote { margin-inline:0; padding-left:19px; }
  .jm-blog main .blog-article-body .entry-content :is(pre,code) { overflow-wrap:anywhere; }
  .jm-blog main .blog-author-card { display:grid; grid-template-columns:58px minmax(0,1fr); padding:23px 20px; gap:13px; margin-top:39px; border-radius:10px; }
  .jm-blog main .blog-author-card .blog-author-mark { grid-column:1; grid-row:1/4; width:58px; height:68px; border-radius:7px; }
  .jm-blog main .blog-author-card-copy { display:contents; }
  .jm-blog main .blog-author-card-copy>small { grid-column:2; font-size:10px; line-height:1.6; }
  .jm-blog main .blog-author-card-copy>:is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) { grid-column:2; font-size:24px!important; margin:0!important; line-height:1.2; }
  .jm-blog main .blog-author-card-copy>.blog-author-card-role { grid-column:2; font-size:12px; line-height:1.65; margin:0; }
  .jm-blog main .blog-author-card-copy>p:not(.blog-author-card-role),.jm-blog main .blog-author-expertise,.jm-blog main .blog-author-about-link { grid-column:1/-1; }
  .jm-blog main .blog-author-card-copy>p:not(.blog-author-card-role) { font-size:15px; line-height:1.8; margin-top:9px; }
  .jm-blog main .blog-author-expertise { gap:8px 17px; margin-top:0; }
  .jm-blog main .blog-author-expertise span { font-size:12px; }
  .jm-blog main .blog-author-about-link { justify-content:center; min-height:48px; margin-top:5px; font-size:14px; }
  .jm-mobile-table { width:100%; overflow-x:auto; overscroll-behavior-inline:contain; margin-block:24px; -webkit-overflow-scrolling:touch; }
  .jm-mobile-table>table { margin:0; min-width:530px; font-size:14px; }
  .jm-mobile-table :is(th,td) { padding:13px 12px; }
  .jm-mobile-table:focus-visible { outline:3px solid #1767aa; outline-offset:3px; }
  .jm-mobile-scroll-hint { font-size:12px!important; color:#48586b; margin:0 0 10px!important; }
  .jm-collection .collection-directory-line { margin-top:23px; gap:15px; }
  .jm-collection .collection-case-list { padding:44px 20px 55px; }
  .jm-collection .collection-featured { padding-bottom:46px; }
  .jm-collection .collection-case-list .blog-card-grid { gap:36px; }
  .jm-collection .collection-button { display:flex; width:100%; min-height:51px; font-size:15px; }
  .jm-case-detail .case-brand-cover { width:calc(100% - 40px); height:190px; border-radius:9px; }
  .jm-case-detail .case-brand-cover img { height:190px!important; }
  .jm-case-detail .case-brand-apto-brasil img,.jm-case-detail .case-brand-mundo-metal img { height:auto!important; max-height:150px; }
  .jm-case-detail .case-related { padding:45px 20px 54px; }

  /* About and contact have their own composition, not an endless introductory stack. */
  .jm-about .about-intro { padding-top:98px; padding-bottom:0; }
  .jm-about .about-intro-grid { gap:27px; }
  .jm-about h1 { font-size:36px; line-height:1.17; letter-spacing:-1.25px; }
  .jm-about h1 br { display:none; }
  .jm-about :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) { font-size:29px; line-height:1.25; }
  .jm-about .about-intro .about-intro-lead { font-size:18px; line-height:1.75; margin-top:20px; }
  .jm-about .about-intro-copy>p:not(.about-kicker) { font-size:16.5px; line-height:1.8; }
  .jm-about .about-actions { display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:24px; }
  .jm-about .about-actions .about-button { width:100%; font-size:15px; }
  .jm-about .about-actions>a:not(.about-button) { display:inline-flex; align-items:center; min-height:44px; font-size:14px; }
  .jm-about .about-portrait { width:100%; height:280px; aspect-ratio:auto; overflow:hidden; }
  .jm-about .about-portrait img { height:100%!important; object-fit:cover; object-position:center 35%; }
  .jm-about .about-page-nav { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:22px; padding-block:13px; }
  .jm-about .about-page-nav a { flex:none; display:inline-flex; align-items:center; min-height:44px; font-size:14px; }
  .jm-about .about-space { padding-block:49px; }
  .jm-about :is(.about-story-copy p,.about-work p) { font-size:16.5px; line-height:1.85; }
  .jm-about .about-work-columns { gap:27px; margin-top:28px; }
  .jm-about .about-project-grid { gap:35px; }
  .jm-contact .contact-opening { padding:98px 0 49px; }
  .jm-contact .contact-opening-grid { display:flex; flex-direction:column; gap:0; }
  .jm-contact .contact-copy { display:contents; }
  .jm-contact .contact-copy>.contact-kicker { order:0; font-size:12px; margin-bottom:16px; }
  .jm-contact .contact-copy>h1 { order:1; font-size:36px; line-height:1.18; letter-spacing:-1.2px; }
  .jm-contact .contact-copy>.contact-lead { order:2; font-size:16.5px; line-height:1.75; margin:20px 0 0; }
  .jm-contact .contact-direct { order:3; display:block; width:100%; margin-top:24px; }
  .jm-contact .contact-direct>.contact-button { width:100%; min-height:52px; font-size:15px; }
  .jm-contact .contact-direct>.contact-phone,.jm-contact .contact-direct>p { display:none; }
  .jm-contact .contact-email { display:inline-flex; align-items:center; min-height:44px; margin-top:7px; font-size:15px; }
  .jm-contact .contact-form-panel { order:4; width:100%; margin-top:25px; padding:25px 18px; border-radius:10px; }
  .jm-contact .contact-form-panel :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) { font-size:26px; line-height:1.3; }
  .jm-contact .contact-copy>p:not(.contact-kicker):not(.contact-lead) { order:5; font-size:16px; line-height:1.8; margin-top:30px; }
  .jm-contact .contact-person { order:6; width:100%; margin-top:23px; padding-top:23px; }
  .jm-contact-form :is(input:not([type=hidden]):not([type=checkbox]),select) { min-height:51px; font-size:16px; }
  .jm-contact-form textarea { min-height:145px; font-size:16px; }
  .jm-contact-form .ff-el-input--label label { font-size:14px; }
  .jm-contact .contact-context { padding-block:49px; }
  .jm-contact .contact-context :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) { font-size:29px; line-height:1.25; }
  .jm-contact .contact-context-list dt { font-size:21px; }

  /* Tools remain the page itself; result access is close to the controls. */
  .jm-lab[data-tool] .lab-wrap { width:calc(100% - 40px); }
  .jm-lab .lab-hero-compact,.jm-lab.lab-directory .lab-hero { padding:94px 0 34px; }
  .jm-lab .lab-crumbs { font-size:12px; line-height:1.6; margin-bottom:21px; }
  .jm-lab[data-tool] .lab-hero-compact h1,.jm-lab.lab-directory .lab-hero h1 { font-size:32px; line-height:1.2; letter-spacing:-1.1px; }
  .jm-lab[data-tool] .lab-hero-compact .lab-lead,.jm-lab.lab-directory .lab-hero .lab-lead { font-size:16px; line-height:1.75; margin-top:19px; }
  .jm-lab[data-tool]>.lab-workbench { width:calc(100% - 40px); padding-block:28px 49px; }
  .jm-lab[data-tool] .lab-split { display:grid; grid-template-columns:minmax(0,1fr); gap:35px; }
  .jm-lab[data-tool] :is(.lab-input,.lab-result) { min-width:0; }
  .jm-lab[data-tool] .lab-input :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)),.jm-lab[data-tool] .lab-result :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) { font-size:25px; line-height:1.3; }
  .jm-lab[data-tool] .lab-form-intro { font-size:16px; line-height:1.75; margin-bottom:23px; }
  .jm-lab[data-tool] .lab-fields { grid-template-columns:minmax(0,1fr); gap:21px; }
  .jm-lab[data-tool] .lab-field label { font-size:14px; line-height:1.65; }
  .jm-lab[data-tool] .lab-field :is(input,select,textarea),.jm-lab[data-tool] .lab-result-filters :is(input,select),.jm-lab[data-tool] .lab-schema-choice select { font-size:16px; min-height:51px; padding:12px; }
  .jm-lab[data-tool] .lab-query-controls { display:grid; gap:21px; }
  .jm-lab[data-tool] .lab-network-form .lab-query-controls>.lab-fields { grid-template-columns:minmax(0,1fr); width:100%; }
  .jm-lab[data-tool] .lab-query-controls>.lab-actions { display:flex; flex-wrap:wrap; width:100%; gap:12px; }
  .jm-lab[data-tool] .lab-query-controls>.lab-actions>.lab-button { flex:1; }
  .jm-lab[data-tool] .lab-network-form { margin-bottom:35px; }
  .jm-lab[data-tool] .lab-advanced summary { min-height:48px; font-size:15px; }
  .jm-lab[data-tool] .lab-result-filters { gap:17px; margin-bottom:25px; }
  .jm-lab[data-tool] .lab-empty { min-height:0; padding:25px 20px; }
  .jm-lab[data-tool] .lab-empty strong { font-size:22px; }
  .jm-mobile-worknav { display:flex; align-items:center; gap:5px; padding:5px; background:#f3f5f7; border-radius:7px; margin-bottom:27px; }
  .jm-mobile-worknav a { display:flex; justify-content:center; align-items:center; gap:7px; flex:1; min-height:44px; padding:8px; color:#004a8a; font:650 14px/1.5 JMManrope,Arial,sans-serif; text-decoration:none; text-align:center; }
  .jm-mobile-worknav a[aria-current=location] { background:#004a8a; color:#fff; border-radius:4px; }
  .jm-mobile-worknav a:focus-visible { outline:3px solid #1767aa; outline-offset:3px; }
  .jm-mobile-editor-link { display:inline-flex; align-items:center; min-height:44px; margin-bottom:10px; color:#004a8a; font:600 14px/1.5 JMManrope,Arial,sans-serif; text-decoration:underline; text-underline-offset:4px; }
  .jm-lab :is(#jm-tool-input,#jm-tool-result) { scroll-margin-top:80px; }
  .jm-lab[data-tool] .lab-result-head { gap:14px; flex-wrap:wrap; align-items:center; }
  .jm-lab[data-tool] .lab-view-switch { min-height:44px; }
  .jm-lab[data-tool] .lab-view-switch button { min-height:44px; font-size:14px; padding:10px 13px; }
  .jm-lab[data-tool] .lab-preview-note { font-size:13px; line-height:1.7; }
  .jm-lab[data-tool] .lab-output-actions { display:flex; flex-wrap:wrap; gap:12px 20px; margin-top:23px; }
  .jm-lab[data-tool] .lab-output-actions :is(button,a) { min-height:44px; font-size:14px; }
  .jm-lab[data-tool] .lab-output-actions .lab-button { width:100%; }
  .jm-lab[data-tool] .lab-code { max-width:100%; padding:20px 15px; font-size:13px; overflow-x:auto; }
  .jm-lab[data-tool=schema] .schema-report>:is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)) { font-size:26px; line-height:1.35; }
  .jm-lab[data-tool=schema] .schema-tree { max-height:none; overflow:visible; padding-inline:0; }
  .jm-lab[data-tool=schema] .schema-tree dt { font-size:13px; line-height:1.7; }
  .jm-lab[data-tool=schema] .schema-tree dd { font-size:15px; line-height:1.75; }
  .jm-lab[data-tool=schema] .schema-tree dl>div { padding-block:14px; }
  .jm-lab[data-tool=schema] .report-tabs button { min-height:44px; font-size:14px; }
  .jm-lab[data-tool=schema] .schema-source { font-size:13px; line-height:1.7; }
  .jm-lab .report-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 17px; }
  .jm-lab .report-metric>strong { font-size:30px; }
  .jm-lab .report-metric>span { font-size:14px; }
  .jm-lab .report-brand-head { flex-wrap:wrap; gap:15px; }
  .jm-lab .report-brand-head :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)) { font-size:25px; }
  .jm-lab .report-brand-head p { font-size:14px; overflow-wrap:anywhere; }
  .jm-lab .report-run-state { width:100%; margin-left:0; }
  .jm-lab .roi-result-banner { padding:23px 20px; }
  .jm-lab[data-tool=roi] .roi-result-banner { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
  .jm-lab[data-tool=roi] .roi-result-banner>div:last-child { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:19px; text-align:left; border-left:0; border-top:1px solid rgb(255 255 255 / .3); padding:15px 0 0; }
  .jm-lab[data-tool=roi] .roi-result-banner strong { white-space:nowrap; font-size:29px; }
  .jm-lab[data-tool=roi] .roi-result-banner>div:last-child strong { font-size:29px; }
  .jm-lab[data-tool=roi] .roi-result-banner span { font-size:14px; }
  .jm-lab[data-tool=roi] .roi-report .report-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:23px 18px; margin-block:27px 33px; }
  .jm-lab[data-tool=roi] .roi-report .report-metric { display:flex; flex-direction:column; align-items:start; text-align:left; padding:0; gap:7px; }
  .jm-lab[data-tool=roi] .roi-report .report-metric>strong { font-size:23px; white-space:nowrap; }
  .jm-lab[data-tool=roi] .roi-report .report-metric>span { font-size:13px; line-height:1.65; padding:0; }
  .jm-lab[data-tool=roi] .roi-report .report-metric:last-child { grid-column:1/-1; }
  .jm-lab[data-tool=roi] .roi-chart-panel svg text { font-size:24px; }
  .jm-lab[data-tool=roi] .roi-chart-legend { font-size:13px; line-height:1.65; }
  .jm-lab .lab-monthly .lab-table-wrap { overflow-x:auto; max-width:100%; }
  .jm-lab .lab-monthly table { min-width:620px; }
  .jm-lab .lab-monthly .lab-table-wrap:before { content:'Deslize para ver todos os meses e valores.'; display:block; font-size:12px; padding-bottom:12px; color:#48586b; }
  .jm-lab .roi-scenarios { grid-template-columns:minmax(0,1fr); gap:21px; }
  .jm-lab .roi-scenarios article { padding:19px 0; border:0; }
  .jm-lab .lab-graph { margin-inline:0; }
  .jm-lab .lab-roi-chart { max-width:100%; }
  .jm-lab .lab-reading-section,.jm-lab .lab-example-section,.jm-lab .lab-deeper-section,.jm-lab .lab-related,.jm-lab .lab-explanation,.jm-lab .lab-directory-guide { padding-block:47px; }
  .jm-lab .lab-explain-copy :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)),.jm-lab .lab-related :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)),.jm-lab .lab-reading-section :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) { font-size:28px; line-height:1.3; }
  .jm-lab :is(.lab-explain-copy p,.lab-guide-content p,.lab-reading-section p,.lab-deeper-section p) { font-size:16.5px; line-height:1.8; }
  .jm-lab .lab-reading-art { max-width:100%; }
  .jm-lab .lab-reading-art img { border-radius:8px; }
  .jm-lab .lab-related-grid { gap:32px; }
  .jm-lab.lab-directory .lab-catalog { padding-block:43px 50px; }
  .jm-lab.lab-directory .lab-catalog-heading :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) { font-size:29px; }
  .jm-lab.lab-directory .lab-categories { display:flex; flex-wrap:nowrap; gap:8px; overflow-x:auto; margin:24px -20px 0; padding:0 20px 8px; }
  .jm-lab.lab-directory .lab-categories button { flex:none; min-height:44px; font-size:14px; }
  .jm-lab.lab-directory .lab-catalog-grid { gap:37px; }
  .jm-lab.lab-directory .lab-catalog-cover { margin-bottom:21px; border-radius:9px; }
  .jm-lab.lab-directory .lab-catalog-tool :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)) { font-size:25px; line-height:1.3; }
  .jm-lab.lab-directory .lab-catalog-tool>p:not(.lab-kicker) { font-size:16px; }
  .jm-lab .audit-visual>.report-brand-head { padding:0 0 25px; gap:17px; }
  .jm-lab .audit-visual .report-brand-head :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) { font-size:27px; }
  .jm-lab .audit-header-actions { width:100%; justify-content:space-between; }
  .jm-lab .audit-export { font-size:14px; min-height:48px; padding:12px 16px; }
  .jm-lab .audit-visual .audit-app-layout { grid-template-columns:minmax(0,1fr); gap:25px; }
  .jm-lab .audit-visual .audit-sidebar { display:flex; flex-direction:row; gap:23px; overflow-x:auto; padding:0 0 6px; border:0; }
  .jm-lab .audit-visual .audit-sidebar button { flex:none; min-height:48px; padding:10px 0; font-size:14px; width:auto; }
  .jm-lab .audit-visual .audit-main { padding:0; }
  .jm-lab .audit-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); gap:23px 17px; }
  .jm-lab .audit-kpi strong { font-size:34px; }
  .jm-lab .audit-kpi span { font-size:13px; line-height:1.6; }
  .jm-lab .audit-chart-grid { grid-template-columns:minmax(0,1fr); gap:29px; }
  .jm-lab .audit-category-row { grid-template-columns:119px minmax(0,1fr) 20px; font-size:13px; min-height:43px; gap:9px; }
  .jm-lab .audit-chart-axis { margin-left:128px; margin-right:29px; font-size:12px; }
  .jm-lab .audit-http-content { display:flex; flex-direction:row; gap:14px; }
  .jm-lab .audit-http-content>svg { flex:none; width:140px; height:140px; margin:0; }
  .jm-lab .audit-http-legend li { font-size:13px; }
  .jm-lab .audit-finding-copy strong { font-size:16px; line-height:1.6; }
  .jm-lab .audit-finding-copy small { font-size:13px; line-height:1.7; }
  .jm-lab .audit-map th:first-child { position:sticky; left:0; z-index:1; background:#fff; }
  .jm-lab .audit-map thead th:first-child { z-index:2; }
  .jm-lab .report-table-scroll:has(.jm-mobile-report)::before { display:none; }
  .jm-lab .report-data-table.jm-mobile-report { display:block; width:100%; min-width:0; }
  .jm-lab .jm-mobile-report thead { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
  .jm-lab .jm-mobile-report tbody { display:block; }
  .jm-lab .jm-mobile-report tbody tr { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 20px; padding:22px 0; background:none; border-bottom:1px solid #dce3e9; }
  .jm-lab .jm-mobile-report tbody tr:nth-child(even) { background:none; }
  .jm-lab[data-tool] .report-data-table.jm-mobile-report tbody :is(th,td) { display:block; width:auto; min-width:0!important; padding:0!important; font-size:14px!important; font-weight:400; white-space:normal!important; border:0; background:none; text-align:left; }
  .jm-lab[data-tool] .report-data-table.jm-mobile-report tbody tr { background:none; }
  .jm-lab .jm-mobile-report :is(th,td):first-child { grid-column:1/-1; }
  .jm-lab .jm-mobile-report td:last-child { align-self:end; }
  .jm-lab .jm-mobile-report :is(th,td):before { content:attr(data-mobile-label); display:block; font-size:11px; font-weight:550; line-height:1.6; color:#687988; margin-bottom:3px; }
  .jm-lab .jm-mobile-report :is(th,td):first-child:before { display:none; }
  .jm-lab .jm-mobile-report .report-page-link { font-size:16px; white-space:normal; overflow-wrap:anywhere; }
  .jm-lab .jm-mobile-report .report-detail-button { min-height:44px; font-size:14px; }
  .jm-lab .audit-visual .jm-mobile-report tbody tr { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .jm-lab .audit-visual .jm-mobile-report tbody th { order:0; }
  .jm-lab .audit-visual .jm-mobile-report td:nth-child(3) { grid-column:1/-1; order:1; }
  .jm-lab .audit-visual .jm-mobile-report td:nth-child(2) { order:2; }
  .jm-lab .audit-visual .jm-mobile-report td:nth-child(4) { order:3; }
  .jm-lab .audit-visual .jm-mobile-report td:nth-child(5) { order:4; }
  .jm-lab .audit-visual .jm-mobile-report td:last-child { order:5; grid-column:1/-1; }
  .jm-lab .audit-visual .jm-mobile-report td:last-child:before { display:none; }
  .jm-lab .audit-page-dialog { width:calc(100% - 24px); max-height:calc(100dvh - 32px); padding:0; border-radius:9px; }
  .jm-lab .audit-page-dialog>header { gap:15px; padding:18px; }
  .jm-lab .audit-page-dialog>header :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) { font-size:20px; line-height:1.4; }
  .jm-lab .audit-page-dialog [data-dialog-close] { width:44px; height:44px; }
  .jm-lab .audit-page-dialog [data-dialog-body] { padding:0 18px 21px; }
  .jm-lab .audit-page-dialog .lab-table-wrap { max-width:100%; overflow-x:auto; }
  .jm-lab .audit-page-dialog .lab-table-wrap:before { content:'Deslize para ver todas as colunas.'; display:block; font-size:12px; color:#48586b; padding-bottom:12px; }
  .jm-lab .audit-page-dialog .lab-table-wrap table { min-width:510px; table-layout:auto; }

  /* Footer links remain available in native, keyboard-operable sections. */
  body.jm-conexao .site-footer { padding-top:37px; }
  body.jm-conexao .site-footer .footer-directory { display:flex; gap:0; }
  body.jm-conexao .site-footer .footer-identity { order:0; display:grid; grid-template-columns:1fr; gap:13px; margin-bottom:26px; }
  body.jm-conexao .site-footer .footer-identity .brand { width:190px; height:63px; margin:0; }
  body.jm-conexao .site-footer .footer-identity .brand-art,body.jm-conexao .site-footer .footer-identity .brand-art img { width:190px!important; height:63px!important; }
  body.jm-conexao .site-footer .footer-identity>p { max-width:none; font-size:14px; line-height:1.7; }
  body.jm-conexao .site-footer .footer-contact { order:1; padding:0 0 23px; margin-bottom:8px; }
  body.jm-conexao .site-footer .footer-contact :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) { font-size:19px; margin-bottom:12px; }
  body.jm-conexao .site-footer .footer-contact a.footer-contact-link { font-size:15px; min-height:44px; margin:0; gap:12px; }
  body.jm-conexao .site-footer .footer-nav { order:2; padding:0; }
  body.jm-conexao .site-footer .footer-services { order:3; }
  .jm-mobile-footer-section { border-top:1px solid rgb(255 255 255 / .22); }
  .jm-mobile-footer-section>summary { display:flex; align-items:center; justify-content:space-between; gap:15px; min-height:65px; cursor:pointer; list-style:none; color:#fff; }
  .jm-mobile-footer-section>summary::-webkit-details-marker { display:none; }
  .jm-mobile-footer-section>summary:after { content:'+'; font:400 25px/1 JMInter,Arial,sans-serif; }
  .jm-mobile-footer-section[open]>summary:after { content:'−'; }
  body.jm-conexao .site-footer .jm-mobile-footer-section :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)) { font-size:18px; margin:0; }
  body.jm-conexao .site-footer .jm-mobile-footer-section :is(h2:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h2)):after { display:none; }
  body.jm-conexao .site-footer .jm-mobile-footer-section ul { display:grid; grid-template-columns:minmax(0,1fr); gap:0; padding-bottom:21px; }
  body.jm-conexao .site-footer .jm-mobile-footer-section a { display:flex; align-items:center; min-height:44px; padding:10px 0; font-size:15px; line-height:1.6; }
  body.jm-conexao .site-footer .footer-bottom { margin-top:19px; padding:18px 0 27px; font-size:12px; }
  body.jm-conexao .site-footer .footer-atmosphere { background-size:190px; opacity:.25; }
  body.jm-conexao .whatsapp-float { width:54px; height:54px; right:16px; bottom:calc(74px + env(safe-area-inset-bottom)); box-shadow:0 3px 12px rgb(0 45 84 / .17); }
  body.jm-conexao .whatsapp-float svg { width:30px; height:30px; }
  body.jm-conexao .back-to-top { width:44px; height:44px; right:21px; bottom:calc(18px + env(safe-area-inset-bottom)); }
  body.jm-conexao:has(main input:focus,main textarea:focus,main select:focus,.mobile-menu[open]) :is(.whatsapp-float,.back-to-top),body.jm-mobile-footer-visible :is(.whatsapp-float,.back-to-top),body.jm-mobile-conversion-visible :is(.whatsapp-float,.back-to-top) { opacity:0; visibility:hidden; pointer-events:none; }
  body.jm-conexao:not(.jm-blog) main.jm-document { padding-top:100px; padding-bottom:50px; }
  .jm-document h1 { font-size:33px; line-height:1.2; }
  .jm-document .entry-content { font-size:16.5px; line-height:1.85; }
  .jm-document .search-form { display:grid; gap:12px; margin-top:24px; }
  .jm-document .search-form label { display:grid; gap:8px; }
  .jm-document input[type=search] { width:100%; min-height:51px; border:1px solid #8092a4; border-radius:6px; padding:12px; font-size:16px; }
  .jm-document input[type=submit] { min-height:50px; padding:12px 20px; border:0; border-radius:6px; background:#5bdf66; color:#002d54; font:700 16px/1.5 JMManrope,Arial,sans-serif; }
  .jm-document .post :is(h3:not(:where(.jm-semantic-h3,.jm-semantic-h4)),:where(.jm-semantic-h3)) { font-size:24px; line-height:1.35; }
  .jm-document .post-excerpt { font-size:16px; line-height:1.8; }
  .jm-document .search-form+a.button { display:inline-flex; width:auto; min-height:44px; margin-top:19px; padding:0; background:transparent; font-size:15px; text-decoration:underline; }
}
@media screen and (max-width:600px) {
  body.admin-bar .hbox-site-header.is-scrolled { top:0; }
  body.admin-bar .hbox-site-header.is-scrolled .mobile-menu>nav { top:56px; max-height:calc(100dvh - 56px); }
}
@media screen and (max-width:380px) {
  .hero-personal h1 { font-size:32px; }
  .hero-personal .hero-kicker { font-size:11px; }
  .hero-personal .hero-description { font-size:16px; }
  .jm-blog main .blog-article-heading h1 { font-size:29px; }
  .jm-lab .audit-http-content { flex-direction:column; align-items:start; }
  .jm-lab .audit-http-legend { display:grid; width:100%; grid-template-columns:minmax(0,1fr); }
  .jm-lab[data-tool=roi] .roi-report .report-metrics { grid-template-columns:minmax(0,1fr); }
  .jm-lab[data-tool=roi] .roi-report .report-metric { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:15px; }
  .jm-lab[data-tool=roi] .roi-report .report-metric>strong { grid-column:2; grid-row:1; font-size:21px; }
  .jm-lab[data-tool=roi] .roi-report .report-metric>span { grid-column:1; grid-row:1; }
}

}
/* assets/css/conversion-quality.css */
/* Follow the existing palette and components; no new global layout or typography. */
.jm-form-next{margin:20px 0 0!important;color:#48586b!important;font-size:14px!important;line-height:1.7!important;max-width:64ch}
.jm-early-proof{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 16px;margin:26px 0 0;font-size:14px;line-height:1.7;max-width:78ch}
.jm-early-proof a{color:inherit;text-decoration:underline;text-underline-offset:4px;font-weight:700}
.jm-home-proof .jm-early-proof{padding-bottom:24px;margin-top:0;color:#002d54}
.svc-hero .jm-early-proof,.audit-hero .jm-early-proof{color:#fff}
.jm-contracting-editorial .jm-ca-stage-label>span,.jm-contracting-audit .jm-ca-stage-label>span{max-width:48ch;line-height:1.6}
.jm-lab[data-tool=serp] .serp-fit-feedback>div>span{color:#526174}
.jm-delivery-sample{grid-column:1/-1;background:#f3f5f7;padding:32px 36px;margin:8px 0 0;color:#002d54}
.jm-delivery-sample figcaption{font:650 13px/1.6 JMInter,Arial,sans-serif;color:#48586b;margin:0 0 14px}
.audit-page .jm-delivery-sample h3{font-size:24px;line-height:1.35;margin:0 0 22px;max-width:38ch;color:#002d54}
.jm-delivery-sample dl{margin:0}
.jm-delivery-sample dl>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;padding:13px 0}
.jm-delivery-sample dt{font-weight:700;font-size:14px}
.jm-delivery-sample dd{margin:0;font-size:15px;line-height:1.8;color:#48586b;max-width:75ch}
.jm-delivery-sample code{font-size:14px;overflow-wrap:anywhere;color:#002d54;white-space:normal}
@media(max-width:767px){
 .jm-home-proof .jm-early-proof{padding:0 20px 24px;margin:0;display:block;font-size:14px}
 .jm-home-proof .jm-early-proof a{display:inline-block;margin-top:8px;min-height:32px}
 .jm-early-proof{font-size:14px;gap:8px;margin-top:22px}
 .jm-delivery-sample{padding:24px 20px;margin-top:0}
 .audit-page .jm-delivery-sample h3{font-size:22px}
 .jm-delivery-sample dl>div{grid-template-columns:1fr;gap:4px;padding:12px 0}
 .jm-form-next{font-size:14px!important}
}

.jm-sample-section{padding-bottom:80px}
.svc-contact,.audit-contact,#contratacao{scroll-margin-top:110px}
@media(max-width:767px){.jm-sample-section{padding-bottom:48px}.jm-home-proof .jm-early-proof{padding-inline:0}}
@media(max-width:767px){
 .svc-contact,.audit-contact,#contratacao{scroll-margin-top:80px}
 body.jm-mobile-action-collision :is(.whatsapp-float,.back-to-top){opacity:0;visibility:hidden;pointer-events:none}
}

/* assets/css/editorial-surfaces.css */
/* Individual articles and cases only. The global header and footer are untouched. */
.jm-editorial-detail main .blog-article-header {
  --type-display:clamp(40px,3.65vw,58px);
  --type-leading-display:1.12;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:100%;
  max-width:none;
  margin:0;
  padding:126px max(32px,calc((100% - 1180px)/2)) 36px;
  background:#004a8a;
  color:#fff;
}
.jm-editorial-detail main .blog-article-header::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:url('https://juanmoura.com/wp-content/themes/juan-moura-conexao/assets/images/puzzle-weave.svg') repeat;
  background-size:240px;
  opacity:.055;
  pointer-events:none;
}
.jm-editorial-detail main .blog-article-header .blog-breadcrumbs {
  margin:0;
  font-size:13px;
  line-height:1.6;
  color:rgb(255 255 255 / .88);
}
.jm-editorial-detail main .blog-article-header .blog-breadcrumbs :is(a,span,li,ol) {color:inherit}
.jm-editorial-detail main .blog-article-header .blog-breadcrumbs li+li::before {color:rgb(255 255 255 / .65)}
.jm-editorial-detail main .blog-article-header .blog-article-heading {max-width:1000px;margin:22px auto 0}
.jm-editorial-detail main .blog-article-header .blog-article-category {
  min-height:0;
  padding:0;
  margin:0;
  color:rgb(255 255 255 / .88);
  font-size:13px;
  line-height:1.6;
  background:none;
}
.jm-editorial-detail main .blog-article-header h1 {margin:12px 0 0;color:#fff}
.jm-editorial-detail main .blog-article-heading>p:not(.blog-article-category) {
  max-width:780px;
  margin:18px auto 0;
  color:rgb(255 255 255 / .9);
  font-size:18px;
  line-height:1.65;
}
.jm-editorial-detail main .blog-article-header .blog-article-meta {margin:24px auto 0;gap:12px 24px}
.jm-editorial-detail main .blog-article-header .blog-article-meta>span:not(.blog-article-meta-divider) {color:#fff}
.jm-editorial-detail main .blog-article-header .blog-article-meta :is(strong,time) {color:#fff}
.jm-editorial-detail main .blog-article-header .blog-article-meta small {color:rgb(255 255 255 / .85)}
.jm-editorial-detail main .blog-article-header a:focus-visible {outline-color:#fff}
.jm-editorial-detail main :is(.blog-article-cover,.case-brand-cover) {margin-top:32px}
.jm-editorial-detail main .blog-article-theme {background:#fff}
.jm-editorial-detail main .blog-article-layout {padding-top:52px;padding-bottom:64px}

.jm-editorial-detail main :is(.blog-related,.case-related) {
  width:100%;
  max-width:none;
  margin:0;
  padding:64px max(32px,calc((100% - 1180px)/2)) 76px;
  border:0;
  background:#004a8a;
  color:#fff;
}
.jm-editorial-detail main :is(.blog-related,.case-related)>header {margin-bottom:32px;gap:24px}
.jm-editorial-detail main :is(.blog-related,.case-related) :is(h2,h3,h3 a) {color:#fff}
.jm-editorial-detail main :is(.blog-related,.case-related)>header>a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding-block:8px;
  color:#fff;
  font-size:16px;
  font-weight:650;
  text-decoration:underline;
  text-underline-offset:5px;
}
.jm-editorial-detail main .case-related .blog-section-heading>a {color:#fff}
.jm-editorial-detail main :is(.blog-related,.case-related) .section-index {color:rgb(255 255 255 / .85)}
.jm-editorial-detail main :is(.blog-related,.case-related) .blog-card {background:none;border:0;box-shadow:none}
.jm-editorial-detail main :is(.blog-related,.case-related) .blog-card-image {border-radius:8px}
.jm-editorial-detail main :is(.blog-related,.case-related) .blog-card-body>p {color:rgb(255 255 255 / .9)}
.jm-editorial-detail main :is(.blog-related,.case-related) :is(.blog-card-meta,.blog-card-meta a,.blog-card-footer,.blog-card-footer a,.collection-card-context) {color:rgb(255 255 255 / .85)}
.jm-editorial-detail main :is(.blog-related,.case-related) .blog-card-footer a {color:#fff;text-decoration:underline;text-underline-offset:5px}
.jm-editorial-detail main :is(.blog-related,.case-related) .collection-button {background:#5bdf66;color:#002d54}
.jm-editorial-detail main :is(.blog-related,.case-related) .collection-button:hover {background:#4bd15a}
.jm-editorial-detail main :is(.blog-related,.case-related) a:focus-visible {outline-color:#fff}
.jm-editorial-detail main :is(.blog-related,.case-related) h3 a:hover {text-decoration:underline;text-underline-offset:5px}

@media(max-width:1000px) and (min-width:768px) {
  .jm-editorial-detail main .blog-article-header {padding-top:116px}
}
@media(max-width:767px) {
  .jm-editorial-detail main .blog-article-header {
    --type-display:clamp(29px,8vw,36px);
    --type-leading-display:1.2;
    padding:92px 20px 28px;
  }
  .jm-editorial-detail main .blog-article-header::before {background-size:200px;opacity:.045}
  .jm-editorial-detail main .blog-article-header .blog-breadcrumbs {font-size:12px;margin-bottom:0}
  .jm-editorial-detail main .blog-article-header .blog-breadcrumbs ol>li:last-child {
    display:block;
    max-width:100%;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    overflow-wrap:anywhere;
  }
  .jm-editorial-detail main .blog-article-header .blog-article-heading {margin-top:20px}
  .jm-editorial-detail main .blog-article-header .blog-article-category {font-size:12px;margin:0}
  .jm-editorial-detail main .blog-article-header h1 {margin-top:11px}
  .jm-editorial-detail main .blog-article-heading>p:not(.blog-article-category) {font-size:16px;line-height:1.7;margin-top:16px}
  .jm-editorial-detail main .blog-article-header .blog-article-meta {gap:14px 15px;margin-top:23px}
  .jm-editorial-detail main :is(.blog-article-cover,.case-brand-cover) {margin-top:24px}
  .jm-editorial-detail main .blog-article-layout {padding-top:28px;padding-bottom:44px}
  .jm-editorial-detail main :is(.blog-related,.case-related) {padding:44px 20px 54px}
  .jm-editorial-detail main :is(.blog-related,.case-related)>header {align-items:start;gap:18px;margin-bottom:28px}
  .jm-editorial-detail main :is(.blog-related,.case-related)>header>a {font-size:14px;white-space:normal}
}

